![]() |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Hey pmc! Hab deine email erhalten. Wie meinst du das mit compilierte Units zurueck???? Was bringt dir das? Check ich nicht!!! Tut mir Leid dass ich jetzt erst antworte, aber mein Internet scheint mich nicht mehr so zu mögen. Ich werd mir das Programm erst heuteabend angucken koennen, aber vielen Dank schonmal!!!
pmc ist der Beste! pmc ist der Kluegste! pmc hats drauf! pmc ist cool! ein hoch auf pmc! pmc ist der Beste! pmc ist der Kluegste! pmc hats drauf! pmc ist cool! ein hoch auf pmc! pmc ist der Beste! pmc ist der Kluegste! pmc hats drauf! pmc ist cool! ein hoch auf pmc! pmc ist der Beste! pmc ist der Kluegste! pmc hats drauf! pmc ist cool! ein hoch auf pmc! pmc ist der Beste! pmc ist der Kluegste! pmc hats drauf! pmc ist cool! ein hoch auf pmc! pmc ist der Beste! pmc ist der Kluegste! pmc hats drauf! pmc ist cool! ein hoch auf pmc! pmc ist der Beste! pmc ist der Kluegste! pmc hats drauf! pmc ist cool! ein hoch auf pmc! pmc ist der Beste! pmc ist der Kluegste! pmc hats drauf! pmc ist cool! ein hoch auf pmc! pmc ist der Beste! pmc ist der Kluegste! pmc hats drauf! pmc ist cool! ein hoch auf pmc! pmc ist der Beste! pmc ist der Kluegste! pmc hats drauf! pmc ist cool! ein hoch auf pmc! pmc ist der Beste! pmc ist der Kluegste! pmc hats drauf! pmc ist cool! ein hoch auf pmc! |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
^^^^^^ :gruebel: Nur weil er Langeweile hatte ;) ;)
Mit kompilierte Unit meint er: .pas öffnen, F9 drücken, .dcu zurückschicken... Oder war da jetzt nen Fehler??? :roll: MfG Florian :hi: |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Zitat:
Du weisst doch was compilieren ist oder????? bis denne !!! :hi: p.s. : balde ist es wieder zeit für :xmas: !!! |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Was compilieren heisst, weiss ich nur ich versteh den Sinn nicht. Hab das Programm immer noch nicht getestet (wegen Umzug), aber werd ich heuteabend machen und dir dann die comp. Units zurueckschicken.
Ich hab noch ne Frage zu dem 1. Programm; da stand irgendwie sowas; wenn man son Bit "anchecked" dann lautet die Zeile in etwa so: (Fuer die Variablen faellt mir grad der Name nicht ein). If "Variable" and "Variable2" = "Variable2" then... Das beweisst dass ich Delphi-newbie hoch 10 bin. Einmal check ich nicht das if "Variable" weil man das doch "abfragen" muss z.B. if "Variable"=10 aber da steht ja nur if "Variable". So wie ich es mir vorstelle, handelt es sich um eine boolean-Variable und bedeutet etwa das gleiche wie if "Variable"=1 b.z.w. "true", oder? 2. Frage: ... and "Variable2"="Variable2" then... Ist es nicht selbst verstaendlich, dass "Variable2"="Variable2" ist, sowie 2=2 ist oder 100=100? Ich muss echt noch vieles, vieles lernen. Schuldigung fuer diese Grammatik!!! Ich danke allen die mir versuchen zu helfen!!!!! P.S.: 3. Frage: Flo meinte .pas oeffnen, F9, .dcu zurueckschicken; Ist eine .dcu Datei nichts anderes als eine compilierte .pas Datei? DANKE! |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
es gibt variablem vom typ BOOLEAN.
diese variablen kennen nur die werte TRUE(Wahr) und FALSE(falsch)!!! Wenn du eine BOOLEAN-Variable abfragst und danach fragen willst ob sie true ist dann brauchst du nur schreiben if Variable then.... und nicht if variable=True then .... obwohl das auch ginge!!!! Genauso kannst du wenn du nach false fragen willst if not variable then.... anstat von if variable=False then... benutzen!!! Du kannst ja einen Pin auch immernur an oder aus machen !!! |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Jo Danke! So in etwa hatte ich es mir schon gedacht. Aber was ist mit der 2. Frage? Da check ich echt den Sinn nicht drinne? Haette man das nicht auslassen koennen, weil eine Variable natuerlich immer so groß ist wie sie selbst (komischer Satz).
|
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Wo steht sowas????
Schreib mal den Quelltext ausschnitt den du meinst!!!! |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Hallo
Thx erstmal für das Prog. Soo mein frage. Kann ich mit einbinden des ParaPrcs die Bits nur einzelds setzten uns rücksetzen?? Ich will mir mit Delphi ein Programm schreiben mit dem ich über den Paralleport mehrer rten von Lauflichtern erzeugen kann. Ich hab es bis jetzt geschafft das die LED's mit aktiviern der CheckBox nacheinander angehn und wenn ich die CheckBock wieder deaktiviere wieder aus gehn. Aber ich habe noch nich rausgefunden wie ich einfach einen Wert auf den Datenport ausgeben kann. z.b. 128 zum setzen des höchstwerigten Bits. das Geht zwar acuh mit dem befehl b[7]... aber wenn ich in die selbe CheckBox noch reinsetze b[6].. leuchten beide und nicht wie von mir erhofft erst nach das 7 und dann das 6. Ich bräuchte also eine umkehrbefel für den b[6]:=CheckBox7.Checked; writedatalines(a); oder eine womit ich einfach eien dezimal wert ausgeben kann. Aber so wie es mir scheint kann ich nur die einzelen Bits setzen. |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
du hast es erfasst aber du kannst dir eine procedure schreiben mit der du die dezimal zhal in eine binärzahl umrechnen lässt....und die auch die entsprechenden bits setzt!!!!
|
Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Tach auch. Neu hier und noch keinen Plan, wie das mit dem B[0] bis b[7] gemeint ist. Ist b[x] ein Array oder ne Funktion? Dem letzten Beitrag zufolge könnte es eine Funktion sein, jedoch müsste es dann so sein, dass keine eckigen, sondern runde Klammern den Variablenwert übergeben. Zumindest war das bis gerade meine Weltanschauung. Also spricht dies für einen Array.
Wie sieht das mit dem Verständnis des Programms aus? Wenn ich meinem Programm also sage, er solle "writedatalines(b)" ausführen und b ein Array ist, gibt dann er dann alle Stellen des Arrays aus? Ich glaube jetzt bin ich völlig auf dem Holzweg, aber bitte um eine Erläuterung des Programmes "PortAcces" zum Ansteuern des Parallelportes, wenn möglich. :?: |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Also nochmal :
Die DataLines sind die ausgänge der schnittstelle d0 bis d7...darüber werden die daten an den drucker gesendet!!! Die CtrlLines sind die ausgänge der schnitstelle init - strobe - AutoLF - Select...darüber wird der drucker gesteuert!!! Die StateLines sind die eingänge der schnittstelle Busy- Online - Paper - ACK - Error....darüber sendet der drucker seinen status zum PC ... damit da entsprechend gehandelt wird!!! DataLines : willst du do auf Hi setzen dann machst du
Delphi-Quellcode:
willst du dx auf Hi setzen dann machst du
datenleitungen[0]:=True; {Oder False für Low *}
Delphi-Quellcode:
zum schluss schreibst du dann die leitungen :
Datenleitungen[x]:=True; {Oder False für Low *}
Delphi-Quellcode:
*DatenLeitungen steht hier für eine Variable des Typs TDBits;
WriteDataLines(Datenleitungen);
Delphi-Quellcode:
TDBits = Array[0..7] of Boolean;
CtrlLines : willst du Init auf Hi setzen dann machst du
Delphi-Quellcode:
willst du Select,Strobe oder AutoLF auf Hi setzen dann machst du
CtrlLeitungen.Init:=True; {oder False für Low *}
Delphi-Quellcode:
Zum schluss schreibst du dann die Leitungen :
CtrlLeitungen.Select:=True; {oder False für Low*}
CtrlLeitungen.Strobe:=True; {oder False für Low*} CtrlLeitungen.AutoLF:=True; {oder False für Low*}
Delphi-Quellcode:
*CtrlLeitungen steht hier für eine Variable des Typs TCLines
WriteCtrlLines(CtrlLeitungen);
Delphi-Quellcode:
TCLines = Record
Init : Boolean; Strobe : Boolean; Select : Boolean; AutoLF : Boolean; end; StateLines : Willst du wissen ob Busy auf Hi oder Low steht dann machst du das so :
Delphi-Quellcode:
Genauso macht man das auch mit ACK,Online,Paper und Error!!!
ReadStateLines(StatusLeitungen);*
if Statusleitungen.Busy=True then label1.caption:='Hi' else Label1.caption:='Low';* *StatusLeitungen steht hier für eine Variable des Typs TSLines!!!
Delphi-Quellcode:
TSLines = Record
Busy : Boolean; ACK : Boolean; Paper : Boolean; Online : Boolean; Error : Boolean; end; Jetzt verstanden???? |
Steuerung jedes Pines des Parallelports mit Win95 bis Wi
:-D :hello:
Tach auch. Vielen Dank! Jetzt hab auch ich es kapiert und werd mich da jetzt mal dran machen! Wünsche einen angenehmen Tag und Sorry, dass ich mit einer so niveaulosen Frage gekommen bin, aber manchmal hat man halt ein Brett vorm Kopf oder (wie ich) keine bzw. noch nicht genug Ahnung! THX :wall: |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Moin
Der will bei mir die ParaPrcs.pas im Verzeichnis ...\delphi7\Rave5\Lib (=> hab Delphi 7) Ich hab schon versucht die dcu reinzukopieren...die will er aber net. Wär net schlecht, wenn du mir irgendwie die .pas geben könntest. Niels |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Ja bei mir ist das selbe Problem auch unter Delphi 7
Bitte sei so lieb und poste uns eine dcu die auch unter Delphi 7 funktioniert, das wäre eine super sache. Oder weis wer eine Alternative?? Dankeschööön =) |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Hi!
(Ich muss mich auch mal hier zu Wort melden) Die dcu, an der du am arbeiten bist, pmc, kann die auch Interrupt-Befehle erkennen? (Hab mal ein bisschen gelesen *grins*) Tschu, Borti |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Nein sie kann keine Interrupt befehle erkennen....
|
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Hi,
ich möchte bitte auch eine in D5 kompilierte Version, wenns geht. Gruß Tyrael |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Hi
ich habe einen sehr interessanten Beitrag zu diesem Thema gefunden ![]() Dort wird der zugriff durch eine dll geregelt, die als Treiber funktioniert. Es funktioniert sehr gut und ist einfach. Die DLL und eine Beschreibung bekommt man unter ![]() |
Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Hey da draußen! :wiejetzt:
Ich hab mal wieder ein Problem: Wenn ich in meinem Programm die Function PortReset nutzen will, so wie es in dem Beispielprogramm (PortAcces) ist (und zwar exakt so!), dann wird der Else-Befehl aufgerufen (also der Treiber konnte nicht geladen werden). Woran könnte das liegen? Ich nutze XP, Delphi 6 (und hab Delphi 3 auch noch drauf). Das Beispielprogramm funktioniert ohne Probleme! Wäre cool, wenn mir jemand (pmc) antworten könnte, bis dahin wünsch ich ein schönes Wochenende... Der Gitarrist |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Du musst folgende dinge beachten....
1. Die Datei muss vor dem Test gespeichert werden ... es darf keine temporäre datei sein(.pas) 2. Treiber und Programm müssen im selben DIR sein.... |
Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Guten Morgen.
ich stelle jetzt wahrscheinlich die dümmste Frage überhaupt, aber ddkint.dcu ist der Treiber oder wie muss ich das verstehen? Alles im selben Dir? Also C:\...\Projects\Projektname\ und hierdrin nun die *.pas, *.dfm, *.dpr, *.exe, Paraprcs.dcu, ddkint.dcu? Ich entschuldige mich, falls diese Frage das tiefste Niveau erreicht hat, bitte aber dennoch um eine Antwort. Vielen Dank im Voraus! Schönen Sonntag noch |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
du hast drei dateien...
1. Paraprcs.dcu -> Hier sind die Proceduren zum steuern drin... 2. ddkint.dcu -> Hier sind Proceduren die der PC zum Initaliesieren braucht drin... 3. Portdriver.sys -> wie schon zu erkennen stecken hier die wörter Port = Schnittstelle und Driver = Treiber drinnen .... Portdriver muss im selben dir sein wie dein Program (.EXE) |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Vielen Dank! Wo du es sagst, ist mir auch mal aufgefallen, dass sich diese Datei bei den entpackten befindet. Da hätt ich lange rumrätseln können. :coder: Wünsche angenehme Woche - bis zum nächsten Problem...
|
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Hi,
leider kann ich das Archiv in deinem ersten Post nicht verwenden, da das Archiv beschädigt ist und sich somit nicht entpacken lässt. Wenn jemand ein funktionsfähiges vielleicht anhängen könnte, wäre das äußerst praktisch, denn ich muss eigentlich immer nur einen Pin an und aus machen. *g* Chris |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Ist jetzt noch einmal zusätzlich als ZIP am ersten Beitrag dran ;-)
...:cat:... |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Also erst mal vielen Dank für die .dcu für Delphi 6. Ich arbeite momentan problemlos damit :hello: und baue gerade an einem projekt.
Also meine Frage: Wird in nächster Nähe (bis So. oder Di.) eine .dcu für Delphi 7 verfügbar sein? Würde mir viel Arbeit abnehmen, da ich sonst einen anderen Treiber bis dahin einbinden müsste... Schon mal vielen Dank, Grüße Wolti |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Ich arbeite ebenso mit Delphi7 und würde mich sehr freuen dafür eine compilierte Version zu bekommen :thuimb:
|
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Ich habe momentan das Problem, dass das Programm immer "Treiber konnte nicht geladen werden!" anzeigt...
Auch nach neustart....nach einem Klick auf Read-State ist "Busy" aktiv... Was könnte das Problem sein? CrashMan EDIT: Problem gefunden *schäm* ... Treiber im falschen Verzeichnis ... |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
schon wieder ein Problem *g*
(Anmerkung: Es tat vor langer Zeit schonmal ...) Die Read-States zeigen alle an Die Read-Write-States kann ich aktivieren und des TestLämpchen leuchtet Aber bei den Datenleitungen leuchtet die LED schwach, egal ob ich die Leitung an oder aus hab ... wo liegt das Problem? CrashMan |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
hi,
ich beschäftige mich erst seit kurzem mit der steuerung der parallelports. das demoprogramm (portaccess) funktioniert ohne probleme. wenn ich allerdings ein eigenes programm schreibe (uses paraprcs und dcu-datien kopiert), findet er die paraprcs.pas nicht. ich habe delphi 6 und win xp. für eine lösung wäre ich sehr dankbar. |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Hat denn mal irgendjemand versucht mit DeviceIoControl() und diesen IOCTLs den Parallelport anzusteuern? Ich seh ständig Versionen die generischen Portzugriff durchreichen und damit mehr Lücken aufreissen als mancher zu glauben scheint. Oder geht das nur aus dem Kernelmode? Habe es selber noch nicht probiert, aber dazu sind IOCTLs doch gut, Interface zu einem Treiber aus dem Usermode, aber eben angepaßt an ein bestimmtes Gerät.
Code:
Quelle: ntddpar.h
IOCTL_PAR_QUERY_INFORMATION
IOCTL_PAR_SET_INFORMATION IOCTL_PAR_QUERY_DEVICE_ID IOCTL_PAR_QUERY_DEVICE_ID_SIZE IOCTL_IEEE1284_GET_MODE IOCTL_IEEE1284_NEGOTIATE IOCTL_PAR_SET_WRITE_ADDRESS IOCTL_PAR_SET_READ_ADDRESS IOCTL_PAR_GET_DEVICE_CAPS IOCTL_PAR_GET_DEFAULT_MODES IOCTL_PAR_PING IOCTL_PAR_QUERY_RAW_DEVICE_ID IOCTL_PAR_ECP_HOST_RECOVERY IOCTL_PAR_GET_READ_ADDRESS IOCTL_PAR_GET_WRITE_ADDRESS IOCTL_PAR_TEST IOCTL_PAR_IS_PORT_FREE |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
So, um meine eigene Frage zu beantworten. Eine kurze Suche nach einem der IOCTLs ergab folgendes:
![]() ![]() ![]() ![]() So, damit wäre bewiesen, daß es unter WXP (und sehr wahrscheinlich auch unter NT4 und W2K!) sehr wohl auf sichere Art und Weise geht, nämlich mit DeviceIoControl() ohne gleich generischen Portzugriff zu erlauben! Nachtrag: Bitte benutzt keine solche Frickellösung mit extra Treiber für den Produktiveinsatz!!!! Um zu verdeutlichen was ich meine (und das ist wahrlich nicht als Angriff gemeint!) bedenke man doch bitte mal, wozu die Usermode/Kernelmode-Barriere in modernen Protected-Mode OS existiert?! Nämlich dazu um direkten Hardwarezugriff zu vermeiden. Ich bin ja geradezu schon angetan davon, daß der Treiber über die HAL-Funktionen die Portzugriffe realisiert und nicht noch über stupides IN/OUT auf CPU-Ebene - dennoch - ![]() Es gibt sicher Bereiche in denen auch ein generisches Durchreichen von Portzugriffen seine Berechtigung hat, hier jedoch ist es einfach leichtsinnig. Ansonsten würde ich empfehlen wir machen einen anderen Thread auf, wo alle, die Produkte mit einem solchen generischen Porttreiber benutzen (oder schlimmer: schreiben), ihre Produktnamen posten, damit sich der Benutzer wenigstens aussuchen kann, welche gefährlichen Produkte er nicht benutzt! |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Hallo,
vielen Dank für deine Mühe. Aber leider fehlt mir etwas ganz wesentliches: Warum gibts die Procedure Readdata nicht? Die Schnittstelle ist Bidirektional. Das wäre interessant. Rainer |
Und was ist mit Delphi 7 ?
Hallo zusammen,
ich habe Delphi 7. Wo könnte ich denn diese dcu für meine version herbekommen? |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
:cry: :cry: :cry:
Hallo, ich bin auf der Suche nach der LPT1-Steuerung in diesem Forum gelandet und war beim Lesen der ersten Postings total begeistert. Da ich aber auch mit Delphi7 arbeite kam ich bald auf den Boden der Tatsachen zurück. Wie meinen Vorgängern auf dieser Seite, fehlt mir einfach die Lösung für diese Version. Eigentlich schade, wenn man betrachtet was aus diesem Thema gewachsen ist. Vieleicht findet sich ja doch noch mal jemand der den Anfängern bei diesem Problem Unterstützung bieten kann. Ich bedanke mich schon mal bei jedem der seine Zeit opfert um sein Wissen weiter zu geben. MfG |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
|
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Ich habe mal eine Frage:
Wie bekome ich das hin, Daten über die LPT-Schnittstelle einzulesen?? Das Status-Register ist ja dazu da, Daten einzulesen. Meine Überlegung war jetzt: Wenn ich 5V an einen Eingang vom Status-Register anlege, müsste dieser ja auch high, bzw true springen. Doch das funzt nicht. (oder ich stell mich zu blöde an!) Ich wäre für Vorschläge sehr dankbar. |
Hey Leute ich ahb mich vor kurzem hier angemeldet!!!
hab da mal ne frage.... Ich mache jetzt in meiner ausbildung ein projekt mit 2 lichtschranken und eine leterplatte mit 2 dioden (rot und grün) na jedefalls will ich die lichtschranken über den lpt port steuern. Ich benötige ein Programm mit dem ich die signale die die lichtschranken abgeben einlesen kann und dann wenn ich sie verglichen hab an die dioden abgeben kann und somit bestimmen kan ob sie an oder aus sein sollen!!! Ich hoffe ihr könnt mir helfen.... |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
Hallo,
Kennt den keiner einer Möglichkeit wie man das Ganze unter Delphi 7 oder Delphi 3 zum laufen bringen kann? Danke schonmal, I love Delphi! |
Re: Steuerung jedes Pines des Parallelports mit Win95 bis Wi
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:15 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