Asp.net web uygulamasına sanal klavye eklemek?

Posted by yasin | Posted in Asp.Net, JQuery | Posted on 06-12-2010

İşyerinde kiosklar üzerinde çalışacak bir uygulama yapılmasi gerekiyordu. Bu uygulama fatura ödeme, borç sorgulama, Kent Rehberi, Önemli yer bulma gibi hizmetlerin kiosk üzerinden sağlanması için kullanılacaktı. Kullanılacak teknolojiler daha önceden arkadaşım Remzi tarafindan seçilmiş.
Projeye dahil olunca HTML5, Css3 ve JqTouch kütüphanesi kullanarak gerçekleştirdik. Kiosk üzerinde klavye olmadığı için veri girişi ekranlarında sanal klavye ile veri girişi yaptırmamız gerekiyordu. Aşağıda projenize sanal klavye eklemek ile ilgili uygulamayı görebilirsiniz.  Bu adresteki klavye kodlarını kendimize göre özelleştirerek kullandık. Çoklu form ekranlarında textboxlardan seçileni dolduracak şekilde özelleştirdik.

Öncelikle oluşturduğumuz yeni web sitesine klavye klasörünü ekleyerek içindeki css ve javascript dosyalarını sayfamıza ekliyoruz. Sayfamıza  bir update panel ekleyip içerisine temsili sorgulama için 2Adet TextBox ve bir sorgula butonu ekliyoruz. TextBoxlarımızın CssClass propertylerine textKiosk olarak belirtiyoruz.
Read the rest of this entry »

Ajax isteği sona erdiğinde client tarafında javascript kodu çalıştırmak nasıl?

Posted by yasin | Posted in JQuery, Yazılım | Posted on 26-08-2010

Updatepanelin yenilenmesi sırasında ajax isteğinin başlangıç ve bitiş gibi zamanlarını tespi edip istediğimiz javascript kodunuz çalıştırabiliriz. Bunun için sayfa PageRequestManager’i kullanırız.

Aşağıdaki kod parçası ile sayfamızda meydana gelecek olan ajax isteklerinin başlangıç ve bitişlerinde istediğimiz fonksyionların çalışmasını sağlayabiliriz.

function load() {

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(bitisFonksiyonu);           Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(baslangicFonksiyonu);

}

function baslangicFonksiyonu() {

alert(“basladi”);

}

function bitisFonksiyonu() {

alert(“bitti”);

}

Tabi kodumuzun çalışması için başlangıç ve bitiş fonksiyonlarımız belirlediğimiz load fonksyonunu çalıştırmamız gerekli bunun için body tagımıza onload=”load()” ekleyerek tanıtıyoruz diyebiliriz.

Referans link:  http://zeemalik.wordpress.com/2007/11/27/how-to-call-client-side-javascript-function-after-an-updatepanel-asychronous-ajax-request-is-over/

Sayfa yenilendiğinde(postback olduğunda) MultiLine TextBox, ListBox vb elementler için scroll pozisyonunu korumak

Posted by yasin | Posted in JQuery, Yazılım | Posted on 26-08-2010

Merhaba,

Aşağıda bir jquery plugini olan scrollsaver’dan bahsedeceğim. Sayfa yenilendiğinde updatepanel içinde olsun veya olmasın multiline textbox, listbox veya sayfamızdaki scroll pozisyonunu kaybederiz. (browser ve sürüme göre değişebilir fakat chrome’da updatepanel içinde problem yaşadım). Örneğin listbox’tan bir eleman seçtik sayfa postback olduğunda elemanımız yine seçili durumdadır fakat scroll listboxın en üstünü gösterecek şekilde konumlanmıştır bu durumda linkteki eklenti ile tüm bu problemlerimizden kurtuluyoruz. Sadece sayfanıza ilgili .js dosyasını eklemeniz tüm bunların düzene girmesi için yeterli.

Scrollsaver eklentisini indirmek için tıklayınız

Kullanımı: indirdiğimiz zip dosyası içinde scrollsaver.min.js isimli javascript dosyamızı projemize kopyalayıp sayfamızını head tagları arasına referans veriyoruz.

<script type="text/javascript" src="scrollsaver.min.js"></script>

Tabi Mahdi Hasheminezhad arkadaşımızada buradan teşekkürlerimizi iletiyoruz.

MySQL stored procedure oluşturulması

Posted by Zafer | Posted in MySQL, SQL, Yazılım | Posted on 24-08-2010

Örnek üzerinden stored procedure oluşturulmasından bahsedelim,

aşagıdaki procedure parametre olarak aldığı iki tane intiger sayıdan büyük olanını seçiyor.

DROP PROCEDURE IF EXISTS `deneme_procedure`;

CREATE DEFINER = `root`@`localhost`

PROCEDURE `deneme_procedure`(IN `a` tinyint,IN `b` tinyint)

BEGIN

SELECT GREATEST(a,b);

END;

bu procedure aşağıdaki gibi değer gönderebiliriz.

CALL deneme_procedure (12,3);

sonuç olarak 12 değerini dönderecektir.

Microsoft Access veri tür dönüşümü

Posted by Zafer | Posted in SQL, Yazılım | Posted on 08-07-2010

MSSQL ‘ de convert ve cast deyimleri ile tür dönüşümlerine alışınca bunların Access ‘te çalışacağını düşündüğüm olmuştur. Ama access ‘ te işler biraz daha farklı. Access’te tür dönüşümleri için aşağıdaki deyimler kullanılmaktadır.







Read the rest of this entry »

RichEdit ile metin biçimlendirme

Posted by Zafer | Posted in Delphi | Posted on 19-04-2010

RichEdit kullanarak word dökümanındaki gibi metinleri biçimlendirebilirsiniz. Metnin istediğiniz yerlerindeki karakterlerin fontları üzerinde oynama yapabilirsiniz. Zor olan kısım ise formatlı bir şekilde richedit üzerinde bulunan metnin veritabanına kaydedilip tekrar yüklenmesidir.

Metni formatlı bir şekilde kullanmak için ilk başta richedit ‘in properties sekmesinde bulunan “plain text” alanı “false”  olmalıdır. Bu alan “true” olursa richedit üzerindeki veriler formatsız bir şekilde tutulacaktır.  Veritabanında metnin tutulacağı alanı ntext olarak tanımladığımızda aşağıdaki kodlar işimizi görecektir.
Read the rest of this entry »

Report builder ile bir sayfada belirli sayıda kayıt gösterme

Posted by Zafer | Posted in Delphi | Posted on 05-04-2010

Report builder ile rapor tasarlarken karşılaşılan sorunlardan bir tanesi de dinamik olarak  yazdırılmak istenen satırların sayfaya sığmamasıdır. Genellikle footer (sayfa sonu) veya summary (rapor sonu)   kısmına eklediğimiz  toplam tutar, imza alanı  gibi ifadeler gelen satır sayısına göre sayfaya sığmayabiliyorlar. Bu durumda sayfa yapısını düzeltmek için footer veya summary kısmına boşluklar ilave etmek zorunda kalabiliyoruz. Bu sorunu raporun detail kısmının properties ‘sinde bulunan printCount kısmına verdiğimiz integer değerle çözebiliriz.

Düzenli bir sayfa yapısı elde etmek için önce footer veya summary kısmı hesaplanmalı ve  geriye kalan boş alan için kayıt sayısını belirlenerek printCount ‘a atanmalıdır. Bu durumda sayfadan taşan yazılardan kurtulabiliriz.

TotalCross ve Mobil Dünya

Posted by kuvark | Posted in Java, Yazılım | Posted on 18-10-2009

TotalCross (totally cross-platform) merkezi Brezilya‘ da olan SuperWaba firmasının SuperWaba ürününden sonra çıkardığı, mobil cihazlarda java cdc standartlarını kullanmanızı sağlayan gerçek manada taşınabilir platform/platform bağımsızlık kavramını mobil cihazlara aktarmaya yönelik yazılmış bir uygulama geliştirme aracı ve derleyicisidir.

Bu çok güçlü araç 1.14. versiyonunda olup “ www.superwaba.com.br adresi altında bulunmaktadır. LGPL olan Total Cross özellikle birçok platformu desteklemesi ve ciddi bir platform bağımsızlığı sayesinde bir çok projede tercih edilebilir. Tüm bunların yanında çok hızlı ve işlevsel oluşu da onun gücünü gösterir. Özellikle eclipse içerisinden direk erişilebilen plug-in i ve java kodunu direk derleyebilmesi ile büyük ses getirecek bir mobil teknolojidir.

Ayrıca kendi hazırladıkları TKN Mobile Stüdyo ile görsel düzenleme yapmanızı da sağlamaktadırlar. Fakat bu ürün ücretlidir. Benim önerim TKN betayı indirip kurmanız ve içerisindeki yardımcı kitapçığı almanız. TKN kitapçığı sayesinde totalcross u eclipse e daha kolay şekilde bağlayıp kullanabilirsiniz. İlk başlarda biraz karışık gelse de özellikle superwabanın sitesindeki örnekler ve kitapçıklardaki gidiş yolları sayesinde her şey daha da kolaylaşacaktır. Litebase diye bir de veritabanı seçeneği sunmaktadır.

HEDEF PLATFORMLARI?

Totalcross un yelpazesi çok geniş diyebiliriz . Özellikle hem iphone hem windows mobile hem blackberry hem de palm os  çalışan tek java sürümü hatta tek programlama aracı diyebiliriz. Hedef platformlar a şuradan bakabilirsiniz :http://www.superwaba.com.br/en/pdas_compativeis.asp    ama kısaca:

-Iphone (jailbroken 1.1.4 – 2.0)

-Blackberry (OS 4.3 yada daha yenisi , Bold ,Curve,Pearl, 87xx,88xx)

-palm os

-windows ce /pocket pc

-Opticon

Avantajları Nelerdir?

Total Cross herşeyden öte birçok platforma olan desteğiyle yaz-çalıştır uygulamalar oluşturmak için bire birdir. Uygulamamız olan korpus da bu amaçla Total Cross ile yazılmıştır. Hız olarak çok üst düzeyde olması, her platform için ayrı ayrı çalıştırılabilir dosya üretmesi, birçok yeni nesil cihazı desteklemesi ve bunlara erişim izni sağlaması açısından kendi alanında liderliğe oynayacak olan bir teknolojidir.

Şimdilik bu kadar , sağlıklı kalın , mobil kalın…