Jeg er ved at lave et program hvor jeg skal bruge en håndscanner. Programmet er et der skal køre i lang tid så jeg vil helst undgå at skulle installere nogle nye komponenter er det muligt at læse fra COM porten i Delphi 6 uden at installere nye komponenter?
Du kan sikkert lure et par tricks her. Det er godt nok en component, men sourcen er med og det hele er gratis. Så det er bare at gå igang med at læse sourcen, hvis du ikke vil bruge/installere yderligere componenter.
Der findes API kald til det. Prøv at kigge på noget om filhåndtering med API. det er noget i stil med file := OpenFile('//com2'bla bla bla); Der står en masse om det i SDK'en. Der er også en anden mulighed, det er at bruge asmbler og læse direkte fra porten. Hvis du ikke kan finde ud af det så kan jeg godt kigge jeg lidt på det for dig. Jeg har tidligere rodet meget med det.
Jeg sidder lige nu og kigger på CreateFile(); men jeg synes ikke rigtigt at det vil som jeg vil, der er vel ikke nogen af jer der har et eksempel liggende jeg kan prøve at kigge på?
Jeg prøver at finde lidt om 3F8 og 2F8, men så vidt jeg husker er der lidt problemer med det da windows helst vil ha' at man bruger API. Det er noget med at man skal initialisere porten på en bestemt måde og så holder windows fast i porten indtil applikationen lukkes, eller noget.
Det har du ret i doc404 men der er nok 100 andre ting man ikke kan med api som man kan hvis man læser direkte fra porten. Men det er dog den lettest at bruge API
Ja den står fuldstændig som min com port gør. Men jeg er osse lidt i tvivl om hvordan ReadText functionen den virker, om den kører hele tiden eller hvad den gør?
Den ReadText er bare et eksemple - der ikke kan bruges ;-) Den forsøger at læse 80 karaktere. Prøv at ændre den til kun at læse 1 ad gangden
procedure ReadText: string; var d: array[1..80] of Char; s: string; BytesRead, i: Integer; begin Result := ''; if not ReadFile(ComFile, d, 1, BytesRead, nil) then begin { Raise an exception } end; s := ''; for i := 1 to BytesRead do s := s + d[I]; Result := s; end;
Så kan du sikkert se ideen med det og så lavet en GetCharFromScanner funktion
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.