Entwickler-Ecke

Sonstiges (Delphi) - TurboDelphi Explorer und Serielle Schnittstelle?


bitboy0 - Di 02.12.08 16:14
Titel: TurboDelphi Explorer und Serielle Schnittstelle?
Hallo Leute,

ich hab Borland® Delphi® für Microsoft® Windows™ Version 10.0.2288.42451
Das ist die kostenlose Version.

Ich brauche nun eine ganz simple Möglichkeit aus einem selbst geschriebenen Programm heraus auf eine serielle Schnittstelle etwas auszugeben. Am liebsten wäre mir eine kleine EXE ohne sichtbares Programmfenster mit der ich den Inhalt einer Textdatei auf einen COMport ausgeben kann ... in etwas sowas:

write2com.exe /com12 /befehl01.txt

Frage:
kann ich mit dem kostenlosen Delphi auf serielle Schnittstellen zugreifen? Gibt es unabhängig davon evtl. schon so ein Tool wie ich es schreiben möchte?

gruß


Nersgatt - Di 02.12.08 16:32

Hab es lange nicht mehr gemacht, aber es müsste in der Eingabeaufforderung doch einfach so gehen:
c:\>Copy datei.txt com1

Edit: Hab es gerade mal unter Vista mit einem USB-Seriell-Adapter probiert (ohne angeschlossenen Empfänger). Nach einiger Wartezeit ist Vista in einen Bluescreen gerannt. :autsch:

Gruß,
Jens


jaenicke - Di 02.12.08 17:32

Es gibt im Internet viele Komponenten für den Zugriff auf die serielle Schnittstelle, zum Beispiel hier:
http://www.domis.de/cms/index.php?module=ContentExpress&func=display&bid=24&btitle=Content_Menu&mid=3&ceid=7

// EDIT:
Die musst du natürlich dynamisch erstellen, aufs Formular kannst du die natürlich mit deiner Version nicht legen.


bitboy0 - Di 02.12.08 17:52

Nein, also einen Bluescreen wollte ich nicht unbedingt erreichen *g* ich hatte zunächst den gleichen Gedanken und hab das mit COPY CON COM1 auch mal probiert ;)


Leider sind meine Kenntnisse in Delphi recht rudimentär ... ich hab ein paar einfache Tools für meinen Gebrauch geschrieben, aber ich tu mir schwer mit solchen Begriffen wie "dynamisch erzeugen von Komponenten" ...

In Delphi6 PE konnte man komponenten ja noch einfach so in die IDE einbauen ... das geht mit TorboExplorer wohl nicht mehr, oder?

Ansonsten würde es für meinen Zweck ja reichen wenn ich eine Anwendung erzeuge die KEIN Fenster öffnet ... wie kann man denn eine EXE für die Kommandozeile anlegen? Und wie muß ich dann eine "dynamische" Komponente einbauen?

Für Verweise auf entsprechende Internetseiten wäre ich auch schon dankbar ... Google ist heute irgendwie nicht mein Freund und ich hab wohl nicht die optimalen Suchbegriffe dafür gewählt ... ich finde nichts brauchbares.

gruß


jaenicke - Di 02.12.08 17:58

Grundsätzlich musst du nur die entsprechende(n) Unit(s) in dein Projekt einbinden (uses + Delphi-Suchpfad) und dann die Komponente wie jedes andere Objekt erstellen.
http://www.delphi-treff.de/tutorials/vcl/komponenten-zur-laufzeit-erstellen/page/1/


aladin60 - Di 02.12.08 18:00

...Zum dynamischen erzeugen gibt es ein Tutorial, musst mal suchen. Aber machen wirst Du es schon selbst...

Konsolenanwendungen erzeugt man mit dem Applikationstyp Console, oder einfach in der Delphi-IDE:
- Menü: Datei neu..., weitere Delphi-Projekte, Konsolenanwendung.

Bernd.


jaenicke - Di 02.12.08 18:03

Du musst aber keine Konsolenanwendung schreiben, du kannst ruhig ein normales Programm schreiben.

Und du kannst die Demo auch benutzen, du musst nur darauf achten, dass die Komponente nicht in der IDE vorhanden ist, du bekommst eine entsprechende Meldung. Bestätige die und erstelle dann dynamisch eine gleichnamige Komponente in FormCreate, dann sollte die Demo funktionieren. Vergiss auch die Events nicht zu verdrahten.


bitboy0 - Di 02.12.08 19:59

Na supi! Danke für den Link!

Ich möchte bei der Anwendung NICHTS sehen! Die soll einfach im Hintergrund kurz ihren - taskplanergesteuerten - Job machen und sich ohne irgendeine Meldung wieder beenden... deswegen dachte ich an eine Konsolenanwendung.

Es geht dabei um den Start- und Stopbefehl für einen Beamer ... den kann man ja nicht einfach so per Zeitschaltuhr abschalten weil die Lampen ja nachkühlen müssen.

gruß


jaenicke - Di 02.12.08 20:03

user profile iconbitboy0 hat folgendes geschrieben Zum zitierten Posting springen:
Ich möchte bei der Anwendung NICHTS sehen! Die soll einfach im Hintergrund kurz ihren - taskplanergesteuerten - Job machen und sich ohne irgendeine Meldung wieder beenden... deswegen dachte ich an eine Konsolenanwendung.
Wie das geht wurde dann ja bereits gesagt, und bei einer Konsolenanwendung gibts auch keinen Unterschied zu D6, weil man da ohnehin alles manuell erzeugen muss.


bitboy0 - Di 02.12.08 21:15

Gut! Ich werde mal sehen wie weit ich komme ... Ihr werdet mich schon weinen lesen wenn es nicht geht wie ich es will ;)

gruß