comport bilgi yollama hakkında.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
meron06
Üye
Mesajlar: 393
Kayıt: 15 Eki 2005 04:23

comport bilgi yollama hakkında.

Mesaj gönderen meron06 »

Sel al.arkadaşlar forumda çok konuşuldu ama bi turlu mantık yürütemedim.şimdi bi labaratuvar cihazı var.cihazdan gelen bilgilileri okuyabiliyorum sorun yok.ama cihaza örneğin 5 satırlık bi komut yollayacam.ilk satırı yolladığım zaman cihaz bana ack bilgisi yollacak ack bilgisi gelince ben 2 nci satırı yollayacam.şöyle bişey yaptım.(kullandığım bileşen apdcomport).devam diye bi global değişken tanımladım.portun trigger avail olayına ack bilgisi gelince devam değişkenini 1 yaptım. komutları yollarkende devam değişkeni 1 se komutu yolla yolladıktan sonra devam değişkenini sıfır yap dedim.ama ack bilgisi biraz geç geliyor sanırım ki gönderme kodlarım çalışmadan geçiyor yani şart hiç gerçekleşmiyor.

bunu nasıl yapabalirim fikir verebilecek arkadaşlar varmı.önce ack yı bekle sonra ack nın geldiğini anla ve komutu yolla yeniden ack yı bekle gibi.
mero
Üye
Mesajlar: 109
Kayıt: 04 Mar 2005 04:54

Mesaj gönderen mero »

Forma bir memo koy. ilk satırı sen kendin gönder cihaza ki sana 'ack' göndersin. geri kalan satırlarıda memo ya satır satır ekle.

Kod: Tümünü seç

procedure TZiyaretci.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
var
  I : Word;
  C : Char;
  S : String;
begin
  S := '';
  for I := 1 to Count do
  begin
    C := ApdComPort1.GetChar;
    case C of
     #0..#31 : {Don't display} ;
      else S := S + C;
    end;
  end;

 if s='ack' then
  begin
    if memo1.Lines.Count=0 then exit;
    ApdComPort1.Output:=memo1.Lines.Strings[0];
    Memo1.Lines.Delete(0);
  end;
end;
Cevapla