Autor Beitrag
FrankS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18

Win XP Pro
D2006 Pro
BeitragVerfasst: Do 06.10.05 19:45 
Hallo Zusammen !

Ich habe ein kleines Problem, ich möchte 6 Edit Felder drucken. Das habe ich mit dem Printbefehlen auch soweit geschafft.
Ich möchte aber nun das wenn alle Edit Felder leer sind, der Druckdialog nicht erscheint.

Mein Code :
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
if Edit2.Text = '' then begin
    if Edit3.Text = '' then begin
      if Edit4.Text ='' then begin
         if Edit5.Text ='' then begin
            if Edit6.Text ='' then begin
               if Edit7.Text ='' then begin
                  MessageDlg('Keine Daten zum drucken vorhanden !',
                  mtInformation, [mbOK], 0);
               end;
            end;
         end;
      end;
   end;
end;

if PrintDialog1.Execute then begin
 with Printer do
      begin
        BeginDoc;
          Printer.Canvas.Font.Size := 26;   //Feste Schriftgröße
          Printer.Canvas.TextOut(1050,450, Edit2.Text);
          Printer.Canvas.TextOut(1050,1550, Edit3.Text);
          Printer.Canvas.TextOut(1050,2730, Edit4.Text);
          Printer.Canvas.TextOut(1050,3850, Edit5.Text);
          Printer.Canvas.TextOut(1050,5020, Edit6.Text);
          Printer.Canvas.TextOut(1050,6150, Edit7.Text);
        EndDoc;
      end;
   end;
 end;

Sorry das der Code so bescheiden hier erscheint, habe aber noch nicht herausbekommen wie ich es besser hinbekomme. Bin noch zeimlich neu hier. Wie schaffe ich es, dass der Druckdialog nur dann erscheint, wenn in einem der 6 Editfelder Daten stehen ? Ich komme nicht dahinter.

Vielen Danke !

Moderiert von user profile iconTino: Delphi-Tags hinzugefügt.
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Fr 07.10.05 10:35 
z.B. so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
isPrintingAllowed:=false
if Edit1.text<>'' then isPrintingAllowed:=true;
...
if Edit6.text<>'' then isPrintingAllowed:=true;
if isPrintingAllowed then
begin
  //Drucken
end;


Du kannst es auch noch bessemachen(falls du planst nochmal ein paar Buttons hinzuzufügen) indem du entweder die Buttons mit Suche in: Delphi-Forum, Delphi-Library FINDCOMPONENT die Edits durchzählst und auswertest oder du eine globale Variable isPrintingallowed deklarierst und eine gemeinsame OnChange Methode allen Edits zuweist, in der du
ausblenden Delphi-Quelltext
1:
if TEdit(Sender).Text <> '' then isPrintingAllowed:=true;					

zuweist.
FrankS Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18

Win XP Pro
D2006 Pro
BeitragVerfasst: Fr 07.10.05 14:38 
Besten Dank hat hervorragend funktioniert :P