Autor Thema: Irgendwie muß man doch so eine blöde Liste abspeichern können...  (Gelesen 1391 mal)

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Hallo liebe Leute!
Ich möchte eine Liste erstellen, die dann irgendwie im Dokument abspeichern und später wieder auf die Liste zugreifen. :P
Klingt einfach, ist es aber nicht. (Für mich nicht).

Ich dachte es mir ungefähr so:
Dim li List As Variant    
Dim arr(1) As Integer
arr(0) = 1
arr(1) = 2
li("eins") = arr
arr(0) = 3
arr(1) = 4
li("zwei") = arr
Dim ws As New NotesUIWorkspace
Dim doc As NotesDocument
Set doc = ws.CurrentDocument.Document
doc.Feldindemdielisteabgespeichertwerdensoll = li
Dim hiersolldielisterein As Variant
hiersolldielisterein = doc.Feldindemdielisteabgespeichertwerdensoll

Geht aber leider nicht.  :'(
Hat jemand von euch eine Idee, wie ich das machen kann?
lg
-rar
†090620141300

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
... die Liste in eine Array übernehmen, dann klappts...

ata
Grüßle Toni :)

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Hab ich mir auch schon überlegt.
Der (oder die?) Array den ich brauch könnte dann so ausschauen:
array(0) = "eins"
array(1) = "1"
array(2) = "2"
array(3) = "3"
array(4) = "zwei"
array(5) = "4"
array(6) = "drei"
array(7) = "5"
array(8) = "6"
Wie kann ich dann einem Wert mitgeben, daß er eine Überschrift  (eins,zwei,drei)  ist. Ich muß nämlich sowohl auf die Überschriften als auch auf die Werde zugreifen. :-\

-rar
†090620141300

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
... was meinst du mit Überschriften - in deinem Array gibt es Einträge, und das übergibst du per Backend mit

doc.Feldname = Arrayname

... wenn deine Einträge unterschiedliche Funktionen haben sollen, dann benötigst du ein zweites Array, das dir sysnoym die Funktionen übernimmt...

a(1) = "Eins"
a(2) = "1"

f(1) = "Header"
f(2) = "Value"

ata
Grüßle Toni :)

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Ich versteh nicht ganz für was das zweite Array ist.
Hier ist meine Problemstellung:
Ich habe n werte (Überschrift)("drei") und möchte jedem dieser Werte wieder n Werte (Inhalte)("5":"6") zuweisen. In einem Feld möchte ich dann einer Dialogliste die Überschriften zur Auswahl anbieten und anschließend in einem anderen Feld die Inhalte anzeigen.
« Letzte Änderung: 17.04.03 - 08:10:03 von rar »
†090620141300

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
... na jetzt wird langsam klar was du haben willst... etwas Geduld und ich skizzier dir den Weg...

ata
Grüßle Toni :)

Offline enny

  • Junior Mitglied
  • **
  • Beiträge: 84
  • Geschlecht: Männlich
  • Don't drink and su!
Wie wäre es denn damit: Du erstellst die einfach einen eigenen Type mit dem du dann arbeitest wie z.B.:

' Declarations:
Type t_meineLösung
   s_bez As String
   v_vals As Variant
End Type

' Initialize:

Sub Initialize
   Dim values() As t_meineLösung
   
   Redim values(0)
   
   values(0).s_bez = "eins"
   Redim values(0).v_vals(1)
   values(0).v_vals(0)=1
   values(0).v_vals(1)=2
End Sub

Du brauchst dann 'nur' noch eine Funktion um das ganze in ein Feld und wieder aus diesem rauszubekommen.
Server:
  Platformen: 1 x Windows 2000 Server, 4 x Windows 2003 Server, 1 x OS400
  Versionen: 4 x 6.5.4 FP2, 2 x 8.0.1
Clients:
  Anzahl: ca. 600
  Versionen: 6.5.3, 6.5.4, 8.0.1

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Ist ein guter Listenersatz. Das Problem mit dem "im Feld abspeichern" habe ich aber immer noch.

Ich löse jetzt das einfach in einem Mehrfachwertfeld, indem ich ein Array abspeicher, der so aussieht.
array(0) = "eins"
array(1) = "1"
array(2) = "2"
array(3) = "-"
array(4) = "zwei"
array(5) = "3"
array(6) = "-"
Den Speicher ich dann im Doc ab und befülle dann ein Feld im Queryopen mit den Überschriften ((0) und die Werte nach dem "-")
Wenn man dann in einem Dialogfeld eine der Überschriften auswählt, bekommt man in einemanderen Feld die Werte zwischen der Überschrift und dem "-" angezeigt.
In einem dritten Feld kann man dann neue Werte angeben und über ein Button die Werte in das alte Array reinschieben.
Ein Löschenbutton gibts auch noch.

Meiner Meinung nach ziemlich kompliziert um eine Liste zu ersetzen, aber es ist kurz vor dem Abschluß. :P
Danke dir trotzdem.
-rar
†090620141300

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz