(09-06-2021, Saat: 19:19)KUNTAY Adlı Kullanıcıdan Alıntı: merhaba kardes ben pooyadan yaziyorum delphi7 kullaniyorum yardimina ihtiyacim var bazi Terazilerden kilo ve gramlari okuyorum bazilarindan port kontrlu basarili ama veri alamiyorum yazdimci olurmusun =? sagol
(09-06-2021, Saat: 19:19)KUNTAY Adlı Kullanıcıdan Alıntı: merhaba kardes ben pooyadan yaziyorum delphi7 kullaniyorum yardimina ihtiyacim var bazi Terazilerden kilo ve gramlari okuyorum bazilarindan port kontrlu basarili ama veri alamiyorum yazdimci olurmusun =? sagol
procedure TForm1.ScaleTimerTimer(Sender: TObject);
{var
currentRead: Single;
begin
if timerReadCounter > 0 then begin
if Length(comBuffer) > 0 then begin
ScaleTimer.Enabled := False;
end
else begin
//ask for weight
if ComPortReader.Active then begin
ComPortReader.WriteAnsiChar(AnsiChar(83));
ComPortReader.WriteAnsiChar(AnsiChar(120));
ComPortReader.WriteAnsiChar(AnsiChar(10));
ComPortReader.WriteAnsiChar(AnsiChar(13));
ScaleTimer.Enabled := False;
end;
end;
Inc(timerReadCounter);
end; }
var
currentRead: Single;
WeightData: string;
DataChar: Char;
begin
if timerReadCounter > 0 then
begin
if Length(comBuffer) > 0 then
begin
ScaleTimer.Enabled := False;
end
else
begin
// Tarti agirligini iste
if ComPortReader.Active then
begin
WeightData := '';
// 16 baytlik veriyi okumak için döngü
repeat
DataChar := ComPortReader.ReadChar;
if (DataChar <> #13) and (DataChar <> #10) then // CR ve LF karakterlerini kontrol et
begin
WeightData := WeightData + DataChar;
end;
until Length(WeightData) = 16;
// Veriyi düzenlemek ve agirligi göstermek için ayristirma islemleri
if Length(WeightData) = 16 then
begin
// Ilk karakter "+" veya "-" olmali
if WeightData[1] = '+' then
ShowMessage('Tarti agirligi: ' + Copy(WeightData, 3, 8) + ' ' + Copy(WeightData, 12, 4))
else if WeightData[1] = '-' then
ShowMessage('Tarti agirligi: -' + Copy(WeightData, 3, 8) + ' ' + Copy(WeightData, 12, 4));
end;
ScaleTimer.Enabled := False;
end;
end;
Inc(timerReadCounter);
end;
end;
procedure TForm1.ComPortReaderRxChar(Sender: TObject);
var
Text: AnsiString;
begin
Text := ComPortReader.ReadAnsiString;
Memo.SelText := string(Text);
comBuffer := comBuffer + Text;
if CheckBuffer then begin
comBuffer := '';
Edit3.Text := FormatFloat('#0.000', previousRead);
end;
end; bu kod PCE-PB N de calisiyiken ayni firmanin PCE-PB 60N serisinde calismiyor

