Dim feld wert in Variable laden [solved]

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

superSC

Betreff: Dim feld wert in Variable laden [solved]

BeitragSa, Apr 16, 2011 21:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leute

Ich wollte mal fragen ob(und wenn ja, wie) man einen Wert aus einem Dim-Feld in eine Variable lesen kann.

z.B. so:
BlitzBasic: [AUSKLAPPEN]
Dim archive(arch_anzahl,2)

For i=1 To arch_anzahl
irgendeinVariablenName=archive(i,1)
Next


wäre gut zu wissen :/

mfg SSC
  • Zuletzt bearbeitet von superSC am So, Apr 17, 2011 9:42, insgesamt einmal bearbeitet

aMul

Sieger des Minimalist Compo 01/13

BeitragSa, Apr 16, 2011 21:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht liegt es an mir, dass mich die Frage verwirrt, aber abgesehen davon dass ein Array von 0 bis arch_anzahl - 1 zählt ist alles korrekt.

EDIT:
Oh. Da ist natürlich eine Sache.
Du kannst in einer Variable immer nur einen Wert haben. Ein Array(Dim dingens) hat eine ganze Reihe.
Entsprechend überschreibst du mit der Schleife die Variable immer wieder und nur der letzte Wert ist zum Schluss drin.
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver
 

superSC

BeitragSa, Apr 16, 2011 21:33
Antworten mit Zitat
Benutzer-Profile anzeigen
das weis ich ja, ich will das nur wissen, damit ich die einzelnen Werte aus der Dim Variable in einer Datei speichern kann, mit einer For-Next schleife.

BlitzBasic: [AUSKLAPPEN]

For i=1 To arch_anzahl
file=archive(i,2)
writein(stream, file)
Next


so also Wink
dann hätte ich das speichern von knapp 200 Archievements viel einfacher xD

blackgecko

BeitragSa, Apr 16, 2011 21:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Alle Befehle die du brauchst um in Dateien zu speichern oder daraus zu lesen finden sich hier.

In deinem Fall: Du öffnest vor der Schleife eine Datei zum Schreiben (WriteFile).
In der Schleife gehst du dann alle Werte des Arrays durch und schreibst sie einzeln in die Datei (zb mit WriteLine)
Und nach der Schleife CloseFile nicht vergessen.
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax
Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die.
 

BBPro2

BeitragSo, Apr 17, 2011 1:54
Antworten mit Zitat
Benutzer-Profile anzeigen
du kannst auch das dim feld selbst direkt als variable verwenden um in eine datei zu schreiben,
also z.b.

for...
writeline (stream, archive(i,j))
next

das zwischenspeichern ist nicht notwendig
 

superSC

BeitragSo, Apr 17, 2011 1:59
Antworten mit Zitat
Benutzer-Profile anzeigen
das hat ja bei mir leider nicht geklappt, da meinte der PC es sei eine Function :/


EDIT: ich hatte das alles ja schon ausprobiert, das Problem ist, er sieht die variable "Archieve(i,2)" als eine Function an.
Und deshalb dachte ich mir, ich müsste es vielleicht zwischenspeichern.

EDIT2: im übrigen kann ich den ganzen Rotz von wegen Speichern und schleifen, dateien öffnen bearbeiten erstellen bzw. löschen kann ich alles. Nur ist mein Problem(wie oben schon beschrieben) meint mein B3D es als Function anerkennen zu müssen.

Ich hoffe jetzt versteht ihr meine Lage ^^

mfg SSC

Hubsi

BeitragSo, Apr 17, 2011 8:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann fehlt im Kopf des Programms das dimensionieren? Also das Dim archive(toller_Wert,2). Allerdings hattest Du es im ersten geposteten Code drin.
Als zweites Problem käme mir dann noch IDEal in den Sinn. Ich hatte das auch schon einige sehr wenige, aber lästige, Male das sich ein nicht sichtbares Zeichen ans Ende einer Zeile gehängt (irgendeins von ASCII 1 bis 31) hat und den Compiler aus der Bahn geworfen hat. Geholfen hat hier immer die letzten bearbeiteten Teile einfach auszukommentieren und wenn der Syntax wieder passt hat mans schon eingekreist.
Wenns das alles nicht ist könnte ich mir vorstellen das uns der ganze Code am Stück am besten hilft den Fehler zu erwischen.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

BladeRunner

Moderator

BeitragSo, Apr 17, 2011 9:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Poste uns einen kurzen Code der den Fehler reproduziert. Wir haben keine Kristallkugeln Wink
Und unter Umständen fällt Dir beim erstellen dieses Codes der Fehler schon selbst auf Wink
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

superSC

BeitragSo, Apr 17, 2011 9:36
Antworten mit Zitat
Benutzer-Profile anzeigen
ha ok
ich habe das Dim feld in die Hauptdatei gesetzt und die for-next schleife in eine andere datei.

als ich die for-next schleife in die Hauptdatei eingetragen habe, hat es funktioniert Very Happy

ok danke jungs

mfg SSC

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group