![]() |
Re: An com port gesendete daten lesen
es ist ein Nokia CS-15 usb umts modem, umts deswegen, weil unser Provider nur auf umts basis funktioniert.
Und es muss so über einen COM Port gehen, da die software leider veraltet ist. Also von den Befehlen her: At ... OK at+cpin? ... +CPIN: Ready usw... ganz einfaches gsm modem, es geht mir nur darum: mit ComPort1.ReadStr(string,255) bekomme ich nur den jeweils ersten Buchstaben, ich will aber immer das ganze packet haben, wie kann man das einfach machen? Ich dachte nur wenn ich schon diese Paketoption habe, verwende ich sie doch gleich... Virtuelles Modem: Ein Programm, dass einen Com Anschluss simuliert und ausgibt, welche Befehle versendet & empfangen werden. Es ist halt einfacher so mein Programm auf Fehler zu prüfen. |
Re: An com port gesendete daten lesen
Zitat:
|
Re: An com port gesendete daten lesen
[edit]okay okay ich lese bald richtig ich verspreche es!![/edit]
Da wird dir jemand mit TCOMPort Erfahrung weiterhelfen müssen. gruss Matthias |
Re: An com port gesendete daten lesen
ja... :) viel glück dabei noch ^^
Ich will ja eigentlich nur wissen, wie ich die Echos vom Modem ausgeben kann in meinem Programm? Wie schon erwähnt verwende ich TComPort und das Paketobjekt funzt nicht bei mir. |
Re: An com port gesendete daten lesen
Trage in deiner *.dfm vom Packet mal folgendes ein
Delphi-Quellcode:
und nicht wie du geschrieben hattest
StopString = #13
Delphi-Quellcode:
Bei deinem wartet er auf den String "#13" beim anderen auf den Char #13 (CR)
StopString = '#13'
gruss matthias |
Re: An com port gesendete daten lesen
wunderbar!
ich dachte eig, wenn ich es im Object Inspector bei den Einstellungen einfüge, wird es eh als char gespeichert, naja dem war nicht so. Gut jetzt hab ich auch gleich Start: #10 Stop: #13 eingefügt, das geht super.. jetzt noch die entscheidende Frage (ich komm mir echt schon doof vor): wo wird der String gespeicher?? Ich hab grad in Help gesucht, da wird nirgends eine methode zum auslesen bzw variable zum Speichern erwähnt! |
Re: An com port gesendete daten lesen
ah ich habs gefunden:
Delphi-Quellcode:
wenn ich das so ausführe und im terminalfenster vom virtual com port das eingebe:
procedure TForm1.ComDataPacket1Packet(Sender: TObject; const Str: String); //da ist es ja, das str!
begin ShowMessage(str); end; #10 OK #13 (wäre ja standard antwort auf "AT") dann kommt eine eher größere MsgBox wo aber nichts drin steht! |
Re: An com port gesendete daten lesen
ich hoffe du hast nicht "#10" eingegeben sonden einfach "AT"+<Enter> gedrückt!
Ersteres ist wieder der String "#10" und nicht das Steuerzeichen LF bzgl der großen msgbox: schau dir mal "trim" an Gruß Matthias |
Re: An com port gesendete daten lesen
nei, nein :) habe natürlich enter gedrückt!
Ich meinte: In meinem programm schreibe ich "at" und dann steht im Terinalfenster vom VirtualPort: "Recieved: at" dann schreibe ich halt "ok+(enter)" und er erfasst zwar im delphi programm, dass sozusagen das packet aus ist, aber er zeigt mir nur ein leeres Fenster an, das je nach größe des ReadBuffers groß ist. Also er gibt mir den String nicht aus! [EDIT] ich habe trim verwendet auf den String der in der MsgBox gezeigt wird und ja, die größe bleibt immer gleich, aber er zeigt keine buchstaben an... also so als ob die Packet Procedure von Tcomport falsch wäre... also ka was genau da noch falsch sein kann.[/edit] |
Re: An com port gesendete daten lesen
so hab jetzt mal was überprüft:
1) Die Länge des output strings von TComDataPacket ist unterscheidlich, dh es werden Leerzeichen sozusagen "gelesen" 2) Ich hab den "Buffer" mal nach einer Eingabe des "Modems" ausgelesen:
Delphi-Quellcode:
das gibt nach jeder Ausgabe das Zeichen "é" aus... wieso??
//----
var str2 : TComBuffer; begin str2:=ComPort1.Buffer; ShowMessage(Char(str2)); end; vielleicht half das ja etwas weiter!? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 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-2025 by Thomas Breitkreuz