tpapro kompenantı ile seri porta byte gönderme sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
forumsad
Üye
Mesajlar: 296
Kayıt: 29 Tem 2010 10:47

tpapro kompenantı ile seri porta byte gönderme sorunu

Mesaj gönderen forumsad »

arkadaşlar seri porta byte dizi göndermem lazım nasıl yapılır yardımcı olabilirmisiniz

saygılarımla

Kod: Tümünü seç

var
mesaj:Array[0..10] of byte;
i:integer;
begin
mesaj[0]:=1;
mesaj[1]:=6;
mesaj[2]:=0;
mesaj[3]:=0;
mesaj[4]:=0;
mesaj[5]:=0;
mesaj[6]:=137;
mesaj[7]:=202;

for i:=0 to 7 do
			begin
			//ApdComPord.OutPut:=mesaj[i]; //string gönderme
			ApdComPord.PutChar(mesaj[i]);    //char gönderme  
			byte gönderme ?????
			end;

end;
ertank
Kıdemli Üye
Mesajlar: 1657
Kayıt: 12 Eyl 2015 12:45

Re: tpapro kompenantı ile seri porta byte gönderme sorunu

Mesaj gönderen ertank »

Merhaba,

Öncelikle örnek gönderdiğiniz kod ile ilgili bazı noktalara dikkat çekmek istiyorum. Bunlar zorunlu kural olmamakla birlikte Pascal dilinin genel kabul görmüş kullanım şekilleridir.
- begin..end arasında kalan kodu en azından iki karakter içeriden yazmanızda fayda var. Ancak begin ve end ifadelerini değil.
- Değişken isimleri her ne kadar programcı insiyatifinde olsa da isimlendirme sırasında "PascalNotation" şeklinde kelimelerin ilk harfleri büyük olacak şekilde değişken ismi tanımlamanızda fayda var.

Yukarıdakiler dışında günümüzde genel olarak iki farklı sürüm Delphi sürümü kullanıldığını düşünerek kendi Delphi sürümünüzü belirtmenizde fayda var. Zira bazı kullanım kolaylıkları veya yeni sürümlerdeki bazı özellikleride sorunuzun cevabında öğrenmeniz olasıdır.

Sorunuza gelince.
1- Delphi 10.1 Update 1 kullanıyor iseniz:

Kod: Tümünü seç

procedure TForm1.FormCreate(Sender: TObject);
var
  Mesaj: TBytes;
begin
  SetLength(Mesaj, 8);
  Mesaj[0]:=1;
  Mesaj[1]:=6;
  Mesaj[2]:=0;
  Mesaj[3]:=0;
  Mesaj[4]:=0;
  Mesaj[5]:=0;
  Mesaj[6]:=137;
  Mesaj[7]:=202;

  ApdComPort1.PutBlock(Mesaj, Length(Mesaj));
end;
2- Delphi 7 kullanıyor iseniz:

Kod: Tümünü seç

procedure TForm1.FormCreate(Sender: TObject);
var
  Mesaj: Array [0..7] of Byte;
begin
  Mesaj[0]:=1;
  Mesaj[1]:=6;
  Mesaj[2]:=0;
  Mesaj[3]:=0;
  Mesaj[4]:=0;
  Mesaj[5]:=0;
  Mesaj[6]:=137;
  Mesaj[7]:=202;

  ApdComPort1.PutBlock(Mesaj, Length(Mesaj));
end;
Burada dikkat etmeniz gereken önemli bir konu gönderdiğiniz bilginin uzunluğunu bir değişkende tutmak veya gönderdiğiniz bilgi uzunluğunu buna göre ayarlayıp Length() fonksiyonunu kullanmak olacaktır.
forumsad
Üye
Mesajlar: 296
Kayıt: 29 Tem 2010 10:47

Re: tpapro kompenantı ile seri porta byte gönderme sorunu

Mesaj gönderen forumsad »

hocam tamamdır. sorun çözüldü.
uyarılarınızı dikkate alacagım. delphi7 kullanıyorum.

yardımınız için çok yürekten minnettar oldum.
allah razı olsun.

saygılar
Cevapla