Seite 1 von 2
anzahl von einträgen in Strukturierten Array ermitteln!?
Verfasst: 17.03.2009 15:06
von inti
folgendes problem:
ich habe eine struktur zb.
die ich gern dynamisch anpassen möchte (über 'redim') wenn einträge gelöscht oder hinzugefügt werden... das hängt mit der ausgabe/anzeige, sortierung usw zusammen... gibt es eine möglichkeit die anzahl der einträge zu ermitteln ohne mitzuzählen?
Verfasst: 17.03.2009 15:09
von Kaeru Gaman
über ReDim kannst du die Größen von Arrays Ändern, nicht von Strukturen.
Verfasst: 17.03.2009 15:10
von KeyKon
Du willst Einträge in der Struktur löschen oder Hinzufügen? Oder meinst du ein Array mit Struktur? Wen dem so ist und du Einträge löschen willst wäre eine LinkedList ohnehin besser...
Ich würde es einfach in einer extra Variabel mitloggen wenn es keine einfachere Lösung gibt...
PS: ForName sieht echt böse aus^^
Verfasst: 17.03.2009 15:33
von inti
ok, ich war etwas ungenau, sorry!

ich würde gern über SortStructuredArray() eine art datenbank realisieren:
der anfang schaut folgendermaßen aus:
Code: Alles auswählen
Structure INHALT
null$
eins$
zwei$
drei$
vier$
fuenf$
EndStructure
Global Dim SORTL.INHALT(0)
beim laden der datenbank wird die anzahl der Einträge bestimmt und mit
angepasst - funtioniert alles soweit. ich habe das so gelößt weil ich die funktion 'SortStructuredArray' nutzen will.
bisher habe ich die 'datenbank' über ein ListIconGadget angezeigt, änderungen dort vorgenommen (ADD/DEL/EDIT) und zurückgeschrieben... nun bin ich an dem punkt wo ich das mal 'rückwärts' brauche und dazu muss ich irgendwie ermitteln wieviel einträge in diesem StructuredArray sind!
eventuell gehe ich das ganze ja auch gaaaaaaaaanz falsch an und ihr habt eine bessere lösung? ...vor allem wegen dem SORT der unterschiedlichen 'spalten'...
Verfasst: 17.03.2009 15:37
von KeyKon
Lads in ne LinkedList und sortier mit SortStructuredList()
Wo dein eigentliches Problem liegt is mir immernoch nich so ganz klargeworden^^
Verfasst: 17.03.2009 15:42
von inti
du kannst auch gross schrieben!
ich hatte das erst über eine linkedlist versucht aber irgendwie nicht hinbekommen!

Verfasst: 17.03.2009 15:45
von Kaeru Gaman
änder aber trotzdem mal den Titel, du willst ja nicht die Anzahl Einträge in einer Struktur wissen,
sondern in einem Strukturierten Array.
Verfasst: 17.03.2009 15:52
von KeyKon
Ich würde es mit ner LinkedList machen weil man sich da einfach Elemente einfügen und rauslöschen kann, und keinen Umweg über n ListIconGadget nehmen muss, wozu genau brauchst du denn jetz die Anzahl? und wiso loggst du das nich einfach in eine extra Variable?
Verfasst: 17.03.2009 16:43
von pickelrobert
Probier's mal mit ArraySize()
Code: Alles auswählen
Structure Person
Name.s
Alter.w
EndStructure
Dim test.person(2)
test(0)\name="meyer"
test(0)\alter=18
test(1)\name="schulze"
test(1)\alter=25
test(2)\name="schmidt"
test(2)\alter=7
bis.w=ArraySize(test())
For i.w=0 To bis
Debug test(i)\name+","+Str(test(i)\alter)
Next
ReDim test.person(1)
bis.w=ArraySize(test())
For i.w=0 To bis
Debug test(i)\name+","+Str(test(i)\alter)
Next
Verfasst: 17.03.2009 19:18
von hjbremer
Meine persönliche Meinung: Daten in einem Listicongadget sollten nicht parallel in einem Array, welcher Art auch immer, verwaltet werden. Es ist nicht schneller, im Gegenteil und erhöht den Verwaltungsaufwand erheblich.