Label und Felder/Variablen

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 19661
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 7 Mal
Danksagung erhalten: 26 Mal

Label und Felder/Variablen

Beitrag von Manfred » Mo, 03. Aug 2020 18:43

ich hatte einen Report, der eigentlich schon fertig war. Dann habe ich versucht diesen report als Label zu erzeugen. Dabei ist mir aufgefallen, das dann überhaupt nicht mehr die übergebenden Felder und Variablen im Assistenten abgefragt werden. Muß man die Felder für den Inhalt, der gedruckt werden soll, anders übergeben bei Label als bei Listen?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kannste sein, Hauptsache pfiffig!!

Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2643
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 1 Mal
Kontaktdaten:

Re: Label und Felder/Variablen

Beitrag von Wolfgang Ciriack » Mo, 03. Aug 2020 18:50

Beim Label gibt es keine Felder, nur Variablen.
Viele Grüße
Wolfgang

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 19661
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 7 Mal
Danksagung erhalten: 26 Mal

Re: Label und Felder/Variablen

Beitrag von Manfred » Mo, 03. Aug 2020 19:10

und das heißt?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kannste sein, Hauptsache pfiffig!!

Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2643
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 1 Mal
Kontaktdaten:

Re: Label und Felder/Variablen

Beitrag von Wolfgang Ciriack » Mo, 03. Aug 2020 21:58

LLDefineVariable() statt LLDefineField() bei der Deklaration und die Druckschleife etwas anders.
Viele Grüße
Wolfgang

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 19661
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 7 Mal
Danksagung erhalten: 26 Mal

Re: Label und Felder/Variablen

Beitrag von Manfred » Di, 04. Aug 2020 13:46

ich verstehe es trotzdem nicht. Was ist anders? Und wo kann man das nachlesen? Ich habe nichts dazu gefunden.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kannste sein, Hauptsache pfiffig!!

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 8172
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 5 Mal
Danksagung erhalten: 25 Mal
Kontaktdaten:

Re: Label und Felder/Variablen

Beitrag von Tom » Di, 04. Aug 2020 14:10

Jesus, Manfred - keine Ahnung, wie oft wir das hier schon diskutiert haben. Felder gibt es in L&L nur im Kontext von Tabellenobjekten (und Charts), also bei List-Projekten. Variable bilden sozusagen die Klammer und sind über das Druckprojekt hinweg (mindestens aber auf einer Druckseite) gleich, Felder iterieren. Bei Label-Projekten ist das auch so, nur dass das einzelne Etikett als Druckprojekt gilt, und es gibt keine Felder. Statt LlDefineField<Ext>() nimmt man hier (nur) LlDefineVariable<Ext>(), und ein LlPrintFields() gibt es auch nicht - die Druckroutine ist kompakter.

Edit: Ausführlichst diskutiert im von Dir initiierten Thread "L&L - Neueinstieg", z.B. hier:

viewtopic.php?f=39&t=11529&start=25#p133239
Herzlich,
Tom

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 19661
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 7 Mal
Danksagung erhalten: 26 Mal

Re: Label und Felder/Variablen

Beitrag von Manfred » Di, 04. Aug 2020 14:32

Hi Tom,
es wird sicherlich so sein, aber ihr wußtet immer wovon ihr geredet habt. Ich arbeite mich aber noch ein und weiß mit Sicherheit, ich bin nicht der einzige der das nicht versteht, aber der einizge sehr wahrscheinlich der sich traut zu fragen. :roll: :badgrin:
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kannste sein, Hauptsache pfiffig!!

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 8172
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 5 Mal
Danksagung erhalten: 25 Mal
Kontaktdaten:

Re: Label und Felder/Variablen

Beitrag von Tom » Di, 04. Aug 2020 14:58

Etikettenprojekte (Label) haben je Etikett (also quasi je Druckseite) nur Daten aus einem Datensatz. Oder, weil das nicht immer stimmt (tatsächlich können die Daten sonstwoher kommen): Die Inhalte eines Datums ändern sich innerhalb eines Labels nicht. Label-Projekte sind die einfacheren Projekte: Daten publizieren, Etikett drucken, nächste Daten publizieren, nächstes Etikett drucken. Bei List-Projekten gibt es auch einen solchen statischen Anteil (in Variablen), aber dann einen Teil, bei dem sich die Inhalte der Daten innerhalb einer Druckseite ändern. Das sind Listen mit/aus Feldern. In der ersten Zeile einer Liste enhält "NAME" z.B. "Manfred", in der zweiten Zeile "Tom" (ein Etikett enthält in "NAME" immer nur ENTWEDER "Manfred" ODER "Tom"). Um das zu realisieren, wird die Druckschleife für ein Label-Projekt prinzipiell um eine innere Iteration - eine Schleife in der Schleife - ergänzt, in der sich die beweglichen Daten ändern, nämlich zwischen "LlPrintFieldsStart" und "LlPrintFieldsEnd". Da aber nicht immer alle Listendaten auf eine Seite passen, kann das noch auf weiteren Seiten weitergehen.
Herzlich,
Tom

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 19661
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 7 Mal
Danksagung erhalten: 26 Mal

Re: Label und Felder/Variablen

Beitrag von Manfred » Di, 04. Aug 2020 15:16

also eigentlich ist mir das ja erstmal alles egal. Ich möchte eigentlich nur einen "Mehrzeiler", der auch nur so lang ist, wie Anzahl Zeilen. Das klappt nicht. Mache ich eine Liste, dann ist sie imer DIN-A4 groß. Deshalb habe ich es mit Label versucht. Da wird jetzt zwar der Ausdruck nur so lang wie ich haben möchte, aber die Inhalte der Variablen werden nicht angezeigt. Ich verstehe das ganze nicht. Ich habe es so gemacht wie bei der Liste, nur das ich statt

Code: Alles auswählen

nRet := LlPrintWithBoxStart(hJob, LL_PROJECT_LIST, sName, LL_PRINT_EXPORT, LL_BOXTYPE_STDWAIT, SetAppWindow():GetHWND(), "Preview")

Code: Alles auswählen

nRet := LlPrintWithBoxStart(hJob, LL_PROJECT_LABEL, sName, LL_PRINT_EXPORT, LL_BOXTYPE_STDWAIT, SetAppWindow():GetHWND(), "Preview")
genommen habe. Aber entweder wurden mir die Variablen im Designer zur Auswahl nicht angezeigt, oder sie waren leer.
Was mache ich falsch?

Code: Alles auswählen

hJob  := LlJobOpen(-1)
          IF hJob >= 0
             nRet := LlSetOptionString(hJob, LL_OPTIONSTR_LICENSINGINFO, MyLicenseStringLL())
             nRet := LlDefineVariableStart(hJob)
//             nRet := LlDefineFieldStart(hJob)
             ::DefineData(hJob,"Anrede"  ,"",.F.)
             ::DefineData(hJob,"Email"   ,"",.F.)
             ::DefineData(hJob,"Name"    ,"",.F.)
             ::DefineData(hJob,"Ort"     ,"",.F.)
             ::DefineData(hJob,"Plz"     ,"",.F.)
             ::DefineData(hJob,"Strasse" ,"",.F.)
             ::DefineData(hJob,"Telefax" ,"",.F.)
             ::DefineData(hJob,"Telefon" ,"",.F.)
             ::DefineData(hJob,"Vorname" ,"",.F.)
             ::DefineData(hJob,"Webseite","",.F.)
             IF FILE(oSysPara:doParaWs:ausfuehrung + "\lldesigner.txt")
                nRet := LlDefineLayout(hJob, SetAppWindow():GetHWND(),"Designer",LL_PROJECT_LABEL)
                //nRet := LlDefineLayout(hJob, SetAppWindow():GetHWND(),"Designer",LL_PROJECT_LIST)
             ELSE
                IF Upper(cVorgang) == "DRUCK_FUSS"
                ELSEIF Upper(cVorgang) == "DRUCK_KOPF"
                   sName := oSysPara:doParaWs:reporte + "kopf.lbl"
                   LlSetPrinterDefaultsDir(hJob, oSysPara:doParaWs:temp)
                   nRet := LlPrintWithBoxStart(hJob, LL_PROJECT_LABEL, sName, LL_PRINT_EXPORT, LL_BOXTYPE_STDWAIT, SetAppWindow():GetHWND(), "Preview")
                   nRet := LlSetOptionString(hJob,LL_OPTIONSTR_EXPORTS_ALLOWED,"PRN;PRV;PICTURE_BMP;PICTURE_JPEG")
                   nRet := LlPrintOptionsDialog(hJob, oSysPara:oHauptdialog:GetHWND(), "Ausgabeziel wählen", "Zum Beispiel printer, PDF, XPS, HTML, JPEG,...")
                   IF nRet == LL_ERR_USER_ABORTED
                      lAbbruch := .T.
                   ENDIF
                   nRet := LLSetOption(hJob,LL_OPTION_ESC_CLOSES_PREVIEW, 1)
                   nRet := LlPreviewSetTempPath(hJob,oSysPara:doParaWs:temp)
                   IF ! lAbbruch
                      ::DefineData(hJob,"Anrede"  ,Trim((objekt:nArea)->anrede)  ,.F.)
                      ::DefineData(hJob,"Email"   ,Trim((objekt:nArea)->email)   ,.F.)
                      ::DefineData(hJob,"Name"    ,Trim((objekt:nArea)->name)    ,.F.)
                      ::DefineData(hJob,"Ort"     ,Trim((objekt:nArea)->ort)     ,.F.)
                      ::DefineData(hJob,"Plz"     ,Trim((objekt:nArea)->plz)     ,.F.)
                      ::DefineData(hJob,"Strasse" ,Trim((objekt:nArea)->strasse) ,.F.)
                      ::DefineData(hJob,"Telefax" ,Trim((objekt:nArea)->telefax) ,.F.)
                      ::DefineData(hJob,"Telefon" ,Trim((objekt:nArea)->telefon) ,.F.)
                      ::DefineData(hJob,"Vorname" ,Trim((objekt:nArea)->vorname) ,.F.)
                      ::DefineData(hJob,"Webseite",Trim((objekt:nArea)->webseite),.F.)
                      nRet := LlPrint(hJob)
                   ENDIF
                ENDIF
             ENDIF
             nRet := LlPrintEnd(hJob,0)
             LlPreviewDeleteFiles(hJob, sName,oSysPara:doParaWs:temp)
          ENDIF
          hJob := NIL
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kannste sein, Hauptsache pfiffig!!

ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1876
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 1 Mal
Danksagung erhalten: 6 Mal

Re: Label und Felder/Variablen

Beitrag von ramses » Di, 04. Aug 2020 20:27

Hallo Manfred

der Sinn und Zweck von L&L ist ja ein Ausdruck auf Papier zu erstellen. Dieser wird immer so gross wie das gewählte / verfügbare Papier.
Wenn du einen keineren Ausdruck willst musst du für dein Projekt eine kleinere Seite als A4 wählen oder in Windows -> Drucker -> Druckservereinstellungen ein kleineres "Benutzerdefiniertes" Papierformat anlegen welches du nachher für dein Ausdruck wählst. (z.B. 50x100 mm)
Valar Morghulis

Gruss Carlo

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 19661
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 7 Mal
Danksagung erhalten: 26 Mal

Re: Label und Felder/Variablen

Beitrag von Manfred » Di, 04. Aug 2020 20:47

Aha,
hm, das ist nicht im Sinne des Erfinders. Ich möchte das aus der Anwendung heraus bestimmen könne und somit dem User den Vorgang abnehmen. Der wird nur nervös wenn er zu viel einstellen muß.
Aber trotzem gut zu wissen.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kannste sein, Hauptsache pfiffig!!

Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 8172
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 5 Mal
Danksagung erhalten: 25 Mal
Kontaktdaten:

Re: Label und Felder/Variablen

Beitrag von Tom » Di, 04. Aug 2020 20:58

Es gibt irgendeinen Modus, bei dem tatsächlich dynamisch gedruckt werden kann, meine ich zu erinnern. Für Endlospapier oder so. Ich habe vorhin schon gesucht, aber noch nichts gefunden. Ich schaue morgen nochmal. Aber grundsätzlich hat Carlo recht. Die Basis für alles, was L&L macht, ist die Fläche, die ein Ausgabegerät zur Verfügung stellt. Und das ist bei Druckern nun einmal das Papierformat.
Herzlich,
Tom

ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1876
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 1 Mal
Danksagung erhalten: 6 Mal

Re: Label und Felder/Variablen

Beitrag von ramses » Di, 04. Aug 2020 21:17

Genau: 8 x 12 Zoll Endlospapier, das ist einige mm länger als A4 oder 8 x 16 Zoll Endlospapier lässt sich im Endlosdrucker nur mit den erwähnten Einstellungen (Benutzerdefiniertes Format) bedrucken.
Valar Morghulis

Gruss Carlo

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 19661
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 7 Mal
Danksagung erhalten: 26 Mal

Re: Label und Felder/Variablen

Beitrag von Manfred » Di, 04. Aug 2020 21:20

womit wir dann aber wieder bei Label wären!?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kannste sein, Hauptsache pfiffig!!

Antworten