Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Die 8 Pins des Parallel Port ansprechen ? (https://www.delphipraxis.net/3099-die-8-pins-des-parallel-port-ansprechen.html)

Darty 23. Feb 2003 11:44


Die 8 Pins des Parallel Port ansprechen ?
 
Hi Delphianer,

ich suche eine einfache Lösung die ersten 8 Pins am Parallel-Port anzusprechen. Ich möchte mit meinen Programm zum Beispiel einen Signal an Pin 3 und Pin 5 senden. Damit wird eine Relais Karte angesteuert. Wenn es geht sollte es generell auf jeden OS laufen. Wüsste da einer wie dass funktioniert, da ich leider noch nie eine Hardware Steuerung programmiert habe.
Danke schon mal für euer Mühe ..

MadMason 23. Feb 2003 12:58

Das Problem hatte ich auch schon einmal.
Dafür gibt es Komponenten, hab die die ich damals verwendet hab leider nicht mehr gefunden, hab sie aber auf jeden fall von Torry
musst einfach mal dort suchen.

Meld dich bei weiteren fragen

cu

flomei 23. Feb 2003 15:29

Kommt mir bekannt vor das Thema.
Parallelport Ansteuerung
Da hab ich auch mehrere Dateien angehängt. Irgendwo ist das Prog mit sämtlichem Code... und weiter unten ist ne dll. Die musst du nach C:\Windows\System\ kopieren. Dann läuft das Prog eigentlich fehlerfrei unter 95, 98, 98SE und ME. Nicht unter 2000 und XP.
(Du kannst meinen Code ruhig benutzen aber schick mir mal das Ergebnis, bitte!)

In meinem Prog wird übrigens der erste Pin angesteuert.

MfG Florian

Darty 23. Feb 2003 16:24

Unter Win2000 geht es nicht ? Ich gucks mir jetzt mal an ..

Darty 23. Feb 2003 17:16

@Mad Mason: Ich habe leider nix passendes beim Torry gefunden ..

@flomei: Da das Code von Dir ist, könntest DU oder ein anderer mir mal diesen Bereich näher erklären ?

Code:
procedure port(x:byte);
begin
asm
mov dx,378h
mov al,x
out dx,al
end;
end;
so wie Du gesagt hast wird nur Pin1 angesprochen ? dass heisst Port(1) ist an, Port(0) ist aus ?
Code:
procedure TSteuerung.rbtnleftClick(Sender: TObject); assembler;
begin
port(1);
end;

procedure TSteuerung.rbtnrightClick(Sender: TObject); assembler;
begin
port(0);
end;
Was wäre wenn ich jetzt Pin 3 und 5 ansprechen möchte ?


Nachtrag: Oder könnte sein dass bei port(5) dann Pin 1 und 3 angesprochen wird wenn man an das Dualsystem denkt ?

Christian Seehase 23. Feb 2003 17:33

Moin M.Knebel,

Port 378Hex ist der Standardport für die parallele Schnittstelle.

Delphi-Quellcode:
mov dx,378h // Port laden
mov al,x    // auszugebenden Werte laden
out dx,al   // Byte ausgeben
Zu Deinem Nachtrag:
Da ja ein Byte (also 8 Bit) auf dem Port ausgegeben werden, würde ich mal sagen ja, aber ohne Gewähr.

Da mittels OUT eigentlich direkt die Hardware angesprochen wird, ist es recht unwahrscheinlich, dass eine Anwendung unter NT/W2K/XP diesen Befehl korrekt ausführen kann. Da sollte der Hardwarezugriff den Treibern vorbehalten sein.

@Flomei:
Zu Deiner Signatur kann ich nur sagen:

yIDoghQo'

;-)

Darty 23. Feb 2003 23:04

Also mein Kollege hatte es mit seiner RTA1000 Relay Card getestet. Und konnte kein Signal bemerken. Eventuell ist dass so kurz dass es nicht sichtbar ist. Wollte nur noch ein kleiner Listing in Basic (habe es nicht) posten damit man sieht dass es normal simpel wäre ..

Code:
10 INPUT "RTA1000 BOARD DATA";A
20 IF A>255 THEN END
30 LPRINT CHR$(A);
40 GOTO 10
Nun gibt es bei Delphi sowas ähnliches wie ein LPRINT ?

Luckie 24. Feb 2003 03:11

So was:
Delphi-Quellcode:
uses
  Printers;

procedure TForm1.Button1Click(Sender: TObject);
var
  F: TextFile;
begin
  AssignPrn(F);
  Rewrite(F);
  Writeln(F, 'Hello paper.');
  System.CloseFile(F);
end;

Darty 24. Feb 2003 09:39

@Christian: Hatte mich zwar schon per PM bedankt, mache es aber an dieser Stelle nochmals ;)

@Luckie: Danke für den Code. Man kann wohl keine Steuerzeichen wie chr$(4) senden. Da der Chr Befehl in Delphi nur den Ascii Code zurückgibt dass in den Klammer steht.

Suche aber trotzdem mal ob ich doch etwas in Torry finde ..

Sharky 24. Feb 2003 10:01

Hai,


da die Frage ja immer wieder kommt habe ich mal bei Tante Google gesucht:

Hier ist ein Ergebniss müsste man mal testen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:34 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