![]() |
Print-Befehl auch bei Netzwerkdruckern
HI,
da ich gebeten wurde, alle Fragen einzeln zu schreiben, bitte nicht wundern, wenn ich jetzt mehrere Threads öffne... ;-) Also bei dem Problem geht es darum, dass ich einen Druckbefehl:
Delphi-Quellcode:
Dieser funktioniert allerdings nur auf meinem Laptop. Wenn ich es auf einem anderen Rechner versuche, klappt es nicht. Ich denke mal, weil es ein Netzwerkdrucker ist, ist ja sonst kein UNterschied, würde ich jetzt mal als Depp behaupten...
AssignPrn(Auswertung);
Rewrite(Auswertung); Printer.Canvas.Font := Memo1.Font; for Line := 0 to Memo1.Lines.Count - 1 do Writeln(Auswertung, Memo1.Lines[Line]); CloseFile(Auswertung); Kann mir da einer helfen?? Also der Drucker macht nichts und in den Aufträgen hat er einen Fehler... |
Re: Print-Befehl auch bei Netzwerkdruckern
Zitat:
|
Re: Print-Befehl auch bei Netzwerkdruckern
In dem Fenster für die Druckaufträge steht nicht mal der Dateiname oder sonst was... Und rechts davon steht eben nur Fehler... Mehr kann ich eucht nicht sagen, darf NOtebook auch nicht an Drucker anschließen, wegen Firmennetz etc... (Sicherheit)
|
Re: Print-Befehl auch bei Netzwerkdruckern
Zitat:
Zitat:
Aber mal was grundlegendes: Warum überhaupt auf diese komplizierte Weise? Kompliziert im Sinne von den alten Dateiroutinen. Du hast doch mit der VCL OOP Mittel zur Hand bekommen, die du ja mit dem Printer-Objekt schon teilweise nutzt... |
Re: Print-Befehl auch bei Netzwerkdruckern
Hat das Printer-Objekt denn noch die Line-Printer-Schnittstellen (also writeline und so)?
Ansonsten muss man sich halt mit Canvas.TextOut begnügen. |
Re: Print-Befehl auch bei Netzwerkdruckern
schadet es, wenn ich gar keine Ahnung habe, wovon ihr redet?? Ich hab gestern Delphi installiert, hab keine Updates oder sonst was drauf, alles Standart... Kann mir das einer erklären??
|
Re: Print-Befehl auch bei Netzwerkdruckern
Hallo,
Delphi-Quellcode:
ersetze deinen code einfach damit. für anspruchsvollere sachen die gdi-funktion
Printer.Canvas.Font := Memo1.Font;
for Line := 0 to Memo1.Lines.Count - 1 do Printer.Canvas.TextOut(10, Round(Line * Printer.Font.Size * 1.25), Memo1.Lines[Line]); ![]() PS: Damit greifst du nicht mehr auf die alten Lineprinter-Schnittstellen zu und es sollte auch über Netzwerk funktionieren. Hoffe ich. |
DP-Maintenance
Dieses Thema wurde von "r_kerber" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
Delphi-Frage |
Re: Print-Befehl auch bei Netzwerkdruckern
hab mal grad deinen Code statt meinem eingefügt. DU hast in der letzte Zeile bei Printer.Font.Size das Canvas vergessen. Aber trotzdem funktioniert der Code nicht. Ich bkeomme die Fehlermeldung "Der Drucker ist nicht am Drucken"...
|
Re: Print-Befehl auch bei Netzwerkdruckern
Oh, Sorry:
Delphi-Quellcode:
Printer.BeginDoc;
Printer.Canvas.Font := Memo1.Font; for Line := 0 to Memo1.Lines.Count - 1 do Printer.Canvas.TextOut(10, Round(Line * Printer.Canvas.Font.Size * 1.25), Memo1.Lines[Line]); Printer.EndDoc; |
Re: Print-Befehl auch bei Netzwerkdruckern
Hmmm.... sehr komisch. Jetzt funktioniert das Drucken wieder, hab mir auch gedacht, dass die Befehle noch dabei müssen, hab sie aber nicht mehr gefunden... Der druckt aber jetzt voll den Sch*** aus, sehe die Memo, weiß also, was er ausdrucken sollte.
Der druckt nur eine Zeile, wobei er bei der ersten Ziffer sogar noch ne andere Zahl hinschreibt... kurios :-D |
Re: Print-Befehl auch bei Netzwerkdruckern
Hm.
Vorschlag zum Testen:
Delphi-Quellcode:
Printer.BeginDoc;
Printer.Canvas.Font := Memo1.Font; Text := Memo1.Text; // Text IS string brect := rect(10,10,Printer.Canvas.Width-11,Printer.Canvas.Height-11); //brect IS TRect DrawText(Printer.Canvas.Handle, @Text[1],Length(Text),brect,DT_LEFT); Printer.EndDoc; |
Re: Print-Befehl auch bei Netzwerkdruckern
Canvas hat keine Breite und keine Höhe ;-) zumindest beschwert der sich bei mir, undefinierter Bezeichner... Hast in der 4ten Zeile nen ; vergessen ;-) Danke für deine Bemühungen, echt klasse von dir... Ah ; haste schon gefunden :-)
|
Re: Print-Befehl auch bei Netzwerkdruckern
Oh damn, stimmt, dann müssen wir
![]()
Delphi-Quellcode:
So sollts dann aber klappen.
Printer.BeginDoc;
Printer.Canvas.Font := Memo1.Font; Text := Memo1.Text; // Text IS string brect := rect(10,10,GetDeviceCaps(Printer.Canvas.Handle,HORZRES)-11,GetDeviceCaps(Printer.Canvas.Handle,VERTRES)-11); //brect IS TRect DrawText(Printer.Canvas.Handle, @Text[1],Length(Text),brect,DT_LEFT); Printer.EndDoc; |
Re: Print-Befehl auch bei Netzwerkdruckern
wunderbar, jetzt druckt er wieder... auch alles :-D
Muss dann am Montag oder so im Netzwerk probieren, vielen Dnak... |
Re: Print-Befehl auch bei Netzwerkdruckern
Hej, konnte es jetzt endlich mal ausprobieren. Also es funzt über Netzwerk immer noch nicht. Am Drucker liegt es auch nicht, wenn der lokal angeschlossen ist, klappt es...
|
Re: Print-Befehl auch bei Netzwerkdruckern
Liste der Anhänge anzeigen (Anzahl: 1)
Mal grundsätzlich:
unter Windows kann man einen Drucker nur benutzen, wenn er in der Systemsteuerung angelegt wurde. Es ist dabei gleichgültig, ob der Drucker lokal oder irgendwo im Netzwerk angeschlossen ist. In der Druckersteuerung kann man dann unter Eigenschaften auch eine Testseite ausdrucken. Solange die Testseite nicht rauskommt, braucht man über Programmieren oder Fehler im eigenen Programm gar nicht reden. Den nächste Schritt ist dann, mit WordPad oder WinWord irgend einen Text zu drucken. Siehe Anhang. Erst wenn das funktioniert hat, muss man sich Gedanken machen, was man am eigenen Prog. ändern muss, damit etwas gedruckt wird. |
Re: Print-Befehl auch bei Netzwerkdruckern
gut, vll hab ich mich einfach nur blöd ausgedrückt, so das du denkst, dass ich null Ahnung habe.
Ich weiß auch, dass ein Drucker eingerichtet sein muss und habe es auch schon mit Word etc probiert. Selber Drucker funktioniert mit dem Befehl nur an dem PC, an dem er direkt hängt, nicht aber an dem PC, der an ihn über Netzwerk angeschlossen ist. |
Re: Print-Befehl auch bei Netzwerkdruckern
hat jmd noch eine Idee, wie ich nen Befehl zum Drucken auch übers Netzwerk bekommen??
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:47 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