Turbo Power Apro ,, Comport Control

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
DotCom
Kıdemli Üye
Mesajlar: 1696
Kayıt: 11 Tem 2003 10:30
Konum: İzmir
İletişim:

Turbo Power Apro ,, Comport Control

Mesaj gönderen DotCom »

Merhaba Arkadaşlar ;


iki bilgisayar var ve bu bilgisayarlar RS232 yani seri portdan birbirine bağlı , RX , TX ve ground uçları bağlı sadece...

1. bilgisayar x bir veri yollucak yollanan veriyi 2. bilgisayar yakalıcak ve ekranda göstericek...

çok küçük bir program. okulda hoca istedi. apro nun comport bileşeni ile bunu yapabilecegim kanısındayım. fakat yapamadım.

bu konuda bana yardımcı olursanız çok sewinirim....

Not : Examples klasorunda buna ilişkin örnek yok. ve apro ile yapmam şart degil başka bir yol önerirseniz o yoldan da gidebilirim...

Kolay Gelsin....
DotCom
Kıdemli Üye
Mesajlar: 1696
Kayıt: 11 Tem 2003 10:30
Konum: İzmir
İletişim:

Mesaj gönderen DotCom »

Arkadaşlar peki şöyle bir kod şimdilik işimi görrü gibi ama ;

2 makinede deneme fırsatım olmadı...

bende 1 adet external modem var. seri portdan çalışıyor.

o modeme örnegin 'hüsnü' değerini gönderdiğimde tekrar Hüsnü değerini geri döndürüyor. acaba iki makinedede aynı şeyi yaparmı.. ?

düşüncelerinizi bekliyorum....

kullandıgım kodu aşağıya yazdım....

Kod: Tümünü seç

procedure TForm1.TestClick(Sender: TObject);
  {TestClick button click - Send output}
begin
  ApdComPort1.OutPut := 'Hüsnü'^M; // porta deger gönder !
end;

// bilgi geri döndüğünde comport bileşeninin trigger ı tetikleniyor ve aşağıdaki kodlar devreye giriyor sanırım...

procedure TForm1.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
  {Event OnTriggerAvail - Example how OnTriggerAvail works} 
var
  I : Word;
  C : Char;
  S : String;
begin
  S := '';
  for I := 1 to Count do begin  // Yakalanan verinin tamamını arka arkaya ekliyor ...
    C := ApdComPort1.GetChar;
    case C of
      #0..#31 : {ekrana bunlar gelmesin} ;
      else S := S + C;
    end;
  end;
  ShowMessage('Comport a geri dönen bilgi... : ' + S);
end;
Düşünceleriniz için şimdiden teşekkürler...

Kolay Gelsin...
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

yapabilirsin
yazdıgın uygulamaya bir edit bir memo ve bir buton koy
butona
ApdComPort1.OutPut := Edit1.Text; falan yaz
ApdComPort1 in OnTriggerAvail olayına

Kod: Tümünü seç

procedure TForm1.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
  {Event OnTriggerAvail - Example how OnTriggerAvail works}
var
  I : Word;
  C : Char;
  S : String;
begin
  S := '';
  for I := 1 to Count do begin  // Yakalanan verinin tamamını arka arkaya ekliyor ...
    C := ApdComPort1.GetChar;
    case C of
      #0..#31 : {ekrana bunlar gelmesin} ;
      else S := S + C;
    end;
  end;
  Memo1.Lines.Add(S);
end;
dikkat ettiysen senin yazdıgın kodları kullandım
bir seri cross kablo ile iki pc yi birlestir
ve programı ikisinde de calıstır (mesela herikisininde Com1 ini kullanabilirsin)
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

ilk bahsettiğin gönderdiğin verinin modemden gelmedi yanlış bir olay echo etkisi var. onu boşver. denemek için bilgisayarında iki tane seri port vardır nasıl olsa. onları tx-rx , rx-tx olacak şekilde bağla iki programınıda çalıştır.
dikkat edeceğin husus. port ayarlarında biri bir biri 2 olacak. oakadar. iki bilgisayara gerek yok,bu şekilde test edebilirsin.
Kullanıcı avatarı
şimal
Kıdemli Üye
Mesajlar: 516
Kayıt: 10 Kas 2003 09:36
Konum: ANKARA

Mesaj gönderen şimal »

Bende apro ile çalışıyorum

text gönderirken sadece

com.PutString(stringdeğişkenin);
hakkus
Üye
Mesajlar: 160
Kayıt: 18 Haz 2003 12:02
Konum: Konya

Mesaj gönderen hakkus »

Merhabalar,
Null modem bir kablo hazırlayıp rx, tx uçlarını kısa devre yapın böylece yaptığınız programı tek bir makinada kontrol edebilirsiniz.
Bu şekilde gönderdiğiniz veri tekrar kendi makinanıza geleceği için deneme çalışmalarında kolaylık olur.
Ayrıca daha önce buna benzer bir programın kaynak kodunu siteye göndermiştim (bahsettiğiniz bileşenlerle yazdığım). Yine null modem kabloyla iki makinayı birbirine bağlayın tabii bu kez rx tx kısa devre olmayacak. Bu programı forumdan indirirseniz stringleri karşılıklı gönderebilirsiniz. Size bir fikir verebilir.
saygılar
Cevapla