hi,
ich habe ein DOS Programm, dass Daten über den ComPort von einem Windows CE Gerät runter lädt.
Das muss ich jetzt in Delphi umsetzen...
hier mal der Basic Code:
Code:
Close #96
Open "COM2:9600,N,8,1,CS,DS" As #96
ITry = 0
Do While ITry < 10 AND IFound = 0
ITry = ITry + 1
Print #96, Chr$(6) + Chr$(13);
Call WaitSec(0.5)
If Not EOF(96) Then
ATmp = Input$(1,#96)
If ATmp = Chr$(6) Then IFound = 1
end if
Loop
Es wird also erst der Comport als #96 geöffnet, anschließend Chr6 und Chr13 geschrieben und dann ausgelesen.
... leider funktioniert das in Delphi nicht.
Delphi-Quellcode:
try
iTry := 0;
bFound := False;
AComPort:=Concat('
COM',Edit1.Text);
tmpWeightString := '
';
FirstStart:= Now();
ComPort := TComport.Create(fHandscannerCOM);
ComPort.Port := AComPort;
ComPort.BaudRate := br9600;
ComPort.Parity.Bits := prNone;
ComPort.DataBits := dbEight;
ComPort.StopBits := sbOneStopBit;
ComPort.Open;
comport.WriteStr(CHR(6)+ CHR(13));
sleep(500);
i:=1;
while (
not bFound)
and (i< 10)
do
begin
AStr := '
';
inc(i);
ComPort.ReadStr(AStr,1);
if Astr='
'
then
Astr:=IntToStr(i);
Memo1.Lines.Add(AStr);
if AStr = CHR(6)
then
bFound := True;
sleep(10);
end;
finally
FreeAndNil(ComPort);
end;
Kann mir jemand da einen Tip geben?
bei einem anderen Gerät (einer Waage) habe ich das auslesen in ähnlicher form bereits hin bekommen ...
Interessant wäre auch, was CS und DS Bedeuten soll.
Über Hilfe würde ich mich sehr freuen.
Mfg