Autor Beitrag
fishhed
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 77


Delphi 7
BeitragVerfasst: Di 06.03.07 10:41 
Hallo zusammen,

habt Ihr Erfahrungen mit Combit List&Label 11?

Ich möchte ein Etiket "still" exportieren, also ohne vorheriges Einstellen der Druckparameter usw.
Aber egal was ich versuche, es funktioniert einfach nicht.

Zu den Komponenten gibt es von der Firma Combit ein Beispiel bei dem eine Liste exportiert wird. Wenn ich ein Etiket exportieren möchte haut es nicht hin.

Habt Ihr ein Beispiel für eine Anwendung, die ein Etiket still exportiert?

Oder kennt Ihr vielleicht ein gutes Tutorial oder Buch zu diesem Thema?

Die Programmierreferenz der Firma Combit ist wirklich nur für Experten und nicht für Einsteiger.

Vielen Dank für eure Hilfe!

Marcel

Hier das konkrete Beispiel:

ausblenden volle Höhe 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:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, l11, cmbtLL11, StdCtrls;

type
  TForm1 = class(TForm)
    LL: TL11_;
    Button1: TButton;
    Button2: TButton;
    ExportButton: TButton;
    procedure Button1Click(Sender: TObject);
    procedure LLDefineVariables(Sender: TObject; UserData: Integer; IsDesignMode: Boolean; var Percentage: Integer; var IsLastRecord: Boolean; var EventResult: Integer);
    procedure Button2Click(Sender: TObject);
    procedure LLSetPrintOptions(Sender: TObject;
      var PrintMethodOptionFlags: Integer);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.LLDefineVariables(Sender: TObject; UserData: Integer; IsDesignMode: Boolean; var Percentage: Integer; var IsLastRecord: Boolean; var EventResult: Integer);

begin
  LL.LlDefineVariable('vAnzahl''2');
  LL.LlDefineVariable('vLizenzArt''Monatslizenz');
  LL.LlDefineVariable('vProdukt''AutoBINGOOO');
  LL.LlDefineVariable('vFirma''Autohaus Müller');
  LL.LlDefineVariable('vAnrede''Herr');
  LL.LlDefineVariable('vNachname''Müller');
  LL.LlDefineVariable('vStrasse''Tiefenseestr. 11');
  LL.LlDefineVariable('vPlz''49696');
  LL.LlDefineVariable('vOrt''Molbergen');
  LL.LlDefineVariable('vLand''Deutschland');
  LL.LlDefineVariable('vStkPreis''16,83');
  LL.LlDefineVariable('vBrutto''20,00');
  LL.LlDefineVariable('vNetto''35,66');
  LL.LlDefineVariable('MwST''19');
  LL.LlDefineVariable('vLizkey''UWR70-FMQRE-GGGG-GGGG');
  LL.LlDefineVariable('vVon''12.02.2007');
  LL.LlDefineVariable('vBis''13.02.2008');
  LL.LlDefineVariable('vRechnungsnummr''ABM234567');

  if not IsDesignMode then begin
    Percentage := 100;
    IsLastRecord := true;
  end;
end;


procedure TForm1.Button2Click(Sender: TObject);
var
  CurPath: string;
  ExporterName: string;
  FileName: string;
begin

  LL.Print(0, LL_PROJECT_LABEL, 'Etiket2.lbl', false, LL_PRINT_EXPORT, LL_BOXTYPE_NORMALWAIT, handle, 'Print labels to printer', false, '');

end;

procedure TForm1.LLSetPrintOptions(Sender: TObject;
  var PrintMethodOptionFlags: Integer);
var
  ExporterName: string;
  FileName: string;

begin
  {D:  Exportoptionen setzen}
  {US: Set export options}

  {D:  Exportformat festlegen}
  {US: Set export format}

  FileName := 'export.pdf';
  ExporterName := 'PDF';

  LL.LlPrintSetOptionString(LL_PRNOPTSTR_EXPORT, ExporterName);

  {D:  Pfad}
  {US: Path}
  LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, ExporterName, 'Export.Path', ExtractFilePath(FileName));

  {D:  Dateiname}
  {US: Filename}
  LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, ExporterName, 'Export.File', ExtractFileName(FileName));

  {D:  Modus ohne Interaktion}
  {US: Quiet mode}
  LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, ExporterName, 'Export.Quiet''1');

  {D:  Je nach Benutzerauswahl: Anzeige des Ergebnisses}
  {US: Depending on user's choice: show result}

  LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, ExporterName, 'Export.ShowResult''1');

  {D: Um jetzt noch zusätzlich das Exportergebnis per Mail zu versenden, würden die unten
       stehenden Codezeilen benötigt. Damit wird eine Mail an info@combit.net gesendet.
       Als Exportformat ist in diesem Beispiel HTML notwendig, so daß das Ergebnis des HTML-
       Exportes direkt als HTML Body der Mail versendet würde. Ausserdem muß in den
       combit Mail-Einstellungen in der Systemsteuerung ein gültiger SMTP-Server angegeben
       werden.
   US: To additonally send the result as eMail, you'd need the following code lines. This
       will send an email to info@combit.net. Set the export format to HTML, as this sample
       will send the result as HTML body of the mail. You need to set a valid SMTP server
       in the control panel applet "combit Mail Settings".}


  LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, ExporterName, 'Export.SendAsMail''1');
  LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, ExporterName, 'Export.Mail.TO''combit GmbH <SMTP:llmailtest@combit.net>');
  LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, ExporterName, 'Export.Mail.Subject''combit List & Label mail test');
  LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, ExporterName, 'Export.Mail.ShowDialog''1');
  LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, ExporterName, 'Export.Mail.SendResultAs''text/html');


end;

end.


Wenn ich Button2 klicke, soll das Etiket still exportiert werden. Es passiert aber nichts, man sieht nur für Sekundenbruchteile einen Dialog mit Statusbalken, dann ist Ende.
Habt Ihr nen Tipp?
Die Prozedur LLSetPrintOptions, welche die Druckeinstellungen machen soll wird nicht einmal aufgerufen.
fishhed Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 77


Delphi 7
BeitragVerfasst: Mi 07.03.07 11:25 
Und bitte einmal nach oben ;-)
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1335
Erhaltene Danke: 118

Win 10
RIO, CE, Lazarus
BeitragVerfasst: Mi 07.03.07 20:36 
sind die nötigen ereignishandler mit sicherheit gesetzt?
Stimmen die parameter? auch die pfadangabe der druckvorlage? lieber mal mit einer statischen pfad versuchen.
versuche es mal mit LL_PRINT_NORMAL statt LL_PRINT_EXPORT. das du erstmal eine ausgabe auf dem drucker bekommst.
und den temporären pfad (letzter parameter) würde ich mal angeben. einfach so zum spass :wink:

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
fishhed Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 77


Delphi 7
BeitragVerfasst: Do 08.03.07 11:49 
Ja, die Ereignisbehandlungsroutinen waren unvollständig ausgefüllt. Ich habe mich so auf den Code konzentriert, dass ich daran gar nicht mehr gedacht haben...

Das war eine schwere Geburt ;-)