24 Mart 2007

Cache Ile Basit Bir Ajax Uygulamasi

Bu uygulamada sayfada bir text kutusu ve ara dugmesi yer alacak, ara dendigi zaman kriterlere uygun sehirleri listeleyecek. Oncelikle SEHIRKODU ve SEHIRADI propertylerine sahip KOD.SEHIR adinda bir class olusturalim. Sonra soyle bir ekran tasarlayalim ;
Arama sonuclarini gosterebilmek icin sonuc adinda bir div yerlestirmemiz gerekiyor. Ara dugmesine tiklaninca calisacak fonksiyon asagida ;
 function ara(zval) {
var zsnc=#server(..ara(zval))#;
var zobj=self.document.getElementById("sonuc");
zobj.innerHTML=zsnc;
}
ve bu fonksiyonun baglantili oldugu server metodumuz ;

Sonuc ;

20 Mart 2007

Cachede Bir Sorgu Calistirmak

Önce sorgu sınıfımızı tanımlıyoruz ;
S RS=##class(%Library.ResultSet).%New()

Sorgumuzu hazırlıyoruz ;
D RS.Prepare("SELECT * FROM TEST.HASTALAR")

Sorgumuzu calıştırıyoruz. ;
D RS.Execute()

Sonuçları ekrana yazdırıyoruz ;
WHILE (RS.Next()) {
W !,RS.GetData(1)
}

Technorati Tags: , , ,

15 Mart 2007

Javascript ile Div'i yatay ve dikey ortalama

Öncelikle div elemanını alalım.
var zobj=self.document.getElementById(zid);

Görünür yapalım.(tabi eğer değilse. offsetHeight değerini alabilmek için gerekiyor.)
zobj.style.display="block";

Genişliğini ve yüksekliğini bulalım.
var zw = parseInt(zobj.style.width);
var zh = zobj.offsetHeight;

Pencerenin üst noktasının olması gereken yerini hesaplayalım.
var zt = ((screen.height/2)-(zh/2))/2;

Üst kısmını ayarlayalım.
zobj.style.top=zt+"px";

Sol tarafı ayarlayalım.
zobj.style.left=(screen.width-zw)/2;

10 Mart 2007

Cache Terminalde Namespace Degistirmek



Cache Terminalde bulundugunu namespacaden bir baskasina gecmek icin ;



USER> "DIGERNS"



yada lokal bior degisken yardimi ile ;



USER> S ZYENI="DIGERNS" ZN ZYENI





Technorati Tags:

8 Mart 2007

Cache ve Karakter Streamlar

Yeni bir nesne oluşturuyorum;
   S ZSTREAM=##CLASS(%Library.FileCharacterStream).%New()

İçeriğini okumak istediğim dosya adını giriyorum;
   S ZSTREAM.Filename="C:\deneme.txt"

While yardımı ile önce karakterleri bir lokal değişkene alıyorum, sonra ekrana yazdırıyorum;
   WHILE ('ZSTREAM.AtEnd) {
S ZSTR=ZSTREAM.ReadLine()
W !,ZSTR
}

İşim bitti nesneyi kapatıyorum.
   D ZSTREAM.%Close()

4 Mart 2007

Cache Property Erisim

Once Asagidaki Classi olusturuyorum.

Class TEST.HASTA Extends %Persistent [ ClassType = persistent, ProcedureBlock ]
{
Property ADI As %String;
Property SOYADI As %String;
}

terminalde ;
S ZOBJ=##class(TEST.HASTA).%New()
S $ZOBJPROPERTY(ZOBJ,"ADI")="TESTAD"
S $ZOBJPROPERTY(ZOBJ,"SOYADI")="TESTSOYAD"
;
W !,$ZOBJPROPERTY(ZOBJ,"ADI")
W !,$ZOBJPROPERTY(ZOBJ,"SOYADI")

1 Mart 2007

Java ile Bir Text Dosyanin Icerigini Okumak

Burada try-catch blogu kullanarak olasi hatalara karsi programi korumus oluyoruz. Eger dosya ile ilgili bir sorun cikarsa, konsola file not found yazacak. Ayrica import java.io.*; eklemeyi unutmayin.

public static void main(String[] args) throws IOException
{
FileInputStream zfile;
try {
zfile = new FileInputStream("c:\\deneme.txt");
} catch(FileNotFoundException e) {
System.out.println("File Not Found");
return;
}
while (zfile.available()>0) {
System.out.print((char) zfile.read());
}
zfile.close();
}

Java ile Konsoldan Bilgi Girdisi Saglamak

Javada bu isi yapmak icin bir komut yok, streamlari kullanarak bir yontemde siz gelistirebilirsiniz. Asagidaki kodun calismasi icin import java.io.*; satirinin eklenmesi gerekiyor.

public static void main(String[] args)
throws IOException
{
char zc;
BufferedReader zbr = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Giris Yapiniz (^-cikis) : ");
do {
zc=(char) zbr.read();
} while(zc!='^');
}
}

27 Şubat 2007

Java ile extends kullanımı

Extends bir sınıfın bütün elemanlarına nesne oluşturmadan direk erişim amacıyla kullanılıyor. Aşağıdaki örnekte Matematik sınıfı iki sayı arasında 4 işlem yapan metotlara sahip. Matematik2 sınıfı ise extends Matematik ile, Matematik sınıfının tüm metotlarını içine alıyor ve birde 3 sayı arasında toplam yapan metot tanımlıyor. Sonuç olarak Matematik sınıfının tüm metotlarını kullanmak için (tabiki erişim kontrolüne göre) Matematik2 sınıfında bir nesne oluşturmam yeterli.

public class MatematikTest extends Matematik {
// deneme icin kullanacagim main metodu
public static void main(String args[]) {
// deneme icin iki tane nesne bir Matematik digeri Matematik2
Matematik MatTest = new Matematik();
Matematik2 MatTest2 = new Matematik2();
// Bolme Yaptiriyorum 1. version
System.out.println(MatTest.Bolum(10,1));
// Toplama 1. version
System.out.println(MatTest2.Toplam(1,2));
// Toplama 2. version (Buraya dikkat!)
System.out.println(MatTest2.Toplam(1,1,2));
// Carpma 1. version
System.out.println(MatTest2.Carpim(5,6));
// Carpma 1. version
System.out.println(MatTest.Carpim(1,9));
}
}
// once iki sayi arasinda 4 islem yapan bir sinif olusturuyorum.
class Matematik {
public int Toplam(int sayi1,int sayi2) {
return (sayi1+sayi2);
}
public int Fark(int sayi1,int sayi2) {
return (sayi1-sayi2);
}
public int Carpim(int sayi1,int sayi2) {
return (sayi1*sayi2);
}
public float Bolum(float sayi1,float sayi2) {
if(sayi2>0) {
return (sayi1/sayi2);
} else {
return 0;
}
}
}
// 3 sayi arasinda toplama islemi yapan bir sinif olusturuyorum.
// bu sinif extends'i Matematik sinifi
class Matematik2 extends Matematik {
public int Toplam(int sayi1,int sayi2,int sayi3) {
return (sayi1+sayi2+sayi3);
}
}

24 Şubat 2007

Javascript ile yapılandırıcılar (constructors)

 function Dikdortgen(zuzun,zkisa) {
this.uzun = zuzun;
this.kisa = zkisa;
this.Alan = Alan;

function Alan() {
return (this.uzun * this.kisa);
}
}

var benimKutu = new Dikdortgen(3,5);
alert(benimKutu.Alan());

Javascript ile basit nesneler

   // basit nesne tanimlama
function Kopek() {
alert("hav hav");
};

// var anahtari ile nesne tanimlama
var Kedi = function() { alert("miyav"); };

// var anahtari ile nesne 2
var Esek = new function(){ alert("ai ai"); };

// tanimlanan nesneleri metot olarak kullanma;
Kedi();
Kopek();

// biraz daha gelismis bir nesne tanimlama
function Hayvanlar() {
this.Kedi = Kedi;
this.Kopek = Kopek;

function Kedi() {
alert("miyavvvvvvvvvvvv");
}

function Kopek() {
alert("hirrrrrrrrr hav hav");
}
}

// nesneyi kullanmak icin alma
var benimHayvanlar = new Hayvanlar();

// nesneye ait bir metodu kullanma
benimHayvanlar.Kedi();

Java ve Asal Sayılar

Java ile 1 den 10 e kadar olan asal sayilarin ekrana yazdirilmasi. Asal sayi
sadece bire ve kendisine bolunebilen sayilardir.

public class Asal {

public Asal() {
}

public static void main (String args[]) {
int sayac1;
int sayac2;
boolean asal;
for(sayac1=1;sayac1<=100;sayac1++) {
asal = true;
for(sayac2=2;sayac2<sayac1;sayac2++) {
if(sayac1%sayac2==0){asal=false;break;}
}
if(asal==true){System.out.println(sayac1);}
}
}
}

Java ve Yapılandırıcılar

Programinizda yeni bir nesne olustururken, bu nesnenin bazi ozelliklerini olusma aninda belirmek isteyebilirsiniz. Burada yapilandiricilar devreye giriyor.
public class Kopek {
// kopek sinifi icin adi alani olusturuyorum.
String Adi;

// Bu sinif icin bir yapilandirici tanimliyorum.
Kopek(String zad) {
Adi = zad;
}
// Bu sinif icin bos bir yapilandirici tanimliyorum.
// eger ilk etapta ozellik belirlemeden nesne olusturacaksam
// bu kullanilacak.
Kopek() {
}

public static void main (String args[]) {
Kopek kpkBobi = new Kopek("bobi");
Kopek kpkPotuk = new Kopek();
kpkPotuk.Adi = "potuk";
System.out.println(kpkBobi.Adi);
System.out.println(kpkPotuk.Adi);
}
}