Seite 1 von 1

Frax: Übergabe von Werten in Array [erledigt]

Verfasst: Mi, 11. Mär 2009 11:21
von peternmb
Hallo,

ich möchte einen Report erstellen (einfache Liste), dessen Daten nicht in einer DBF sondern in einem eindimensionalen Array gespeichert sind. Ich möchte mir allerdings die Arbeit sparen, mit einer temporären Datenbak zu arbeiten. Wie kann ich das Array an Frax übergeben?

Ich vermute, daß hierzu die Funktion FrPrn:SetUserDataSet{) zu benutzen ist, komme aber mit den Parametern abslolut nicht klar. Ich erhalte schon beim Kompilieren eine Fehlermeldung.

Code: Alles auswählen

//  Test zum Übergeben eines Arrays an FRAX
testarray:={"A","b","C"}
FrPrn:SetUserDataSet{"Test","Testarray",testarray{})

Re: Frax: Übergabe von Werten in Array

Verfasst: Mi, 11. Mär 2009 11:44
von Tom
Mindestens beim dritten Parameter scheint etwas nicht zu stimmen:

testarray{}

Re: Frax: Übergabe von Werten in Array

Verfasst: Mi, 11. Mär 2009 13:50
von peternmb
ist ein Tippfeheler, daran liegts aber leider nicht :(

Re: Frax: Übergabe von Werten in Array

Verfasst: Mi, 11. Mär 2009 17:51
von Lewi
Hallo Peter,
schaue Dir in der im Frax Dokument "FastReport for Alaska XBase.pdf" das Beispiel zu UserdataSet an. Ebenfalls ist innnerhalb der Beispiel-Applikation "Fraxdemo.prg" ebenfalls ein Besipiel für ein Array aufgeführt.

Gruß, Olaf

Re: Frax: Übergabe von Werten in Array

Verfasst: Mi, 11. Mär 2009 18:24
von peternmb
Hallo Olaf,

das Beispiel mit dem mehrdiemsionalen Array, das die Directory-Werte einliest habe ich mir bereits angesehen aber leider nicht mal ansatzweise verstanden. Irgendwie stehe ich da anscheinend total auf dem Schlauch :banghead:
Deshalb würde ich das gerne erstmal mit einem eindimensionalen Array hinbekommen.

Im Demo-Programm wird ebenfalls das Directory-Beispiel gezeigt.

Re: Frax: Übergabe von Werten in Array

Verfasst: Mi, 11. Mär 2009 19:57
von Lewi
Hier Beispiel für ein 1-dim Array auf Grundlage des Samples:

Code: Alles auswählen

PROCEDURE DoUserDS()
Local aTemp := {}
Local aDir, I := 1, DirName := "C:\*.*"

   aDir := Directory(DirName)
  // hier ein Beispiel mit einem einfachen Array (aTemp)
   aeval( aDir, {|a| aadd(aTemp, a[1])})
   FrPrn:SetUserDataSet("Dir", "F_NAME",;
                                {||I := 1}, {||I := I + 1}, ;
                                {||I := I - 1}, {||I > Len(aTemp)},;
                                {|| aTemp[I]})

   // Hinweis: der Report muss natürlich entsprechend angepasst werden
   DoFrAction("6.fr3")
   FrPrn:ClearDataSets()
RETURN
Gruß, Olaf

Re: Frax: Übergabe von Werten in Array

Verfasst: Do, 12. Mär 2009 11:21
von peternmb
Vielen Dank so funktionert es, und ich verstehe es besser :)