L&L Neueinstieg

Moderator: Moderatoren

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

Re: L&L Neueinstieg

Beitrag von Manfred »

Wobei ich jetzt nichts gegen Marcus Klasse habe. Ich/Wir möchten nur von Grund auf lernen, wie es funktioniert. Wie man die Daten für einen Report aufbereiten muß und übergibt. Wie man mit dem Reportgenerator Reporte erstellt, ihn evtl. ins Programm einbindet und dem Kunden zur Verfügung stellt.
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 kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: L&L Neueinstieg

Beitrag von Marcus Herz »

Moin

Jetzt weiß ich, was du mit Listbox meintest:
du musst eine ListLabel Design Datei auswählen, wahrscheinlich auch die einzige Datei, die du siehst:
für Listen mit Endung *.LST
für Karten *.CRd
und Etiketten *.lbl
wenn du eine ausgewählt hast, dann kannst preview oder design starten

- Was erwartest du, wenn du sagst, du willst LL verstehen, es gibt nur die Funktionen zu verstehen, aber wie LL intern dann die Reporte generiert, ist Black Box.
Und die Funktionen dienen mehr oder weniger nur dazu, Einstellungen oder zu druckende Werte zu übergeben
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: L&L Neueinstieg

Beitrag von Manfred »

HI Marcus,
was ich meine ist: Wie übergibt man welche DAten und wie werden sie dann in das jeweilige Formular ünbernommen. Ist aber jetzt an dieser Stelle erstmal egal. Wenn wir soweit sind, dann stellen wir schon entsprechende Fragen.
Und was meinst Du mit LST Datei auswählen? Wie mache ist das an der Stelle, oder vorher?
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 kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: L&L Neueinstieg

Beitrag von Marcus Herz »

- du startest z.B. simple.exe
- dann siehst du die App mit Buttons -design / preview/ export und Checkbox Debug output
- gehst auf preview
- wählst article.lbl aus
- Hoppla, jetzt solltest du das Preview sehen
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: L&L Neueinstieg

Beitrag von Manfred »

und jetzt kommt meine ganz große Gegenfrage. Hast Du das selbst schonmal versucht, oder ist das hier jetzt nur reine vermutete Theorie?
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 kann man sein, man muß sich nur zu helfen wissen!!
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: L&L Neueinstieg

Beitrag von ramses »

Habt Ihr gesehen dass es eine super gute Anleitung zum Einstieg gibt.
Programmier-Referenz.pdf im Ordner Dokumentation.
Kapitel 1.3 Wichtige Konzepte, 1.3.1 Prinzipieller Aufbau und folgende..... 2.2 Erste Schritte

Bei den Sprachspezischen Kapiteln ist C/C++ das passende.

Ein echt gutes Handbuch. Sogar in Deutscher Sprache.
und jetzt kommt meine ganz große Gegenfrage. Hast Du das selbst schonmal versucht, oder ist das hier jetzt nur reine vermutete Theorie?
Ja, es ist wirklich genau so wie Marcus schreibt. Heute erneut versucht.
Valar Morghulis

Gruss Carlo
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: L&L Neueinstieg

Beitrag von Manfred »

Nein, dem ist nicht so. Oder ich habe hier total andere Beispiel vorliegen.
simple1.PNG
simple1.PNG (47.45 KiB) 10496 mal betrachtet
invoice2.PNG
invoice2.PNG (51.6 KiB) 10496 mal betrachtet
invoice1.PNG
invoice1.PNG (48 KiB) 10496 mal betrachtet
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 kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: L&L Neueinstieg

Beitrag von Marcus Herz »

Wow LL Version 14 !
Warum sagst du das nicht gleich.
Zuletzt geändert von Marcus Herz am Fr, 03. Apr 2020 9:32, insgesamt 1-mal geändert.
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: L&L Neueinstieg

Beitrag von Manfred »

naja, es sind halt die Beispiele die ich habe. Wo bekomme ich aktuellere her? das grundprinzip sollte doch gleich sein, oder?
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 kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: L&L Neueinstieg

Beitrag von Marcus Herz »

hol dir eine Trial von Version 25 !
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: L&L Neueinstieg

Beitrag von Manfred »

das Problem ist, die aktuellen sind alle mit Deiner Klasse. Damit möchte ich aber im Moment nicht anfangen.....
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 kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: L&L Neueinstieg

Beitrag von HaPe »

Hallo Manfred !

Was bedeutet die 14 im Fenster-Titel?
Probiert Ihr gerade mit LL 14 :roll:
--
Hans-Peter
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: L&L Neueinstieg

Beitrag von Marcus Herz »

Hat jemand noch LL 22. da waren es noch die alten Samples?

Wenn du in dsListLabel die Methode _printTable suchst, weiter unten ist eine Schleife: (etwas gekürzt)

do while !eval(bEof, nSelect) .and. nError <> LL_ERR_USER_ABORTED
::datalink(0, ,nRek )
do while (nError := LlPrintFields(::hJob)) == LL_WRN_REPEAT_DATA
do while LlPrint(::hJob) == LL_WRN_REPEAT_DATA
enddo
enddo
eval( ::_bSkipBlock, self, nSelect)
enddo
Die Methode ::datalink ruft für jede Tabelle dann ::_datalink auf

Dort werden dann die Feldwerte an LL übergeben, für jedes Feld
bei Listen
LlDefineFieldExt(::hJob, <feldname>, <feldinhalt als string>, <LL Konstante, welche den Original Type beschreibt>, 0 )
und bei Karten oder Etiketten
LlDefineVariableExt(::hJob, <feldname>, <feldinhalt als string>, <LL Konstante, welche den Original Type beschreibt>, 0 )

Das ist das Geheimnis.
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: L&L Neueinstieg

Beitrag von Manfred »

nochmal, es sind die Beispiele von LL14, aber ich habe hier (noch) LL23 laufen. Das waren die einzigen, die ich PUR gefunden habe.
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 kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: L&L Neueinstieg

Beitrag von Tom »

Ich hab doch irgendwann mal ein Beispiel für eine einfache Druckroutine gebaut, das müsste noch funktionieren, sogar mit den alten Includes - man muss nur das DLLLoad() anpassen.

Du musst die Templates für die DLL-Routinen einbinden (CMBTL25.PRG für das Drucksystem, CMBTLL25.PRG für das Storagesystem, falls Du es verwenden willst), außerdem die Includes für die Konstanten (gleiche Dateinamen, nur mit .CH) - beides findest Du im Ordner "Beispiele" -> "Alaska Xbase++". Dann brauchst Du eine Druckroutine, die ist ganz simpel und kann aus meinem alten Beispiel genommen werden, wenn Du nicht mit der Klasse von DS-DataSoft arbeiten willst. Sie besteht aus zwei Komponenten - einer Druckschleife, in der auch das Formular angemeldet wird usw., und einer Funktion, die zeilenweise Daten publiziert ("DefineData" hieß das meiner Erinnerung nach).
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: L&L Neueinstieg

Beitrag von Manfred »

was uns auch sehr interessieren würde, wo kann man eigentlich die Rückgabenummern der LL FUnktionen nachschauen? Was nutzt es eine Zahl zu bekommen und nicht zu wissen, was ich damit anfangen kann/soll?
hat sich gerade erledigt, steht alles in combit List&Label VCL Hilfe.
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 kann man sein, man muß sich nur zu helfen wissen!!
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: L&L Neueinstieg

Beitrag von ramses »

Hallo Manfred

du könntest dir die Fehlermeldung mit folgender Funktion auch direkt anzeigen lassen. Du kannst den Rückgabewert der Funktion übergeben, ist es ein Fehler zeigt es dir den Text an.
Die Funktion ist in LLCommon.prg aus den Beispielen

Code: Alles auswählen

// D: LL Fehlermeldung anzeigen
Procedure LLErrorMessage(nErrCode)
Local cErrMsg := Replicate(chr(0),400)
If .not. empty(nErrCode)
  LlGetErrortext(nErrCode, @cErrMsg, 390)

  ConfirmBox( , "#"+AllTrim(Str(nErrCode))+" "+cErrMsg,;
                "L&L error", ;
                XBPMB_OK , XBPMB_QUESTION+XBPMB_APPMODAL+XBPMB_MOVEABLE )
EndIf
Return
Valar Morghulis

Gruss Carlo
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: L&L Neueinstieg

Beitrag von Manfred »

alles albern, es geht mit DebWin4 eigentlich total genial. Wir haben das Ding jetzt am LAufen und Spass in den Backen wie doof.
Unser Fehler war, bei DefineData(nJob,"Name",field->name,.F.,.F.) <- der erste logische Parameter mußte bei uns auf .F. und er stand anfänglich auf .T. Keine Ahnung was es bedeutet Felder oder Variable. Felder war falsch Variable war richtig. Jetzt jeht et och wigger.
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 kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: L&L Neueinstieg

Beitrag von Wolfgang Ciriack »

Felder benötigst du für Listen-Projekte, Variablen für Label-Projekte.
Viele Grüße
Wolfgang
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: L&L Neueinstieg

Beitrag von Manfred »

bist Du sicher? Wir haben ein invoice.lst eingeladen und da habe ich Variablen benutzt.
Allerdings wundert es mich jetzt, das entweder nie jemand etwas zu den Beispielen gesagt hat, oder sie nie einer probiert hat. Die klappen nicht so, wie programmiert. Wir haben einiges anpassen müssen.
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 kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: L&L Neueinstieg

Beitrag von Tom »

Ein Feld iteriert, eine Variable ist zumindest statisch gedacht. Also, ja, Listenprojekte leben davon, dass Feldinhalte/Felder so lange abermals bestückt und über "LLPrintFields" die Liste (also die Tabelle in einem LIST-Projekt) verlängern, wie es entsprechende Dateninhalte gibt (bis zum LLPrintFieldsEnd). Aber man kann natürlich auch Variableninhalte austauschen, zwischen zwei LLPrintFields-Anweisungen, dann wechseln auch diese Inhalte. Gedacht sind Variablen aber eher für den statischen oder überwiegend statischen Anteil (Projektköpfe, Adressen, solche Sachen). Wir verwenden sie aber z.B. auch als Schalter oder Flags, oder für Inhalte, seitenbezogen wechseln (wofür außerdem Benutzer- und Summenvariablen im Projekt sehr gut geeignet sind). Stell Dir Felder (LLDefineField/LLDefineFieldExt) einfach wie Tabellenspalten (also Felder in DBFs oder ähnlichen) vor, und Variablen sind eben Variablen - sie markieren nur kein Element eines Recordsets, sie können alles mögliche machen, je nachdem, wo sie publiziert bzw. neu bestückt werden.
Die Ergänzung Ext (LLDefineVariable/LLDefineField+Ext) ermöglicht Dir die Typisierung des Ergebnisses (Text, Num, Bool, RTF usw.), ohne das macht L&L das selbst.
Herzlich,
Tom
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: L&L Neueinstieg

Beitrag von ramses »

Auch wenn ich mich wiederhole:
Die Programmierreferenz beschreibt es eigentlich ganz gut.
siehe: 2.3.2 Variablen, Felder und Datentypen
Valar Morghulis

Gruss Carlo
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: L&L Neueinstieg

Beitrag von Tom »

Und das sind nur die Basics. So richtig intensiv wird das Vergnügen erst mit Verkettungen, Kreuztabellen, Charts, eingebetteten Fremddaten und all dem anderen Pipafurz. Ich nutze L&L seit Version 11, und es gibt keine Anschaffung, die ich weniger bereuen könnte als diese.
Herzlich,
Tom
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: L&L Neueinstieg

Beitrag von ramses »

Tom hat geschrieben: Sa, 04. Apr 2020 10:27 .... und es gibt keine Anschaffung, die ich weniger bereuen könnte als diese.
Dieser Aussage kann ich mich ohne wenn und aber nur anschliessen!
Valar Morghulis

Gruss Carlo
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: L&L Neueinstieg

Beitrag von Manfred »

das hier klappt
DefineData(hJob,"NAME",invoice->name,.F.,.F.)
DefineData(hJob,"STREET",invoice->street,.F.,.F.)
DefineData(hJob,"CITY",invoice->city,.F.,.F.)
DefineData(hJob,"DATE",invoice->date,.F.,.F.)
das hier klappt nicht
DefineData(hJob,"NAME","Test1",.T.,.F.)
DefineData(hJob,"STREET","Test2",.T.,.F.)
DefineData(hJob,"CITY","Test3",.T.,.F.)
DefineData(hJob,"DATE","Test4",.T.,.F.)
würde aber meinem Verständnis von Toms Erklärung gleich kommen. Einmal übergebe ich Felder mit .F. und einmal etwas statisches und dann mit .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 kann man sein, man muß sich nur zu helfen wissen!!
Antworten