Merhabalar arkadaşlar,
Bir önceki makalemizde TMS Web Core projemizde Delphi tarafında HTML içeriğine nasıl müdahale ederiz konusuna değinmiştik. Bu makalede de isteğe bağlı .js (Javascript) dosyalarını nasıl kullanabiliriz bundan bahsedeceğim. Gerçi aramızdan bazıları yine "aaa bu unigui'de de vardı zaten" diyecekler ama ben yine de paylaşayım. UniGui'de de Javascript dosyası kullanmış birisi olarak TMS'de bu işin daha rahat olduğunu söyleyebilirim.
Bu örnekte kullanmak istediğim JavaScript kütüphanesi Moment.js (http://www.momentjs.com)
Bu kütüphane, tarih ve saat verilerini ayıklama, doğrulama, değiştirme ve görüntüleme vb. gibi bir çok alanda kullanabilme imkanı sağlıyor. Çoklu dil desteği de var.
NOT : Buradaki verileri Delphi kodu ile halledebiliriz. Burada amaç tamamen JS dosyalarının nasıl kullanıldığını göstermek. Sırf tarih saat olarak düşünmeyin, açık kaynak kodlu binlerce javascript kütüphanesi var.
Yukarıdaki resimdeki .add fonksiyonunu kullanıp istediğim tarihi elde etmek istiyorum.
Moment.Js dosyamızı indirdikten sonra, projeme sağ tıklayıp "Add.." ile dosya ekliyorum :
Açılan pencereden JavaScript dosyamızı seçiyoruz :
Sonra, Projemizin HTML kodunu açarak aşağıdaki şekilde Javascript dosyamızı ekliyoruz. Buraya kadar olan kısım her HTML geliştiricisinin bildiği şeyler :
Ardından projemin ekran tasarımına bir Adet SpinEdit, bir adet ComboBox, Bir düğme ve Label kontrolü ekliyorum. ComboBox'un Items Özelliğine "minutes, days, weeks" değerlerini ekliyorum. (Bunları Türkçe olarak da kullanabiliriz ama konuyu uzatmamak için orijinali gibi kullanıp hızlı geçtim )
Şimdi geldik Delphi tarafında JavaScript kodumuzu nasıl yazacağımıza; Bunun için kodu yazarken Begin-End Bloğu arasında ASM diye bir alan ekliyoruz. Ve tüm JavaScript işlemlerini orada hallediyoruz. Burada noktalama işaretleri de JavaScript'te nasılsa öyle olacak. Mesela eşittir yapmak için := yerine normal = kullanıyoruz :
Num isimli değişkene SpinEdit'in değerini, period isimli değişkene dakika, gün veya haftayı aktardıktan sonra Label üzerinde bu değeri gösteriyorum. Örnekte bugünden itibaren 3 gün sonrasını seçtim :
Görüldüğü gibi, bugün perşembe olduğu için ve 3 gün sonrası da Pazar gününe denk geldiği için, alt kısımda "Gelecek Pazar saat 10:31" şeklinde bir değere ulaştık. Bu veriyi de istediğimiz gibi parse edebilir, delphi tarafında da yine sorunsuz olarak kullanabiliriz.
TMS Web Core'da Javascript kullanmak da diğer tüm şeyler gibi çok kolay. Şimdiye kadar yaptığım tüm paylaşımlarda herkes genelde uniGUI ile kıyaslama yapıyor, burada şunu vurgulamak istiyorum; Ben kimseye UniGUI'yi bırakın da TMS'ye geçin demiyorum. Burada amacımız, Delphi ile web geliştirme seçeneklerinin çokluğunu vurgulamak. Yani sadece IntraWEB veya UniGUI değil, bir de TMS WEB Core diye bir alternatif de var demek için paylaşıyorum. Hepsinin de kendine göre avantajları/dezavantajları var. Ben şirket içi (Intranet) uygulamalarında halen UniGUI kullanıyorum, ama yüzlerce, binlerce kişinin kullanacağı uygulamalara gelince UniGUI hantal çalışıyor, TMS Daha cazip hale geliyor. Burada tercih şansınızı kullanabilmek için, diğer framework'leri de iyi bilip kıyaslayabilmek gerekiyor. Paylaşımlarımın özü budur
Buraya kadar okuduğunuz için teşekkür ederim.
Sevgiler, saygılar.
Bir önceki makalemizde TMS Web Core projemizde Delphi tarafında HTML içeriğine nasıl müdahale ederiz konusuna değinmiştik. Bu makalede de isteğe bağlı .js (Javascript) dosyalarını nasıl kullanabiliriz bundan bahsedeceğim. Gerçi aramızdan bazıları yine "aaa bu unigui'de de vardı zaten" diyecekler ama ben yine de paylaşayım. UniGui'de de Javascript dosyası kullanmış birisi olarak TMS'de bu işin daha rahat olduğunu söyleyebilirim.
Bu örnekte kullanmak istediğim JavaScript kütüphanesi Moment.js (http://www.momentjs.com)
Bu kütüphane, tarih ve saat verilerini ayıklama, doğrulama, değiştirme ve görüntüleme vb. gibi bir çok alanda kullanabilme imkanı sağlıyor. Çoklu dil desteği de var.
NOT : Buradaki verileri Delphi kodu ile halledebiliriz. Burada amaç tamamen JS dosyalarının nasıl kullanıldığını göstermek. Sırf tarih saat olarak düşünmeyin, açık kaynak kodlu binlerce javascript kütüphanesi var.
Yukarıdaki resimdeki .add fonksiyonunu kullanıp istediğim tarihi elde etmek istiyorum.
Moment.Js dosyamızı indirdikten sonra, projeme sağ tıklayıp "Add.." ile dosya ekliyorum :
Açılan pencereden JavaScript dosyamızı seçiyoruz :
Sonra, Projemizin HTML kodunu açarak aşağıdaki şekilde Javascript dosyamızı ekliyoruz. Buraya kadar olan kısım her HTML geliştiricisinin bildiği şeyler :
Ardından projemin ekran tasarımına bir Adet SpinEdit, bir adet ComboBox, Bir düğme ve Label kontrolü ekliyorum. ComboBox'un Items Özelliğine "minutes, days, weeks" değerlerini ekliyorum. (Bunları Türkçe olarak da kullanabiliriz ama konuyu uzatmamak için orijinali gibi kullanıp hızlı geçtim )
Şimdi geldik Delphi tarafında JavaScript kodumuzu nasıl yazacağımıza; Bunun için kodu yazarken Begin-End Bloğu arasında ASM diye bir alan ekliyoruz. Ve tüm JavaScript işlemlerini orada hallediyoruz. Burada noktalama işaretleri de JavaScript'te nasılsa öyle olacak. Mesela eşittir yapmak için := yerine normal = kullanıyoruz :
Kod: (Select All)
procedure TForm1.WebButton1Click(Sender: TObject);
var
num : Integer;
period, time : string;
begin
num := WebSpinEdit1.Value;
period := WebComboBox1.Items[WebComboBox1.ItemIndex];
asm
moment.locale("TR-tr");
time = moment().add(num, period).calendar();
end;
WebLabel3.Caption := time;
end;
end.
Num isimli değişkene SpinEdit'in değerini, period isimli değişkene dakika, gün veya haftayı aktardıktan sonra Label üzerinde bu değeri gösteriyorum. Örnekte bugünden itibaren 3 gün sonrasını seçtim :
Görüldüğü gibi, bugün perşembe olduğu için ve 3 gün sonrası da Pazar gününe denk geldiği için, alt kısımda "Gelecek Pazar saat 10:31" şeklinde bir değere ulaştık. Bu veriyi de istediğimiz gibi parse edebilir, delphi tarafında da yine sorunsuz olarak kullanabiliriz.
TMS Web Core'da Javascript kullanmak da diğer tüm şeyler gibi çok kolay. Şimdiye kadar yaptığım tüm paylaşımlarda herkes genelde uniGUI ile kıyaslama yapıyor, burada şunu vurgulamak istiyorum; Ben kimseye UniGUI'yi bırakın da TMS'ye geçin demiyorum. Burada amacımız, Delphi ile web geliştirme seçeneklerinin çokluğunu vurgulamak. Yani sadece IntraWEB veya UniGUI değil, bir de TMS WEB Core diye bir alternatif de var demek için paylaşıyorum. Hepsinin de kendine göre avantajları/dezavantajları var. Ben şirket içi (Intranet) uygulamalarında halen UniGUI kullanıyorum, ama yüzlerce, binlerce kişinin kullanacağı uygulamalara gelince UniGUI hantal çalışıyor, TMS Daha cazip hale geliyor. Burada tercih şansınızı kullanabilmek için, diğer framework'leri de iyi bilip kıyaslayabilmek gerekiyor. Paylaşımlarımın özü budur
Buraya kadar okuduğunuz için teşekkür ederim.
Sevgiler, saygılar.
Firebird Ekipler Amiri. Dmitry Kouzmenko ve Dmitry Yemanov ile çalışmış , Eski IBSurgeon personeli, Kıdemli Firebird Kurtarma Uzmanı, Firebird Foundation bağışçısı...