Lazarus KOL-CE ve Windows CE uygulaması

tr_escape

Üye
Katılım
6 May 2008
Mesajlar
633
Puanları
16
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.

lazarus_wince.jpg






Gelelim tcp ip projemize;

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


lazarus_kolcece.jpg



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

lazarus_socket.jpg




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

Kod:
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...
 

Forum istatistikleri

Konular
128,817
Mesajlar
920,714
Kullanıcılar
450,907
Son üye
saitdemircigil

Yeni konular

Geri
Üst