Autor Beitrag
delphimike
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 117



BeitragVerfasst: Di 28.09.04 15:37 
Hallo, mein Problem ist den Seitenvorschub eines Nadeldruckers auf 12 cm einzustellen. Trotz Angabe der Papierlänge schiebt der Drucker die Endlosetiketten nach erfolgreichem Druck immer auf die nächste A4 Position anstatt aufs Labelende vor. Wir bekomme ich da in Griff?
Gruß Mike


Zuletzt bearbeitet von delphimike am Mi 29.09.04 08:24, insgesamt 1-mal bearbeitet
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Di 28.09.04 16:54 
Vergesse die cm und gehe auf Zeilen beim Drucken.

_________________
Gruß
Hansa
ernstl
Hält's aus hier
Beiträge: 11

Win 98
D5 Prof
BeitragVerfasst: Mi 29.09.04 01:10 
Hallo
Ich hab das so gelöst
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
begin
  if PrintDialog1.Execute then
  begin
    fak := 3.779 * (Printer.PageWidth / 2892); //meine Seite ist 771 breit, fak = faktor = wegen Druckerauflösung
    with Printer do                            //Printer.PageHeight wäre die Seitenhöhe in Pixel 
    begin
      BeginDoc;
      TextMase := Canvas.TextExtent('dein text');
      KReck1 := TextPos(KReck,TxtMase,KLabl.Alignment);  //TextPos übergibt Position von Klabl an KReck1
      Canvas.TextOut(KReck1.Left * fak, KReck1.Top * fak,'dein text');   //fak gehört natürlich schon in TextPos
      .....
dazu hab ich mir ein Formular entworfen und übernehme die Positionen der z.b. Label. Dann müssen die Positionen noch mit fak multipliziert werden und können dann an Canvas.TextOut übergeben werden. Wenn Du vorher im PrintDialog die Seitenmaße richtig eingestellt hast(benutzerdefiniert), dann müsste alles klappen.
Wenn meine Ausführungen nicht weiterhelfen(daneben liegen), musst Du dein Problem etwas konkretisieren oder so.
Gruß ernstl
delphimike Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 117



BeitragVerfasst: Mi 29.09.04 08:23 
delphimike hat folgendes geschrieben:
Hallo, mein Problem ist den Seitenvorschub eines Nadeldruckers auf 12 cm einzustellen. Trotz Angabe der Papierlänge schiebt der Drucker die Endlosetiketten nach erfolgreichem Druck immer auf die nächste A4 Position anstatt aufs Labelende vor. Wir bekomme ich da in Griff?
Gruß Mike
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Mi 29.09.04 11:52 
War das da ein Schiebeposting ohne Kommentar, oder was ? Oben habe ich geschrieben, was zu tun ist : Deine 12 cm sind keine 12 cm. :P Es sind x Zeilen ! Also zähle die ab und drucke auf die Etiketten deinen Text. Der Zwischenraum zwischen den Etiketten, da mußt du eben entsprechend viele Leerzeilen drucken.

Verwende hierzu einfach folgendes :

ausblenden Delphi-Quelltext
1:
2:
3:
4:
var d : text;
...
writeln (d,'1.Zeile');
writeln (d,'');  // Leerzeile


Dazu brauchst du weder Canvas, noch einen Reportgenerator. 8) Glaube mir, so geht das, denn ich mache es selber so.

_________________
Gruß
Hansa
ernstl
Hält's aus hier
Beiträge: 11

Win 98
D5 Prof
BeitragVerfasst: Do 30.09.04 02:10 
Titel: RE: TPrinter , Seitenvorschub bei Nadeldrucker verringern
Die 12 cm Seitenhöhe mußt Du im Druckertreiber einstellen.