Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Lazarus, PPC, Com5 ansprechen, dahinter ist ein Sirf Star II (https://www.delphipraxis.net/113097-lazarus-ppc-com5-ansprechen-dahinter-ist-ein-sirf-star-ii.html)

xy124 2. Mai 2008 15:48


Lazarus, PPC, Com5 ansprechen, dahinter ist ein Sirf Star II
 
es ist simpler als es sich im Titel anhört, ich hab an meinem PDA eine eingebaute GPSmaus und ich hab es mit Dialect WinCE hingekriegt die daten auszulesen...(so:
Delphi-Quellcode:
myport=comport("COM5:",{baud:4800})
.
.
.
text=myport.read()
)
da entstehen dann strings die etwa so aussehen:
Delphi-Quellcode:
$GPGGA,191410,4735.5634,N,00739.3538,E,1,04,4.4,351.5,M,48.0,M,,*45
so und das will ich nun auch mit Lazarus für den ppc hinbekommen.
ich hab' dazu schon das hier gefunden:
Delphi-Quellcode:

var
  CommIn, CommOut : string;
  NumberWritten : dWord;
begin
  CommIn := 'COM6:';
  hCommIn := CreateFile(PWideChar(CommIn),
                          GENERIC_WRITE,
                          0,
                          0,
                          OPEN_EXISTING,
                          0,
                          NULL);
  if hCommIn=INVALID_HANDLE_VALUE then begin
      ShowMessage('Unable to open '+ CommIn);
      end
      else begin

      end;
^^aber das bringt mich nicht weiter :( (aber vielleicht euch!)

ich will ja imprinzip nur aus der Com-Abfrage einen String machen.

hoffe auf eure Hilfe :-D

-xy124-

Der.Kaktus 2. Mai 2008 15:54

Re: Lazarus, PPC, Com5 ansprechen, dahinter ist ein Sirf Sta
 
Hallo,

ich weiss ja nicht, ob Du schon wusstest...

Delphi-Quellcode:
var
  CommIn, CommOut : string;
  NumberWritten : dWord;
begin
  CommIn := 'COM6:'; //<<--dann muesste da zuerst COM5 rein
  hCommIn := CreateFile(PWideChar(CommIn),
                          GENERIC_WRITE,
                          0,
                          0,
                          OPEN_EXISTING,
                          0,
                          NULL);
  if hCommIn=INVALID_HANDLE_VALUE then begin
      ShowMessage('Unable to open '+ CommIn);
      end
      else begin

      end;
ansonsten ist da eigentlich(im Lazarus) kein Unterschied.

xy124 2. Mai 2008 16:19

Re: Lazarus, PPC, Com5 ansprechen, dahinter ist ein Sirf Sta
 
@Der.Kaktus: ja wusst ich schon hab den code aus nem Anderm Forum übernommen
aber wie komm' ich dann an die Variable CommOut?

Der.Kaktus 2. Mai 2008 16:26

Re: Lazarus, PPC, Com5 ansprechen, dahinter ist ein Sirf Sta
 
Ok, dann schau mal hier..vielleicht hilft es weiter. GPS Daten auslesen

xy124 2. Mai 2008 20:21

Re: Lazarus, PPC, Com5 ansprechen, dahinter ist ein Sirf Sta
 
ja genau das hab ich vor aber nur mit Lazarus und nicht mit delphi - ich bracuh doch nur so ne komische DLL die auf meinem PPC funzt !
die meisten Delphi-dll's funzen auf meinem "echtem" computer unter LAZARUS aber nicht auf dem PDA

kennt jemand eine DLL die auf dem PDA geht? :?: :cyclops: :?: :cyclops: :?: :cyclops: :?:

Der.Kaktus 2. Mai 2008 20:24

Re: Lazarus, PPC, Com5 ansprechen, dahinter ist ein Sirf Sta
 
Zitat:

Zitat von xy124
ja genau das hab ich vor aber nur mit Lazarus und nicht mit delphi - ich bracuh doch nur so ne komische DLL die auf meinem PPC funzt !
die meisten Delphi-dll's funzen auf meinem "echtem" computer unter LAZARUS aber nicht auf dem PDA

kennt jemand eine DLL die auf dem PDA geht? :?: :cyclops: :?: :cyclops: :?: :cyclops: :?:

Was fuer eine DLL meinst Du? :gruebel:

xy124 2. Mai 2008 20:30

Re: Lazarus, PPC, Com5 ansprechen, dahinter ist ein Sirf Sta
 
die dll die auf dem echtem pc geht: RSCOM.dll
unit dazu(RSCOMdec.pas):
Delphi-Quellcode:
unit RSCOMdec;

interface

uses windows;

Function OPENCOM(OpenString:PChar):Integer;stdcall; external 'RSCOM.DLL';
Procedure TIMEOUTS (TOut: Integer); stdcall; external 'RSCOM.DLL';
Procedure BUFFERSIZE (Size: Integer); stdcall; external 'RSCOM.DLL';
Procedure CLOSECOM(); stdcall; external 'RSCOM.DLL';
Procedure SENDBYTE (Dat: Integer); stdcall; external 'RSCOM.DLL';
Function READBYTE (): Integer; stdcall; external 'RSCOM.DLL';
Procedure SENDSTRING (Buffer: PChar); stdcall; external 'RSCOM.DLL';
Function READSTRING (): PChar; stdcall; external 'RSCOM.DLL';
Procedure CLEARBUFFER (); stdcall; external 'RSCOM.DLL';
Function INBUFFER (): DWORD; stdcall; external 'RSCOM.DLL';
Function OUTBUFFER (): DWORD; stdcall; external 'RSCOM.DLL';
Procedure DTR(d:WORD); stdcall; external 'RSCOM.DLL';
Procedure RTS(d:WORD); stdcall; external 'RSCOM.DLL';
Procedure TXD(d:WORD); stdcall; external 'RSCOM.DLL';
Function CTS:Integer; stdcall; external 'RSCOM.DLL';
Function DSR:Integer; stdcall; external 'RSCOM.DLL';
Function RI:Integer; stdcall; external 'RSCOM.DLL';
Function DCD:Integer; stdcall; external 'RSCOM.DLL';
function INPUTS():Integer; stdcall; external 'RSCOM.DLL';
procedure TIMEINIT(); stdcall; external 'RSCOM.DLL';
function TIMEREAD(): Real; stdcall; external 'RSCOM.DLL';
procedure DELAY(DelayTime: Real); stdcall; external 'RSCOM.DLL';
procedure REALTIME(); stdcall; external 'RSCOM.DLL';
procedure NORMALTIME(); stdcall; external 'RSCOM.DLL';

implementation
end.
und meine Unit:
Delphi-Quellcode:

uses
  RSCOMdec.pas

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin

  for i := 1 to 255 do
  begin
    s := s+char(readbyte);
    application.ProcessMessages;
  end;

  memo1.lines.strings[0]:=s;
 


end;

procedure TForm1.Button2Click(Sender: TObject);
begin
CloseCOM;
  close;
 
end;

procedure TForm1.FormCreate(Sender: TObject);
var openstring: string;
begin
Openstring := 'COM5:4800,N,8,1';
OPENCOM (pchar (Openstring));
end;
der ppc gibt als fehler einfach "keine gültige PocketPC-Anwendung"

xy124 5. Mai 2008 14:26

Re: Lazarus, PPC, Com5 ansprechen, dahinter ist ein Sirf Sta
 
weiß denn keiner von den 45260 Benutzern hier im Forum wie man mit Lazarus Comports einbinded, sodass das ganze auch noch auf dem PocketPC läuft? :?: :cry: :shock: :(

Der.Kaktus 5. Mai 2008 15:14

Re: Lazarus, PPC, Com5 ansprechen, dahinter ist ein Sirf Sta
 
Zitat:

Zitat von xy124
weiß denn keiner von den 45260 Benutzern hier im Forum wie man mit Lazarus Comports einbinded, sodass das ganze auch noch auf dem PocketPC läuft? :?: :cry: :shock: :(


ich weiss es auch nicht..aber ich hab mal geschaut..vielleicht hilft Dir das --> Pocket API weiter.

OregonGhost 5. Mai 2008 16:06

Re: Lazarus, PPC, Com5 ansprechen, dahinter ist ein Sirf Sta
 
Mir erschließt sich dein Problem nicht so ganz. Auf COM-Ports kann man doch ganz normal über die Windows-API zugreifen, ob nun auf Desktop-Windows oder Windows CE. Das unterscheidet sich doch nicht sonderlich und hat auch nichts mit Lazarus zu tun. Hast du mal ganz normal unter Windows mit CreateFile und den COM-Funktionen (einfach den Beispielen aus dem Windows SDK folgen) auf die COM-Schnittstelle zugreifen können? Wenn ja, ist es unter Windows CE genau dasselbe. Nur dass dort nicht alles verfügbar ist (ich meine mich dunkel an eine Spezialität im Zusammenhang mit WaitCommEvent erinnern zu können). Aber zumindest haben wir hier eine Implementierung mit reiner Windows-API auf einem 3.0- und einem 4.2-CE-System laufen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:04 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz