![]() |
Seriellen Anschluss auslesen (RFID)
Moin,
Ich weiß das die meißte wenn sie meinen Titel gelesen haben denken werden "schau doch mal in die Suche". Mein Problem ist das ich dort meißtens nur Threads fand wo auch stand, schau doch mal in die Suche oder die Threads mir einfach nicht geholfen haben. Mein Problem stellt sich eigentlich recht einfach dar, nur bin ich jetzt seit 2h am suchen gewesen und komme einfach nicht weiter. Zum einen habe ich async pro glaube ich nicht richtig installiert gekriegt, das sollte aber das kleinere Problem darstellen, beim "richtigen" geht es um folgendes: Ich habe mir einen RFID leser zugelegt der über einen com anschluss mit dem PC verbunden wird. Sobald ein RFID Tag in Reichweite kommt werden Daten an mich übermittelt. Eigentlich würde mir schon reichen wenn ich ein Programm hätte das einfach alle Daten die über den rs232 Port reinkommen in einen string speichern würde, ich möchte gar nichts senden, einfach nur "zuhören". Alle Lösungen die ich bis jetzt irgendwo gesehen habe funktionieren einfach nicht und ich hoffe das sich jemand erbarmt und mir genaueres beschreibt. Verwendet wird Delphi 7. MfG UtopianBuddy :angel2: |
Re: Seriellen Anschluss auslesen (RFID)
Wie das mit demAsync Pro geht kann ich dir leider nicht sagen - dazu musst du wir was suchen *lol* (soll keine Ironie, sondern wirklich ein Tipp sein)
Ansonsten kannst es ja auch mal so probieren - schau dir den ![]()
Delphi-Quellcode:
Function RecieveByte(COMHandle: THandle): Byte;
Var tmp: cardinal; ByteToRead: Byte; Begin ReadFile(COMHandle, BytetoRead, 2, tmp, Nil); Result := ByteToRead; End; // Beispiel-Verwendung... Procedure TForm1.Timer1Timer(Sender: TObject); Var tmp: integer; Begin tmp := RecieveByte(com); If tmp <> 217 and 0 Then // Nur um den "Müll" zu ignorieren... memo1.lines.add(inttostr(tmp)); End; |
Re: Seriellen Anschluss auslesen (RFID)
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich hatte auch mal ein Problem mit ein Programm für eine Serielle Schnittstelle. Da habe ich diese Unit bekommen. Vielleicht hilft sie dir. Nach "TRS232.Create" musst du "TRS232.InitCom()" aufrufen. Das geht so
Delphi-Quellcode:
TRS232.InitCom('COM1', CBR_9600, 8, NOPARITY, ONESTOPBIT)
|
Re: Seriellen Anschluss auslesen (RFID)
Und wenn du ganz schnell ohne viel Aufwand (aka klickibunt) was sehen willst, dann kannst du mal
![]() |
Re: Seriellen Anschluss auslesen (RFID)
danke erstmal allen für die flotten und guten antworten, ich werd mich gleich ransetzen und schauen wie was geht.
Die ComPort Library wollte ich auch mal versuchen, aber ich hab die nicht installiert gekriegt und die readme checkt ja auch kein mensch... :wall: mmh naja mal schaun :) |
Re: Seriellen Anschluss auslesen (RFID)
Zitat:
Delphi-Quellcode:
vorher wurde rs232 als globale variable von Trs232 festgelegt...
rs232.Create;
rs232.InitCom('COM1', CBR_9600, 8, NOPARITY, ONESTOPBIT); :gruebel: edit: leider funktioniert die Möglichkeit von S.H.A.R.k. auch nicht weil variablen fehler bzw vorher nicht deklariert worden sind und ich ja nicht erahnen kann um welchen typus es sich handelt... :duck: |
Re: Seriellen Anschluss auslesen (RFID)
Zitat:
|
Re: Seriellen Anschluss auslesen (RFID)
Hi,
also die TComPort (ist glaube ich bei SF gehostet) ist echt super, hab schon mehrere Projekte problemfrei mit der gearbeitet (was nicht heißt, dass andere Komponenten schlechter sind). Jedenfalls hättest du dort recht einfach alles was du brauchst, einfach einen TComport auf dein Formular ziehen, die Einstellungen des Port vornehmen (wie man alle verfügbaren Comports auflistet lasse ich hier einfach mal weg), Connected auf True setzen und benutzen. Das OnReceiveChar-Event benachrichtigt dich dann immer, wenn etwas im Puffer landet. Zitat:
Delphi-Quellcode:
heißen
rs232 := TRs232.Create;
|
Re: Seriellen Anschluss auslesen (RFID)
ähm shit, nee ist recht ist klar, aber geht trotzdem nicht.
die TComPort ist mir wirklich schon von vielen ans Herz gelegt worden die ich gefragt habe, aber ich check folgendes nicht: als erstes muss über |Tools-Environment Options-Library-Library Path| der Ordner eingebunden werden, soweit kein Problem, dann aber folgendes: Zitat:
alles blödsinn :( |
Re: Seriellen Anschluss auslesen (RFID)
CPORTLIB.dpk = run-time package = only "Compile"
DsgnCPort.dpk = "INSTALL" Ps. Auf meiner Homepage liegt eine DEUTSCHE VERSION incl. Hilfedatei zum Download. ![]() die ist zwar für jede Modellbahn (via Comport) geht aber auch für alles andere am Comport. (Vorteil alles in Deutsch & English) ect. Beschreibung Benutzen Sie die Komponente TComPort, um auf einfache Art mit externen Geräten, wie z.B. Modems, Barcode-Lesegeräte, PBX u.s.w., über eine RS232-Verbindung zu kommunizieren. TComPort bietet verschiedene Properties zur detaillierte Konfiguration der seriellen Schnittstelle, zahlreiche Methoden zum Lesen und Schreiben auf die Schnittstelle und Ereignisse, um die Schnittstelle zu überwachen. Lese- und Schreiboperationen können synchron und asynchron ausgeführt werden. Am besten immer "asynchron" unter WinXP durchführen. Guter Beispielcode für Delphi im Open-Source des Hauptprogramm... ![]() Direktlink zur VCL... (D5 bis D2006) auch PERSONAL ![]() Kleiner Tip zum auslesen: Liest Daten vom Eingangspuffer in eine Stringvariable im asynchronen Modus ein. function ReadStrAsync(var Str: String; Count: LongWord; var AsyncPtr: PAsync): LongWord; Beschreibung Rufen Sie die Methode ReadStrAsync auf, um Count Bytes in die Variable Str einzulesen. Die Methode wird sofort beendet und wartet nicht, bis die Operation beendet ist. Rufen Sie WaitForAsync auf, um sicherzustellen, daß die Operation beendet ist. Der Parameter AsyncPtr ist ein PAsync-Record, der von der Methode InitAsync initialisiert wurde. Die Anwendung ist dafür verantwortlich, AsyncPtr-Pointer mit Hilfe von DoneAsync freizugeben, nachdem die Operation beendet ist. Der Rückgabewert entspricht der Anzahl an Bytes, die tatsächlich gelesen wurden. Hinweis Falls das Ergebnis von WaitForAsync verschieden vom Count-Parameter ist, muß die Anwendung die Länge des Str-Parameters mit Hilfe von SetLength manuell anpassen. :cheers: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz