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.
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:
Sonraki yazıda buluşmak üzere...
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;