Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi LPT überwachen (https://www.delphipraxis.net/63777-lpt-ueberwachen.html)

philiph 22. Feb 2006 19:16


LPT überwachen
 
Also ich habe mir schon viele Tutorials und Beiträge dazu angeschaut aber nichts hat mich weitergebracht. Ich habe einen Taster am LPT Port und möchte bei druck darauf im Prog. eine Prozedur auslösen wie mache ich das?

turboPASCAL 22. Feb 2006 19:51

Re: LPT überwachen
 
Suche mal nach der Hier im Forum suchenINPOUT32.DLL, dann kanst du auch LPT-Port-Pins abfragen.
Guckst du auch: Auslesen des Parallel Ports die Suche machts möglich ... ;)

Delphi-Quellcode:
procedure Out32(Addresse:Integer; Wert:byte); stdcall; export;
external 'INPOUT32.DLL';

function Inp32(Addresse:Integer):Byte; stdcall; export;
external 'INPOUT32.DLL';

omata 22. Feb 2006 21:33

Re: LPT überwachen
 
Moin,

oder wenn du gern auf den Interrupt des LPT-Ports reagieren möchtest, schau mal hier

MfG
Thorsten

philiph 23. Feb 2006 16:20

Re: LPT überwachen
 
Danke erstmal aber wie kann ich jetzt einen bestimmten Ein bzw. Ausgang abfragen?

Wie müssste es z.B. aussehen um den eigentlichen busy(Pin11) Status abzufragen?

PS:der obige code geht bei mir nicht :gruebel: edit:Problem gelöst

turboPASCAL 24. Feb 2006 00:15

Re: LPT überwachen
 
Warscheinlich weil du die Pin's nicht richtig angeschlossen hast ? :gruebel:

Wie hast du den den Taster angeschlossen ?

philiph 24. Feb 2006 09:51

Re: LPT überwachen
 
Zwischen Pin 11 und Pin 25 (mit anderen Programmen geht das)

turboPASCAL 24. Feb 2006 15:43

Re: LPT überwachen
 
Guck mal: http://www.vbarchiv.net/workshop/workshop76.php ist zwar kein Delphi aber die Vohrgehensweise
ist gut erklärt.

Schon mal gemessen ob auch eine Spannung da ist ?

Zitat:

(mit anderen Programmen geht das)
und welchem, Code dabei?

philiph 24. Feb 2006 16:28

Re: LPT überwachen
 
Also das auslesen bekomme ich jetzt halbwegs hin lag am Taster aber ich habe mir nun mal näher das angeguckt Auslesen des Parallel Portsund mit
Delphi-Quellcode:
out32(888,1);
den D0 auf high gesetzt ich weiss auch das wenn ich die eins durch eine zwei ersetze ich das für D1 mache aber wie kann ich sie unabhängig voneinander abschalten? ich habe es bisher nur geschaft mit
Delphi-Quellcode:
out32(888,0);
alle abzuschalten!

turboPASCAL 24. Feb 2006 16:32

Re: LPT überwachen
 
http://www.delphipraxis.net/internal...=435477#435477 ...und abwärts mal gucken.

philiph 24. Feb 2006 17:23

Re: LPT überwachen
 
Liste der Anhänge anzeigen (Anzahl: 1)
und was genau davon brauche ich jetzt das meiste geht bei mir nicht :wall:

wieso z.B. wird bei meinem Programm immer nur eine LED angemacht

turboPASCAL 24. Feb 2006 17:57

Re: LPT überwachen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Code:
procedure TForm2.Button1Click(Sender: TObject);
begin
Case [color=#ff0000](Sender as TCheckBox).Tag[/color] of
In deinem Demo sind die Tag's leer. Die sollten im OI oder im Code gesetzt werden sonnst funktioniert das Demo nicht.

Ein B. um die Tag's zur Laufzeit zu setzen:
Delphi-Quellcode:
procedure TFormX.FormCreate(Sender: TObject);
var i: Integer;
begin
  for i := 0 to 7 do
   (FindComponent(format('CheckBox%d', [i+1])) As TCheckBox).Tag := i;

// (FindComponent(format('CheckBox%d', [i+1])) As TCheckBox).Tag := i;
// kann man auch anders schreiben:
// TCheckBox(FindComponent(format('CheckBox%d', [i+1]))).Tag := i;
end;

philiph 24. Feb 2006 19:09

Re: LPT überwachen
 
danke!! :P :thumb:

philiph 25. Feb 2006 06:50

Re: LPT überwachen
 
Also ich weiss das passt jetzt nicht mehr wirklich zum Titel aber ich wollte mal fragen wie ich z.B. Pin 14 ansteuere ich bekomme das bisher nur mit pin 2-9 hin

zebrafalke 26. Feb 2006 19:27

Re: LPT überwachen
 
Wenn ich sage

Delphi-Quellcode:
// inpout32.dll für LPT-Ausgang unter WinNT, Win2000 und WinXP laden
procedure Out32(PortAddress:word;Value:byte);stdcall;export;
external 'inpout32.DLL';
function Inp32(PortAddress:word):byte;stdcall;export;
external 'inpout32.DLL';


procedure TForm1.Button1Click(Sender: TObject);
begin
 Out32(888,1);
end;
Dann gibts ne Fehlermeldung:
"Konstantenausdruck verletzt untere Grenzen" :gruebel:

Was mach ich falsch?

philiph 27. Feb 2006 12:54

Re: LPT überwachen
 
Am Code ansich ist nichts Falsch da muss so was nicht klappen schreibe mal deinen ganzen Code rein dann kann ich dir vieleicht weiterhelfen(PS:kennt noch jemand ne Lösung auf mein Problem bevor man ein neues anfängt)

turboPASCAL 27. Feb 2006 13:10

Re: LPT überwachen
 
Pin 14, was hast den du vor ?

Code:
 Signalname | LPT-Pin | BitNr | Portname
 --------------------------------------------
 Data0      |    2    |   0   | DatenPort
  ...
 Data7      |    9    |   7   | DatenPort
 --------------------------------------------
 Strobe    |    1    |   0   | KontrollPort
 AutoFdx   |   14    |   1   | KontrollPort // <--<<<
 InitPrnt  |   16    |   2   | KontrollPort
 SlctInp   |   17    |   3   | KontrollPort
 --------------------------------------------
 Err       |   15    |   3   | InputPort
 Slct      |   13    |   4   | InputPort
 PE        |   12    |   5   | InputPort
 Ack       |   10    |   6   | InputPort
 Busy      |   11    |   7   | InputPort
 --------------------------------------------
 GND       |  18-25  |   -   | Masse
 --------------------------------------------

philiph 27. Feb 2006 13:22

Re: LPT überwachen
 
ich wollte sie zusätzlich zu den Daten Ports als Ausgang benutzten um mehr ansteuerungsmöglichkeiten zu haben.

turboPASCAL 27. Feb 2006 14:23

Re: LPT überwachen
 
Ne, is nicht. :gruebel: Das ist ein Daten Port. Du solltest dafür dann eine kleine Schaltung bauen.
Stichwort des Computerclubs I²C-Bus ;)

Für den Com (Serial) Anschluss schaut das dann so aus: 8x8 Leuchtdioden

zebrafalke 27. Feb 2006 19:49

Re: LPT überwachen
 
Das ist der gesamte Code:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type

  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

// inpout32.dll für LPT-Ausgang unter WinNT, Win2000 und WinXP laden
procedure Out32(PortAddress:word;Value:byte);stdcall;export;
external 'inpout32.DLL';
function Inp32(PortAddress:word):byte;stdcall;export;
external 'inpout32.DLL';


procedure TForm1.Button1Click(Sender: TObject);
begin
 Out32(888,1);
end;
end.
:wiejetzt: :wiejetzt: :wiejetzt: :wall: :wall: :wall:
*nixkapier*

turboPASCAL 27. Feb 2006 20:22

Re: LPT überwachen
 
Juhu der1000 'ste Post


Zitat:

Zitat von zebrafalke
*nixkapier*

Ich auch nicht. Was gibt es denn für ein Problem ?

Schau mal hier vorbei, da gibt es einen kompletten Sourcecode für das ansteuern von LED's über den Druckerport.


:cheers:

philiph 28. Feb 2006 13:51

Re: LPT überwachen
 
Schau mal ob deine DLL vom Namen her richtig defieniert ist


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:57 Uhr.

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