Autor Beitrag
Tony-S
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 184
Erhaltene Danke: 6

Windows 7, XP, Ubtuntu
Delphi 7, Visual Basic.net
BeitragVerfasst: Do 26.02.09 22:23 
Hallo Community,
ich habe eine Art "Wordpad" geschrieben, und bin jetzt durch Zufall auf ein Problem gestossen, was mir nicht ganz klar ist. Ich habe 2 verschiedene RTF-Dokumente mit diesem Programm geschrieben, und wollte diese aus Testzwecken beide drucken. Leider wird aber nur eins der beiden gedruckt.

Im Anhang befindet sich:

- Das Programm-

Der Druckdialog (vllt liegt es ja schon daran) sieht so aus:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.Drucken1Click(Sender: TObject);
begin

if printdialog1.Execute=true then RichEdit1.Print(RichEdit1.Lines.Text);
end;

bzw

procedure TForm1.RichEdit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin

if (key = ord('P')) and (ssctrl in shift) then
      begin
            if printdialog1.execute then RichEdit1.Print(RichEdit1.Lines.Text);
            (...)

Moderiert von user profile iconNarses: Dateien als Anhang hochgeladen
// Info-Blatt ist die Datei, die sich nicht drucken lässt.
// Notiz ist die Datei, die sich drucken lässt.

Wäre nett von euch, mir zu sagen, woran es liegt das die eine Datei nicht gedruckt wird. Danke schonmal.

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Einloggen, um Attachments anzusehen!
Dude566
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1592
Erhaltene Danke: 79

W8, W7 (Chrome, FF, IE)
Delphi XE2 Pro, Eclipse Juno, VS2012
BeitragVerfasst: Do 26.02.09 22:36 
Mach dein Quellcode doch bitte in die Delphi Tags.

_________________
Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen.
Tony-S Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 184
Erhaltene Danke: 6

Windows 7, XP, Ubtuntu
Delphi 7, Visual Basic.net
BeitragVerfasst: Do 26.02.09 22:46 
Das geht wie ^^? - möchte aller dings auch nicht den ganzen Text hier öffentlich stellen
DelphiMarkus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 303

OpenSuSE
Delphi 2009 Pro., Lazarus
BeitragVerfasst: Do 26.02.09 23:07 
Hallo!

Hier in der Hilfe steht wie das geht: www.delphi-forum.de/...ml&sub=,19,27,32
Und die rtf-Dateien kannst du doch in ein zip-Archiv packen und dann hier hochladen. Das ist viel schöner als das bei rapidshare.com runterzuladen. Einen Archivierer wirst du doch bestimmt haben, oder? [url=www.7-zip.org/]7zip[/url] :zwinker:
Tony-S Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 184
Erhaltene Danke: 6

Windows 7, XP, Ubtuntu
Delphi 7, Visual Basic.net
BeitragVerfasst: Do 26.02.09 23:33 
Hm k, der Witz ist, ich möchte hier nicht den ganzen Text posten von daher,
was könnte denn falsch sein, kann ja nur am Drucken liegen.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10181
Erhaltene Danke: 1254

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 27.02.09 01:02 
Moin!

user profile iconTony-S hat folgendes geschrieben Zum zitierten Posting springen:
Leider wird aber nur eins der beiden gedruckt.
Was genau heißt das denn, was passiert? Löst du den Druck über Strg+P aus? :gruebel:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Timosch
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: Fr 27.02.09 14:00 
Wenn du ein MainMenu benutzt, lassen sich Shortkeys viel leichter implementieren. Schau dir mal die entsprechende Eigenschaft des Menüeintrags an.

_________________
If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
Tony-S Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 184
Erhaltene Danke: 6

Windows 7, XP, Ubtuntu
Delphi 7, Visual Basic.net
BeitragVerfasst: Fr 27.02.09 18:24 
Ich kann den Druck einmal über das Mainmenu öffnen File --> open o. Über Strg + P . Die Frage ist nur wieso das eine Dokument nicht gedruckt wird, d.h., es wird kein Druckdialog gestartet, wenn ich das zuvor geöffnete Dokument öffnen möchte. Gibt es da keinen Grund für??
Timosch
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: Fr 27.02.09 18:33 
user profile iconTony-S hat folgendes geschrieben Zum zitierten Posting springen:
Ich kann den Druck einmal über das Mainmenu öffnen File --> open o. Über Strg + P . Die Frage ist nur wieso das eine Dokument nicht gedruckt wird, d.h., es wird kein Druckdialog gestartet, wenn ich das zuvor geöffnete Dokument öffnen möchte. Gibt es da keinen Grund für??

Wie ich schon sagte: Stell im MenuItem für Drucken den ShortCut Strg+P ein. Dann kannst du dir diese ganze Prozedur sparen.
Mal ganz ins Blaue geraten: Wahrscheinlich ist nicht immer das RichEdit im Fokus.

_________________
If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
Tony-S Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 184
Erhaltene Danke: 6

Windows 7, XP, Ubtuntu
Delphi 7, Visual Basic.net
BeitragVerfasst: Fr 27.02.09 21:43 
Nein das wäre ja Blödsinn, ich kann mit beiden Methoden das Dokument nicht drucken!
- Das andere Dokument lässt sich mit beiden Prozeduren drucken..
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19276
Erhaltene Danke: 1741

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 03.03.09 21:48 
Das nicht druckbare Dokument enthält ein eingebettetes RTF-Objekt (der ganze Inhalt), ich vermute einmal, dass das deshalb nicht geht. Ausprobiert, was bei mir da passiert, habe ich noch nicht.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19276
Erhaltene Danke: 1741

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 03.03.09 22:37 
Nein, der Fehler liegt ganz wo anders. Der zum Drucken angegebene Titel ist einfach zu lang...
Ich hatte mich ja schon gewundert, warum du den ganzen Text als Überschrift beim Drucken haben willst. Aber in dem Fall funktioniert es so gar nicht. Am besten nimmst du nur die erste Zeile oder den Dateinamen oder eine eigene Überschrift oder so.

Nebenbei ist dein Vergleich auf true falsch:
ausblenden Delphi-Quelltext
1:
if printdialog1.Execute=true then					
Das kann ins Auge gehen.
Der Vergleich mit Booleanwerten ist nicht nur unschön und unlogisch, sondern falsch.
Hier habe ich mal ein kleines Beispiel gebastelt, wann es schief geht:
www.delphi-forum.de/....php?p=548760#548760
Mehr dazu steht hier:
www.delphi-treff.de/...olean-werten/page/4/
Tony-S Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 184
Erhaltene Danke: 6

Windows 7, XP, Ubtuntu
Delphi 7, Visual Basic.net
BeitragVerfasst: Di 03.03.09 22:49 
Hm wie meinst du das der Titel zum Drucken ist zu lang, im Infoblatt steht ja nur "expression (c)" in Notiz hingegen "eXpression lite (c), ist in der Lage, in verschiedenen Farben, Schriftarten und Größen zu " wäre also länger, auch wenn ich nur ein Wort als "Überschrift" nehme wird es nicht gedruckt

und das mit execute = true, hast du mir ja schonmal erklärt, das war dort nur, weil ich es kopiert hatte.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19276
Erhaltene Danke: 1741

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 03.03.09 23:14 
user profile iconTony-S hat folgendes geschrieben Zum zitierten Posting springen:
Hm wie meinst du das der Titel zum Drucken ist zu lang
Naja, du übergibst doch als Seitenüberschrift den gesamten Text.

user profile iconTony-S hat folgendes geschrieben Zum zitierten Posting springen:
auch wenn ich nur ein Wort als "Überschrift" nehme wird es nicht gedruckt
Also bei mir (Turbo Delphi / Delphi 2006) funktioniert es dann. Welche Version benutzt du denn? Und mit welchem Quelltext ging es dann nicht?
Tony-S Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 184
Erhaltene Danke: 6

Windows 7, XP, Ubtuntu
Delphi 7, Visual Basic.net
BeitragVerfasst: Mi 04.03.09 00:11 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Naja, du übergibst doch als Seitenüberschrift den gesamten Text.

Du meinst praktisch den Titel den der Drucker dann angibt?
Hab einfachmal "Notiz" als Überschrift genommen, und gedruckt hat es nicht.

auch wenn ich nur ein Wort als "Überschrift" nehme wird es nicht gedruckt

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Welche Version benutzt du denn?

Delphi 7

Und mit welchem Quelltext ging es dann nicht?

Das ist eigentlich noch derselbe Text ^^ nur ohne execute = true, aber daran wirds nich liegen ;D

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.RichEdit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
      if (key = ord('P')) and (ssctrl in shift) then
      begin
            if printdialog1.execute then RichEdit1.Print(RichEdit1.Lines.Text);

und
ausblenden Delphi-Quelltext
1:
if printdialog1.Execute then RichEdit1.Print(RichEdit1.Lines.Text);					

Der Fehler liegt wohl in dem was ich RichEdit1.Print in Klammer zuweise - ja ?
Wenn ja und wenn es daran liegt müsste ich in Klammer ja so etwas rein schreiben wie Zeile 1...

:D ehm ich denk nach vllt isses ja ganz leicht

Moderiert von user profile iconNarses: Delphi- und Quote-Tags hinzugefügt
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19276
Erhaltene Danke: 1741

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 04.03.09 00:21 
user profile iconTony-S hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden Delphi-Quelltext
1:
if printdialog1.Execute then RichEdit1.Print(RichEdit1.Lines.Text);					
Du übergibst doch immer noch den gesamten Text als Überschrift... :roll:

Vielleicht solltest du dir einmal die Hilfe anschauen was der Parameter eigentlich macht, denn das ist dir offenbar ja nicht klar.
Delphi-Hilfe hat folgendes geschrieben:
Mithilfe von Print kann der Inhalt eines RTF-Eingabefeldes gedruckt werden. Der Parameter Caption gibt dabei den Titel an, der im Druckmanager und auf Netzwerk-Titelseiten angezeigt wird.
Tony-S Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 184
Erhaltene Danke: 6

Windows 7, XP, Ubtuntu
Delphi 7, Visual Basic.net
BeitragVerfasst: Mi 04.03.09 00:27 
Ich weiß jetzt nicht, ob das die schlaueste Methode is was ich gemacht habe ^^.... aber ES GEHT

if printdialog1.Execute then RichEdit1.Print(RichEdit1.Lines[1]);

höhö ^^
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19276
Erhaltene Danke: 1741

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 04.03.09 00:30 
Und was, wenn das Dokument nur eine Zeile hat, du aber versuchst die zweite zu nehmen? :roll:
Wie wäre es mit einem passenden Text...
ausblenden Delphi-Quelltext
1:
2:
if PrintDialog1.Execute then
  RichEdit1.Print('Mein Druckauftrag');
Oder wie wäre es wie gesagt mit dem Dateinamen, da es ja ein Editor ist?
Tony-S Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 184
Erhaltene Danke: 6

Windows 7, XP, Ubtuntu
Delphi 7, Visual Basic.net
BeitragVerfasst: Mi 04.03.09 00:34 
Ok wusste nicht as ich praktisch einen "beliebigen Text" übergeben kann, zumindestens weiß ich jetzt woran es liegt. Danke
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19276
Erhaltene Danke: 1741

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 04.03.09 00:49 
Das steht doch in der Hilfe. Der angegebene Text steht in der Liste der Druckaufträge, weshalb da normalerweise der Dateiname oder ähnliches drin steht. Damit man den Druckauftrag identifizieren kann, wenn es mehrere sind.

Ich pack mal ein Bild in den Anhang, in dem Fall habe ich diese Seite vom Browser aus gedruckt, deshalb steht da der Titel der Seite...
Einloggen, um Attachments anzusehen!