Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ohne "Tags" über hundert Druckaufträge (https://www.delphipraxis.net/26669-ohne-tags-ueber-hundert-druckauftraege.html)

Die Muhkuh 27. Jul 2004 14:06

Re: Ohne "Tags" über hundert Druckaufträge
 
Hi,


habs jetzt auch mit While gelöst.

Die Muhkuh 27. Jul 2004 14:09

Re: Ohne "Tags" über hundert Druckaufträge
 
Aber klappen tuts doch noch net.

Meine Prozedure sieht nun so aus:

Delphi-Quellcode:
var
  I, II: Integer;
  Left, Top: Integer;
  MS: TMemoryStream;
begin
  if pdPrint.Execute then //Print-Dialog
  begin
    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('SELECT Mitgliederv4.* FROM Mitgliederv4');
    Query1.Open;
    Query1.First;
    while not Query1.Eof do
    begin
      MS := TMemoryStream.Create;      // MemoryStream erstellen
      reMessage.Lines.SaveToStream(MS); // Eingabe-RichEdit speichern
      MS.Position := 0;                // an Position 0 gehen
      temp.Lines.LoadFromStream(MS);   // Ausgabe-Richedit laden
      MS.Free;                         // MemoryStream freigeben

      //Ersetzen der "Tags"
      Replace('<<Vorname>>', 'vorname');
      Replace('<<Nachname>>', 'name');
      Replace('<<GB>>','geburtstag');
      Replace('<<Straße>>', 'strasse');
      Replace('<<HSN>>', 'hausnummer');
      Replace('<<PLZ>>', 'plz');
      Replace('<<Ort>>', 'ort');

    //Drucken;
      Left := 100;
      Top := 100;
      Printer.Copies := 1;
      with Printer do
      begin
        Canvas.Font.Assign(Temp.Font);
        Title := 'Serienbrief';
        BeginDoc;
        for II := 0 to temp.Lines.Count - 1 do
          Canvas.TextOut(Left, Top + (II * Canvas.TextHeight(Temp.Lines[II])),
                         Temp.Lines[II]);
        EndDoc;
      end;
      Query1.Next;
    end;
  end;
end;
Aber trotzdem wird (obwohl 2 Datensätze vorhanden sind) nur ein Datensatz gedruckt. Warum?

Die Muhkuh 28. Jul 2004 11:28

Re: Ohne "Tags" über hundert Druckaufträge
 
*Push* :angle2:

woki 28. Jul 2004 11:49

Re: Ohne "Tags" über hundert Druckaufträge
 
Hi,

schon mal mit dem debugger durchlaufen?
Oder ein selct count ... um zu bestätigen, dass die Abfrage wirklich zwei Datenätze liefert?
Auf den ersten Blick sehe ich keinen Grund für dein Problem.

Grüsse
Woki

Die Muhkuh 28. Jul 2004 11:56

Re: Ohne "Tags" über hundert Druckaufträge
 
Hi Woki,


was genau meinst du mit Select Count? :gruebel:

woki 28. Jul 2004 14:14

Re: Ohne "Tags" über hundert Druckaufträge
 
Hi Spider,


SQL-Code:
select count(*) from Tabellename
liefert z.b. die Anzahl der Datensätze einer Tabelle. Das kann man natürlich entsprechend verfeinern.
Damit du sicher bist, das die Abfrage wirklich zwei Datensätze zurückliefert.

Grüsse
Woki

P.S.: Das ist sozusagen das datenbankseitige Gegenstück zu recordcount.

Die Muhkuh 28. Jul 2004 14:36

Re: Ohne "Tags" über hundert Druckaufträge
 
Hi,

hab es nun ohne dieses Count gemacht. Ich glaube das mit dem drucken lag daran, wie meine "Tags" ersetzt wurden, oder das ich bei RichEdit1.Print(Caption: String), nur '' gemacht hab.

woki 28. Jul 2004 17:12

Re: Ohne "Tags" über hundert Druckaufträge
 
Hi,

um Mißverständnisse zu vermeiden, das count sollte auch nur helfen, die Fehlerursache einzugrenzen, ansonsten wird es hier natürlich nicht gebraucht.

Grüsse
Woki


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:55 Uhr.
Seite 2 von 2     12   

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