![]() |
Druckerport ansprechen...
und einzelne Ausgänge H/L setzen.
:hi: erstmal, ich hab schon geGoogelt, aber nciht tolles gefunden. Bis jetzt mache ich es so:
Code:
Das Problem ist, wenn ich nun auf den Button klicke, dann bleibt das Programm total hängen. Es gibt aber keine Fehelrmeldungen o.ä.
procedure TForm1.Rel1Click(Sender: TObject);
//Relais 1 EIN var tf: TextFile; begin AssignFile(tf, 'LPT1'); ReWrite(tf); WriteLn(tf, Chr(27), 'd', Chr(0), Chr(255)); CloseFile(tf); end; Ich kann nur noch Programm rücksetzen klicken. Run geht auch nciht mehr. Wenn ich die Zeile mit Write Kommentiere, dann kann ich halt ganz normal auf den Button klicken. Irgendwie blick ich da überhaupt nicht mehr durch. Vielleicht könnt ihr mir Helfen. Vielen Dank. Grüsse, Daniel :mrgreen: |
Ich bin mir nicht 100%-ig sicher, aber vielleicht könntest du in Writeln-Zeile was anderes schreiben, vielleicht liegt es einfach nur daran was du schreibst...
Chris |
Um Ports direkt zu steuern, würde ich eine entsprechende Komponente nutzen. Oftmals ist dort der Quellcode ja auch dabei, so dass man sich ansehen kann, wie es funktioniert. Eine der möglichen Quellen wäre
![]() Grüße, Daniel |
Ich hbas mal mit WriteLn(tf, #0, #255); probiert. Also Kanal 1 auf H. Einfacher geht es nciht!!! Das Problem ist immernoch da. Die eine Zeile kann doch nciht so schwer sein. Das gibts nicht.
Ich werd mir mal ein paar Kompos anschauen. Das wollte ich halt vermeiden. Naja, mal sehen. Grüsse, Daniel :mrgreen: |
Hi,
ganz hardewaremässig kannst ´du es mit einem entsprechenden Assambler-Code machen. Den füst du ein indem du
Code:
schreibst.
asm
//CODE end; MFG Thomas |
Wie man Assembler einfügt ist mir schon klar. Aber ich kann kein ASM. Ich hab zwar ein Beispiel da, aber es sind über 50 Zeilen und erstens Blick ich da ´nicht durch und zweitens kann ich nicht rauslesen wie ein Port jetzt auf H oder L gezogen wird.
Trotzdem Danke. Grüsse, Daniel :) |
Moin Daniel B,
wenn das Betriebssystemunabhängig funktionieren soll, wirst Du wohl eh' ohne Assembler auskommen, falls es Dich beruhigt. ;-) Die Ports direkt damit anzusprechen, via IN/OUT wird nur unter 95/98, wahrscheinlich auch ME funktionieren. Bei NTff ist der direkte Zugriff auf die Hardware ja nicht möglich (falls Du keinen Treiber schreiben willst) Und die entsprechenden API Befehle in Assembler zu verpacken dürfte sich wohl nur lohnen, wenn es um Geschwindigkeit geht. |
Hallo Christian,
BS-Unabhängig wäre ganz schön. Ich möchte einfach nur die 8 Ports auf H oder L ziehen. Mehr nicht. Für so eine Relaiskarte die ich selbst gebaut habe. Später soll es dann über die serielle laufen, mit Bus für mehrere Karte usw. Aber im mom. nur Paralellport. Sonst nichts. Hab nicht gedacht das es sooo Plöd wird. Naja. Grüsse, Daniel :mrgreen: |
Re: Druckerport ansprechen...
hi
ich habe ein ähnliches prob, bloß will ich den druckerport nehmen. es wäre gut, wie in basic: out 888, 1... weil ich habe ein lauflicht gebaut (mit 8 dioden) und möchte die zum leuchten bringen. |
Re: Druckerport ansprechen...
Guck mal in der Sparte "Tutorials und Kurse"... Dort findest du mindestens zwei Tutorials die dir helfen können. Auch hier in der DP mal nach
![]() MfG Florian :hi: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 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