Lazarus KOL-CE ve Windows CE uygulaması

tr_escape

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







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:

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...
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…