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…
Lazarus girildi



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.
ç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
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
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
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