Seite 1 von 1

StructuredList()

Verfasst: 21.10.2005 08:58
von Martin66119
Hallo und guten Morgen!

Ich habe da ein kleines Problem als Anfänger.
Zwei Dinge funktionieren nicht.

1). In der ersten For-Schleife sollen nacheinander alle Listenelemente
ausgegeben werden. Es wir aber 4 mal nur das letzte angezeigt.

2). Die Sortierung geht nicht.

Was mache ich falsch! Bitte um HILFE! Gruß Martin


Hier der Code.

Code: Alles auswählen

Structure File
  eMail$
  Datum$
  Gesamt$
EndStructure

NewList Liste.File()

Anzahl.w
i.b

AddElement(Liste.File())    
Liste.File\eMail$ = "d@web.de"
Liste.File\Datum$ = "01.03.05"

AddElement(Liste.File())   
Liste.File\email$ = "b@web.de"
Liste.File\Datum$ = "11.05.05"

AddElement(Liste.File())   
Liste.File\email$ = "a@web.de"
Liste.File\Datum$ = "28.01.04"

AddElement(Liste.File())   
Liste.File\email$ = "c@web.de"
Liste.File\Datum$ = "14.03.05"

Anzahl = CountList(Liste.File())
Ausgabe$ = StrU(Anzahl, #Word)
MessageRequester("Anzahl", Ausgabe$,#PB_MessageRequester_Ok ) 

For i = 0 To Anzahl -1 Step 1
  SelectElement(Liste.File(), i)
  Liste.File\Gesamt$ = Liste.File\email$ + " " + Liste.File\Datum$
  MessageRequester("Anzahl", Liste.File\Gesamt$,#PB_MessageRequester_Ok ) 
Next i


SortStructuredList(Liste(), 0, OffsetOf(File\eMail$), #PB_Sort_String)
  
MessageRequester("Anzahl", "Ausgabe der Liste sortiert" ,#PB_MessageRequester_Ok ) 

For i = 0 To Anzahl -1 Step 1
  SelectElement(Liste.File(), i)
  Liste.File\Gesamt$ = Liste.File\email$ + " " + Liste.File\Datum$
  MessageRequester("Anzahl", Liste.File\Gesamt$,#PB_MessageRequester_Ok ) 
Next i

StructuredList

Verfasst: 21.10.2005 09:11
von Martin66119
Habe die Lösung selbst gefunden!

Liste()\email = "b@web.de" anstatt Liste.File\eMail

Code: Alles auswählen

Structure File
  eMail.s
  Datum.s
  Gesamt.s
EndStructure

NewList Liste.File()

Anzahl.w
i.b

AddElement(Liste.File())    
Liste()\eMail = "d@web.de"
Liste()\Datum = "01.03.05"

AddElement(Liste.File())   
Liste()\email = "b@web.de"
Liste()\Datum = "11.05.05"

AddElement(Liste.File())   
Liste()\email = "a@web.de"
Liste()\Datum = "28.01.04"

AddElement(Liste.File())   
Liste()\email = "c@web.de"
Liste()\Datum = "14.03.05"

Anzahl = CountList(Liste())
Ausgabe$ = StrU(Anzahl, #Word)
MessageRequester("Anzahl", Ausgabe$,#PB_MessageRequester_Ok ) 

For i = 0 To Anzahl -1 Step 1
  SelectElement(Liste(), i)
  Liste()\Gesamt = Liste()\email + " " + Liste.File\Datum
  MessageRequester("Anzahl", Liste()\Gesamt,#PB_MessageRequester_Ok ) 
Next i


SortStructuredList(Liste(), 0, OffsetOf(File\eMail), #PB_Sort_String)
  
MessageRequester("Anzahl", "Ausgabe der Liste sortiert" ,#PB_MessageRequester_Ok ) 

For i = 0 To Anzahl -1 Step 1
  SelectElement(Liste(), i)
  Liste()\Gesamt = Liste()\email + " " + Liste()\Datum
  MessageRequester("Anzahl", Liste()\Gesamt,#PB_MessageRequester_Ok ) 
Next i

Verfasst: 21.10.2005 09:14
von nicolaus
Hallo

Als erstes hast du ja die liste mit

Code: Alles auswählen

NewListListe.File()
schon declariert also brauchst du wenn du sie füllst nicht immer das ".File" mit schreiben sondern nur

Code: Alles auswählen

Liste()\eMail$ = ....
Zu deinem ersten Prob:
Ruf mal vor der FOR Schleife ein

Code: Alles auswählen

FirstElement(Liste())
auf dann siehst du auch alle einträge die du sehen willst.

Mit dem Sort kann ich dir gerade nich helfen da ich das selber noch nie verwendet habe und mir erst mal anschauen muß.

Gruß Nico

Verfasst: 21.10.2005 09:20
von Eckhard
Hallo,

mach das mal so, dann geht's.

Code: Alles auswählen

Structure File
eMail$
Datum$
Gesamt$
EndStructure

NewList Liste.File()

Anzahl.w
i.b

AddElement(Liste())
Liste()\eMail$ = "d@web.de"
Liste()\Datum$ = "01.03.05"

AddElement(Liste())
Liste()\email$ = "b@web.de"
Liste()\Datum$ = "11.05.05"

AddElement(Liste())
Liste()\email$ = "a@web.de"
Liste()\Datum$ = "28.01.04"

AddElement(Liste())
Liste()\email$ = "c@web.de"
Liste()\Datum$ = "14.03.05"

Anzahl = CountList(Liste())
Ausgabe$ = StrU(Anzahl, #Word)
MessageRequester("Anzahl", Ausgabe$,#PB_MessageRequester_Ok )

For i = 0 To Anzahl -1 ;Step 1
SelectElement(Liste(), i)
Liste()\Gesamt$ = Liste()\email$ + " " + Liste()\Datum$
MessageRequester("Anzahl", Liste()\Gesamt$,#PB_MessageRequester_Ok )
Next i


SortStructuredList(Liste(), 0, OffsetOf(File\eMail$), #PB_Sort_String)

MessageRequester("Anzahl", "Ausgabe der Liste sortiert" ,#PB_MessageRequester_Ok )

For i = 0 To Anzahl -1 Step 1
SelectElement(Liste(), i)
Liste()\Gesamt$ = Liste()\email$ + " " + Liste()\Datum$
MessageRequester("Anzahl", Liste()\Gesamt$,#PB_MessageRequester_Ok )
Next i
Gruss
Eckhard!

StructuredList

Verfasst: 21.10.2005 10:11
von Martin66119
Danke an alle die geholfen Haben

Verfasst: 21.10.2005 10:31
von freedimension
Nächstes Mal bitte Code-Tags nicht vergessen, danke :allright:

Verfasst: 21.10.2005 16:55
von NicTheQuick
Das hier kann man noch vereinfachern:

Code: Alles auswählen

For i = 0 To Anzahl -1 ;Step 1 
SelectElement(Liste(), i) 
Liste()\Gesamt$ = Liste()\email$ + " " + Liste()\Datum$ 
MessageRequester("Anzahl", Liste()\Gesamt$,#PB_MessageRequester_Ok ) 
Next i 
Und zwar so:

Code: Alles auswählen

ForEach Liste()
Liste()\Gesamt$ = Liste()\email$ + " " + Liste()\Datum$ 
MessageRequester("Anzahl", Liste()\Gesamt$,#PB_MessageRequester_Ok ) 
Next