L&L Neueinstieg

Moderator: Moderatoren

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 »

Was bedeutet "klappt nicht" genau? Und wie sieht Deine DefineData-Routine aus?
Herzlich,
Tom
Benutzeravatar
Bertram Hansen
Foren-Moderator
Foren-Moderator
Beiträge: 1015
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Hat sich bedankt: 28 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: L&L Neueinstieg

Beitrag von Bertram Hansen »

Eine Ergänzung zum Beitrag von Manfred.

Beim vierten Parameter lAsField in der Funktion DefineData(hJob, cFieldname, xFieldValue, lAsField, lUnicode) steht der folgende Code

Code: Alles auswählen

  // D: Daten an List & Label uebergeben
  // US: Pass data to List & Label
  IF (lAsField)
       nRet := LlDefineFieldExt(hJob, cFieldName, FldContent, FldType, 0 )
  ELSE
       nRet := LlDefineVariableExt(hJob, cFieldName, FldContent, FldType, 0 )
  ENDIF
Und da kommen wir nicht mit klar.
In der Programmierer-Referenz von L&L steht unter Punkt 5.2.3 der folgende Hinweis:
Das Anmelden und Definieren von Variablen samt Inhalt geschieht mit der List & Label
Funktion LlDefineVariable[Ext]() und das Anmelden und Definieren von Feldern samt
Inhalt erfolgt über die Funktion LlDefineField[Ext]()
Aber es gibt da leider kein Beispiel mit der Funktion LlDefineFieldExt()
Unter welchen Bedingungen darf ich den vierten Parameter (lAsField) mit einem .T. übergeben?
:wave:
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
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 »

"lAsField" legt fest, ob LLDefineField(Ext) - bei .T. - oder LLDefineVariable(Ext) - bei .F. - verwendet werden.
Herzlich,
Tom
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 »

Man kann das auch direkt machen:

Code: Alles auswählen

LlDefineFieldExt(hJob, <cName>,<cxInhalt>,<nType>,0)
also z.B.

Code: Alles auswählen

LlDefineFieldExt(hJob, "Name", db->name,LL_TEXT,0)
Herzlich,
Tom
Benutzeravatar
Bertram Hansen
Foren-Moderator
Foren-Moderator
Beiträge: 1015
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Hat sich bedankt: 28 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: L&L Neueinstieg

Beitrag von Bertram Hansen »

Tom, das entnehme ich auch so aus dem Quellcode.
Kannst du mir mal ein Beispielaufruf mit LLDefineField(Ext) geben.

Das hier funktioniert:

Code: Alles auswählen

DefineData(hJob,"NAME",invoice->name,.F.,.F.)
DefineData(hJob,"NAME","Test1",.F.,.F.)   
Aber das hier nicht

Code: Alles auswählen

DefineData(hJob,"NAME","Test1",.T.,.F.)   
:wave:
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
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 »

Nein, das ist nicht eine Funktion mit einem optionalen Parameter, Bertram, es sind zwei Funktionen, von denen eine weitere Parameter hat. LLDefineField(<nJob>,<cName>,<cxName>) publiziert ein Feld und verwendet eine implizite Typisierung, LLDefineFieldExt() hat zwei zusätzliche Parameter, von denen der erste die Typisierung (z.B. LL_TEXT oder LL_RTF) darstellt und ich vom zweiten gerade nicht aus dem Kopf weiß, wofür er gut ist.
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 »

Code: Alles auswählen

 LlDefineFieldExt(hJob, cFieldName, FldContent, FldType, 0 )
FldType ist z.B. LL_NUMERIC für eine Zahl


Schaut mal im Beispiel die PRG LLCommon an da ist alles schön aufgebaut
Valar Morghulis

Gruss Carlo
Benutzeravatar
Bertram Hansen
Foren-Moderator
Foren-Moderator
Beiträge: 1015
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Hat sich bedankt: 28 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: L&L Neueinstieg

Beitrag von Bertram Hansen »

Trotz eurer Versuche uns zu helfen, verstehe ich das nicht. :( Blockade, weil heute Samstag ist, oder ..... (sucht euch was aus)

Hier kommt jetzt mal die gesamte Funktion

Code: Alles auswählen

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
FUNCTION DefineData(hJob, cFieldname, xFieldValue, lAsField, lUnicode)
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// D: Wird vom Programm aufgerufen, um die Daten entsprechend dem
//    neuen Datensatz zu definieren. In lAsField wird festgelegt,
//    ob die Daten als Felder oder als Variable an List & Label
//    uebergeben werden.
//    Daten werden aus dem aktuellen Arbeitsbereich ermittelt.
// US: Is called by the program to define the variables according
//    to the new record. lAsField distinguishes between field and
//    variable declaration to List & Label
//    Data is retrived from current workarea.

LOCAL FldType, FldContent, DateBuffer, lExpr
LOCAL nRet

DEFAULT lUnicode TO .F.

 DO CASE
    CASE(ValType(xFieldValue) == "N")
         FldType := LL_NUMERIC
         FldContent := Str(xFieldValue)

    CASE(ValType(xFieldValue) == "D")
        FldType := LL_DATE
        DateBuffer := Replicate(chr(0), 255)

        // D: In Julianisches Datum konvertieren
        // US: Convert to Julian Date

        // D: Ausdruck erzeugen
        // US: Create expression
        lExpr := LlExprParse(hJob,"DateToJulian(DATE("+ Chr(34) + DToC(xFieldValue) + Chr(34) + "))", .F.)

        // D: Ausdruck auswerten
        // US: Evaluate expression
        LlExprEvaluate(hJob, lExpr, @DateBuffer, 255)

        // D: Ausdruck freigeben
        // US: Free expression
        LlExprFree(hJob, lExpr)
        FldContent := DateBuffer

    CASE(ValType(xFieldValue) == "L")
        FldType := LL_BOOLEAN
        FldContent := IIf(xFieldValue, "TRUE", "FALSE")

    CASE(ValType(xFieldValue) == "C")
        FldType := LL_TEXT
        IF(lUnicode)
          FldContent := xFieldValue
        ELSE
          FldContent := Trim(xFieldValue)
        ENDIF
        
    CASE(ValType(xFieldValue) == "M")
        FldType := LL_TEXT
        FldContent := xFieldValue
  ENDCASE

  // D: Daten an List & Label uebergeben
  // US: Pass data to List & Label
  IF (lAsField)
       nRet := LlDefineFieldExt(hJob, cFieldName, FldContent, FldType, 0 )
  ELSE
       nRet := LlDefineVariableExt(hJob, cFieldName, FldContent, FldType, 0 )
  ENDIF
RETURN(nRet)
Ein Beispiel für den Aufruf von LlDefineFieldExt(hJob, cFieldName, FldContent, FldType, 0 ) würde mir helfen.
:wave:
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
Benutzeravatar
Bertram Hansen
Foren-Moderator
Foren-Moderator
Beiträge: 1015
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Hat sich bedankt: 28 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: L&L Neueinstieg

Beitrag von Bertram Hansen »

Beim Aufruf von DefineData(hJob,"NAME","Test1",.F.,.F.)
wird die Funktion LlDefineVariableExt(1, "NAME", "Test1", 268435456, 0 ) mit diesen Werten aufgerufen. Das funktioniert. :) :)

Beim Aufruf von DefineData(hJob,"NAME","Test1",.T.,.F.)
wird die Funktion LlDefineFieldExt(1, "NAME", "Test1", 268435456, 0 ) mit diesen Werten aufgerufen. Das funktioniert nicht :( :(
:wave:
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
Benutzeravatar
Bertram Hansen
Foren-Moderator
Foren-Moderator
Beiträge: 1015
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Hat sich bedankt: 28 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: L&L Neueinstieg

Beitrag von Bertram Hansen »

Wo liegt da der Unterschied, bzw. wann soll das eine und wann soll das andere verwendet werden?

Wir sind wie gesagt Anfänger / Neulinge mit L&L.
:wave:
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: L&L Neueinstieg

Beitrag von Martin Altmann »

Bertram,
ich nutze kein L&L
Aber warum liest du nicht, was Tom schreibt? Wenn du ein Feld nutzt, kannst du ihm doch kein Inhalt zuweisen wie bei einer Variablen!

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
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 »

sondern?
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 »

Bertram Hansen hat geschrieben: Sa, 04. Apr 2020 12:54 Beim Aufruf von DefineData(hJob,"NAME","Test1",.T.,.F.)
wird die Funktion LlDefineFieldExt(1, "NAME", "Test1", 268435456, 0 ) mit diesen Werten aufgerufen. Das funktioniert nicht :( :(
Wie kommst du darauf dass dies nicht funktioniert?? Fehlermeldung?

Du übergibst damit doch ein Feld "NAME" mit Textinhalt "Test1" das NUR z.B, in einer Tabellenzeile eines LST Projekts verwendet werden kann.

LlDefineVariableExt() übergiebt IMMER Variablen
LlDefineFieldExt() übergint IMMER Datenfelder einer TabellenZeile (Listenfeld)

die Parameter sind bei beiden gleich:

hJob: List & Label Job-Handle
lpszName: Zeichenkette mit Feldname
lpszCont: Zeichenkette mit Feldinhalt
lPara: Feldtyp
lpPara: für spätere Erweiterungen, muss NULL sein

*******************

Du übergibst den Wert richtig. Vermutlich nutzt du Ihn im Designer einfach nur falsch! Bezw. du willst etwas machen was so nicht geht.
Zuletzt geändert von ramses am Sa, 04. Apr 2020 13:36, insgesamt 1-mal geändert.
Valar Morghulis

Gruss Carlo
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 »

Ich baue meine Daten z.B. wie folgt auf:

Code: Alles auswählen

** von einem Array:
LlDefineField(::hjob,     "EINH",    ConvToAnsiCP(::aLLDaten[::nACounter][6]))
LlDefineFieldExt(::hjob,"MENGE", str(::aLLDaten[::nACounter][7]), LL_NUMERIC, 0)
** oder von Datenbank:
LlDefineField(::hjob, "TAGE",    ConvToAnsiCP( iif(!empty(con->lt_beweg),str(date()-con->lt_beweg),"")))
LlDefineField(::hjob, "KUNDE",  ConvToAnsiCP( ku->name1))
LlDefineVariableExt(::hjob, "RTFText1", ConvToAnsiCP(ConvRtf2oldRtf(te->text1rtf)), LL_RTF, 0)
LlDefineVariableExt(::hjob, "Firmlogo", "firmlogo2.gif", LL_DRAWING, 0)
oder für eine ganze Datenbank:
procedure Dbf2LLFields(hjob, db, tovar, mitalias)
local oldsel:=select(), FInhalt, zus, aStruct, i

select(db)
aStruct:=DbStruct()
zus:=""
if mitalias
   zus:=alias()+'_'
endif

FOR i:=1 to len(aStruct)
   do case
   case aStruct[i][DBS_TYPE] == "N"
    FInhalt:=str(FieldGet(i),aStruct[i][DBS_LEN],aStruct[i][DBS_DEC])
   case aStruct[i][DBS_TYPE] == "D"
    FInhalt:=dtoc(FieldGet(i))
   case aStruct[i][DBS_TYPE] == "L"
    FInhalt:=ltoc(FieldGet(i))
   case aStruct[i][DBS_TYPE] == "C"
    FInhalt:=alltrim(FieldGet(i))
   case aStruct[i][DBS_TYPE] == "M"
    FInhalt:=alltrim(hardCR(atrepl(chr(13)+chr(10),FieldGet(i),chr(10))))
   endcase
   if tovar=.T.
      LlDefineVariable(hjob,zus+aStruct[i][DBS_NAME],ConvToAnsiCP(FInhalt))
   else
      LlDefineField(hjob,zus+aStruct[i][DBS_NAME],ConvToAnsiCP(FInhalt))
   endif
NEXT
select(oldsel)
return
Viele Grüße
Wolfgang
Benutzeravatar
Bertram Hansen
Foren-Moderator
Foren-Moderator
Beiträge: 1015
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Hat sich bedankt: 28 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: L&L Neueinstieg

Beitrag von Bertram Hansen »

Dieser Code wurde aufgerufen

Code: Alles auswählen

DefineData(hJob,"NAME",invoice->name,.F.,.F.)
DefineData(hJob,"STREET",invoice->street,.T.,.F.)
Hier kommen noch mehr Details:
Der Fehler tritt in dieser Zeile auf nRet := PrintLLTableRow(hJob, i)
Als Rückmeldung erhalten wir -4
Hier kommen noch ein paar Bilder dazu.
Fehler.jpg
Fehler.jpg (15.46 KiB) 10376 mal betrachtet
Fehler1.jpg
Fehler1.jpg (106.64 KiB) 10376 mal betrachtet
Fehler2.jpg
Fehler2.jpg (126.48 KiB) 10376 mal betrachtet
:wave:
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
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 »

Dein Aufrunf ist falsch!

DefineDATA() hat nur 2 Parameter job, uns lasFeld

Die funktion übergibt alle Datenfelder der aktuellen DBF
Zuletzt geändert von ramses am Sa, 04. Apr 2020 13:43, insgesamt 1-mal geändert.
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 »

Carlo,
lies bitte genau bevor DU Antworten schickst, die daneben sind.
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
Bertram Hansen
Foren-Moderator
Foren-Moderator
Beiträge: 1015
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Hat sich bedankt: 28 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: L&L Neueinstieg

Beitrag von Bertram Hansen »

Nochmals hier die Aufrufe:

DefineData(hJob,"STREET",invoice->street,.F.,.F.) -> funktioniert
DefineData(hJob,"STREET","Hauptstrasse",.F.,.F.) -> funktioniert

DefineData(hJob,"STREET",invoice->street,.T.,.F.) -> funktioniert nicht
DefineData(hJob,"STREET","Hauptstrasse",.T.,.F.) -> funktioniert nicht
:wave:
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
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 »

@Martin: Den Funktionen LLDefineField(Ext) und LLDefineVariable(Ext) ist egal, woher sie Daten bekommen. Die Funktionen haben selbst keinen Zugriff auf die Datenquelle. Sie nehmen nur den dritten Parameter entgegen und publizieren Sie unter dem zweiten Parameter an den Druckjob, der als erster Parameter angegeben ist.

In meiner Version von DefineData - die allerdings noch aus einer sehr viel älteren Version von L&L stammt - werden nicht einzelne Daten publiziert, sondern Arrays übergeben, die jeweils die Feld-/Variablennamen, die Inhalte und ggf. Typisierungsinformationen enthalten.
Herzlich,
Tom
Benutzeravatar
Bertram Hansen
Foren-Moderator
Foren-Moderator
Beiträge: 1015
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Hat sich bedankt: 28 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: L&L Neueinstieg

Beitrag von Bertram Hansen »

Carlo,
unsere definierte Funktion DefineData(hJob, cFieldname, xFieldValue, lAsField, lUnicode) hat 5 Parameter. Diese ist weiter oben angegeben.
:wave:
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
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 »

vielleicht definieren wir erstmal, was Tom unter Feld und/oder Variable versteht?
Steht Feld für DBF Feld?
Steht Variable für ein festen Wert?
So verstehe ich das
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 »

Bertram

in LL steht Feld (lAsField=.t.) für ein Datenzeilenfeld einer Tabelle / Variable (lAsField=.f.) für alles andere.

die Version 22 die du verwenden wolltest hat folgende DefineData() Funktion in den Beispielen

//-------------------------------------------------------------------
Function DefineData(hJob, lAsField)
//-------------------------------------------------------------------

// D: Wird vom Programm aufgerufen, um die Daten entsprechend dem
// neuen Datensatz zu definieren. In lAsField wird festgelegt,
// ob die Daten als Felder oder als Variable an List & Label
// uebergeben werden.
// Daten werden aus dem aktuellen Arbeitsbereich ermittelt.
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 »

Erstens: "DefineData" ist keine List&Label-Funktion, sondern eine Xbase++-Prozedur aus den Beispielen*. Sie steuert LLDefineField und LLDefineVariable an. Zweitens. Felder in L&L iterieren, Variablen nicht. Woher aber die Felder stammen - ob aus einer Tabelle, aus mehreren Tabellen, aus Arrays oder sonstwoher -, ist L&L völlig egal. Ich kann mit LLDefine... jede Art von Daten übergeben. Der Unterschied besteht nur darin, dass Felder (LLDefineField) innerhalb eines Druckjobs wiederholt bestückt werden, um Tabellenzeilen zu füllen. Variable sind im Job (eher) statisch. LLPrintFields druckt einen Satz Felder, woher die auch immer stammen. LLPrint druckt alles.

*von der es auch noch unterschiedliche Fassungen zu geben scheint. :wink:
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 »

erstens, hat keiner behauptet, das DefineData() von L&L ist. Aber sie ist lt. Kopf von combit.
und diese nehmen wir als Vorlage für die Versuche. Deshalb habe wir sie ja auch die ganze Zeit mit vorgelegt und daran erklärt, das es nicht klappt. Anscheinend ist das aber irgendwie nicht rübergekommen hier. :roll: Die Aufrufe mit den Parametern in der Funktion sind aber L&L Aufrufe.
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 »

Betram

ihr habe eine andere DefineData() Funktion als die vor der ich ausgegangen bin. Entschuldige.
Valar Morghulis

Gruss Carlo
Antworten