Bestimmtes aus Types raussuchen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

fliege

Betreff: Bestimmtes aus Types raussuchen

BeitragMo, Jul 19, 2004 23:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie kann ich bestimmte Einträge aus einer Type - List heraussuchen?
Ich habe z.b.:
Code: [AUSKLAPPEN]

Type players
Field offline
End Type

global net_player.players

for a = 1 to 20
net_player = new player
net_player\offline = rnd(0,1)
next

;;Suche z.B.: den 3. Eintrag raus und printe ihn;;
 

wie kann ich das machen? muss das wirklich mit after .... gemacht werden? Freue mich schon auf eure Hilfe!
Fliege
 

Dreamora

BeitragMo, Jul 19, 2004 23:07
Antworten mit Zitat
Benutzer-Profile anzeigen
jepp musst du oder du speicherst dir alle type handles in nen array, dann kannste direkt auf den entsprechenden array index zugreifen
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

fliege

BeitragMo, Jul 19, 2004 23:08
Antworten mit Zitat
Benutzer-Profile anzeigen
aber wenn ich das in einen Arry lege, habe ich dann später eine begrenzte Anzahl an möglichen Usern, oder kann ich den Arry irgendwie immer wieder um 1 erhöhen, sodass er nie voll werden kann?
 

Dreamora

BeitragMo, Jul 19, 2004 23:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst ihn "dynamisch" vergrössern nach seiner deklaration. du musst dann einfach alle einträge danach erneut reinkopieren, da das redimensionieren eine löschung des arrays zur folge hat

um das möglichst effizient zu machen, verdoppelst du die grösse einfach jedes ma wenn er vergrössert werden muss, dadurch wird das vergrössern und kopieren nahezu "gratis" im vergleich zum regulären hinzufügen von usern
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

fliege

BeitragMo, Jul 19, 2004 23:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke! werd's gleich morgen ausprobieren...
Fliege
 

Jake

BeitragDi, Jul 20, 2004 8:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst auch alle EInträge eines Types durchlaufen.

for ppl.players=each players
if ppl\offline=0 print "Spieler ist online"
next

oder zum zählen:

pcount=0
ppl.players=first players
while ppl<>null
pcount=pcount+1
if pcount=3 print "Spieler 3 offline?"+ppl\offline
ppl=after ppl
wend


Das läuft schneller als du denkst. Bei großen Listen würde ich allerdings wichtige Indices speichern, um direkt drauf zuzugreifen.

Jake

PS: Hallo Forum Wink

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group