Lazarus KOL-CE ve Windows CE uygulaması

Merhaba ,

Bu yazıda lazarus ile windows ce işletim sistemi için bir uygulama ve socket bağlantılarını inceleyim.

Windows CE için uygulama gerçekleştirmek için EVC++ (embedded visual c++) veya visual studio kullanılabiliyor.

Ancak elinizdeki cihaz wince 4.2 gibi eski bir işletim sistemi ise o zaman uygulama gerçekleştirmek için EVC++ ile geliştirme yapmak zorundasınız zira visual studio’un tam desteği yok.

Ya da alternatif olan lazarus ve kolce paketini kullanmanız yeterli.

Ben ”Lazarus-0.9.28.2-fpc-2.2.4-cross-arm-wince-win32.exe” ve kol-ce paketini kullandım.

Derleme için aşağıdaki değişiklikeri yapmanız yeterli.

Gelelim tcp ip projemize;

İlk önce projects menüsünden new ve kol toolkit app. seçmemiz gerekli.

Uses kısmına ise socket eklememiz gerekiyor, lazarusun kendine ait olan socket nesnesi exe boyutunu çok fazla büyütüyor.

Oluşturduğumuz formda ise bir edit ve bir send düğmesi yerleştirelim ve kodlama:

 procedure TForm1.Button1Click(Sender: PObj);
var
 adr : TInetSockAddr;
 soc : Tsocket;
 buf : String[255];
 Sin,Sout : Text;
 i : integer;

begin

 soc := fpsocket(AF_INET,SOCK_STREAM,IPPROTO_TCP); //socket hazırlığı
 if soc=-1 then
 begin
 showmessage('Socket hatası');
 exit;
 end;

 adr.sin_family := AF_INET; //inet yapılandırılması
 adr.sin_port := htons(501); //hangi port?
 if srvip='' then
 adr.sin_addr := StrToNetAddr('192.168.1.5') //bağlanılacak ip
 else adr.sin_addr := StrToNetAddr(srvip);

 if not Connect (soc,adr,Sin,Sout) then
 begin
 ShowMessage('Bağlantı hatası : '+NetAddrToStr(adr.sin_addr)); //ip canlı değilse
 exit;
 end;

 buf := EditBox1.Text;
 Send(soc,buf,length(buf)+1,0); //gönderim adımı

 fpshutdown(soc,0); //bağlantıyı kapat
 CloseSocket(soc);
 EditBox1.Text:= '';

end;

Sonraki yazıda buluşmak üzere…

12 Yanıt

  1. mehmet bey, mrb ben kol-ce bileşenin kurulumunu gerçekleştiremedim acaba küçük ayrıntılarımı var ben kaçıyorum sitesindeki kurulumu aynen yaptım acaba sitenizde kurulumu ve gerekli dosyaları paylaşırmısınız şimdide teşekkür ederim.

    • Sıra şu olmalı,

      Lazarus kurulumu ardından ”Lazarus-0.9.28.2-fpc-2.2.4-cross-arm-wince-win32.exe” kurulumu ki AMR bazlı işlemciler için kodlama yapabilesiniz.

      Akabinde ise kolce paketinin kurulumu olmalı.

      Kolce içerisindeki mck klasöründe bulunan .lpk dosyasını component menüsünden load package file ile yükleyip Install yapmanız gerekli.

      Bu adımda lazarus kensini derleyecektir ki biraz uzun sürebilir ve yazılım kendisini tekrar başlatacaktır.

      Bu aşamalardan sonra KOLCE paketini görebilirsiniz.

  2. çok sağolun yaptım hesap makinamı da yaptım ancak çevirme işlemleri sırasında double2str kullandığımda ilk text ten aldıgım degeri bir eksik yazıyor nedeni nedir acaba yazdıgım kodlar bil. normal calsıyor wince ile derleyip terminale attıgmda böyle

    • cihazlarla çalışırken her ne kadar emulasyonlar bir miktar fikir verse de gerçek ortamda nihai sonucu görebiliyorsunuz.

      bu sebep ile doğrudan cihaz üzerinde bütün denemelerinizi yapmanız daha iyi olur.

      kolay gelsin

  3. hocam bu kolce kurulumunu bende yapamadım nasıl yapıldığı hakkında biraz bilgi verirseniz yada bir ayrıntı falan mı kaçırıyorum ne yapıyorsam anlamadım lazarus un son sürümünü indirdim kolce zaten 2.80.3 te ama bir türlü kurulumu başaramadım. kurulumu anlatabilir misiniz ?

    • Yapabilirsem bir video anlatımı ekledim çalışacağım. Umarım faydalı olur.

      • teşekkür ederim. şimdi benm sorunum

        lazarus-0.9.30.2-fpc-2.4.4-win32.exe
        lazarus-0.9.30.2-fpc-2.4.4-cross-arm-wince-win32.exe

        paketlerini kurdum

        kolce 2.80.3 i kurmaya çalıştığımda eklemiyor.
        derlemiyor.

        lazarus türkçe dökümanınız var mı hiç.
        lazarus wince için database kullanımı gibi.

      • ne yazıkki 0.9.30.2 de hiç denemedim ancak çok mecburiyet yoksa benim tavsiyem 0.9.28 için ayrı bir yükleme klasör yapın ve projenizi orada gerçekleyin.

        lazarus için türkçe doküman hazırlamadığımız sürece yok internetteki kaynakları kullanıyorum ben de ancak şunu düşünebilirsiniz lazarus pascal temel alındığı için pascala dair türkçe kaynakların %90 ı işinizi görecektir.

        siz zaten programlama biliyorsanız diğer dillere geçişte sadece bir kaç noktada zorluk yaşarsınız

        iyi çalışmalar,

        mehmet

  4. wince için database li bir örnek yaptınız mı hiç ?

    • Sonuçta database wince içinde tutulmaz size bir trick olarak ayrı bir exe ilgili database veri aktarımını yapar siz de wince içinden ilgili yazılıma veri aktarırsınız.

      • evet tutuluyor ne ile yazdıklarını bilmiyorum ama wince de dbf gördüm :D

      • dbf için belki hazırda bir dll vs. kullanmış olabilir bunun için mysql dokumanlarını ve sqlite dokumanlarını okumak lazım kolay bir yolu olabilir hiç ihtiyaç olmadığı için bakmadım daha

Görüşlerinizi belirtin

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Değiştir )

Twitter picture

You are commenting using your Twitter account. Log Out / Değiştir )

Facebook photo

You are commenting using your Facebook account. Log Out / Değiştir )

Connecting to %s

Follow

Get every new post delivered to your Inbox.