variable aus textdatei lesen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

MisterKnister

Betreff: variable aus textdatei lesen

BeitragSa, Dez 13, 2008 16:52
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo,

ich möchte meine variablen aus einer textdatei auslesen, weil ich finde, dass das ordentlicher ist.
dabei möchte ich aber nicht gleich werte zuweisen, da es auch teilweise bilder sind.
wenn ich jetzt aber schreibe


Code: [AUSKLAPPEN]

file = readfile("data.txt")
global variable = readline(file)
closefile file



dann bekomme ich die fehlermeldung "stream does not exist"

hat jemand eine ahnung, wie das mölich wäre?

BladeRunner

Moderator

BeitragSa, Dez 13, 2008 17:01
Antworten mit Zitat
Benutzer-Profile anzeigen
War der Quelltrxt schon gespeichert? Wenn nein wird die datei im Temporären Ordner gesucht. Also Quelltext speichern und .txt in den selben Ordner, dann sollte der obige Quellcode funktionieren.

EDIT: Allerdings würde ich aus variable einen $ machen 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
 

MisterKnister

BeitragSa, Dez 13, 2008 18:51
Antworten mit Zitat
Benutzer-Profile anzeigen
sorry ich hab mich verschrieben

ich meinte, dass ich den variablennamen aus der datei auslese

also

Code: [AUSKLAPPEN]

file = readfile("data.txt")
 readline(file) = loadimage(path)
closefile file


das ganze hat den hintergrund, dass ich mir gerade eine funktion schreibe, die bilder entschlüsselt, ich aber den in der klammer stehenden variablennamen nicht verwenden kann also dachte ich, ich lese sie aus einer datei aus

Xeres

Moderator

BeitragSa, Dez 13, 2008 18:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Bezeichnung einer Variable muss konstant sein, sonst kann der Compiler nichts damit anfangen.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

MisterKnister

BeitragSa, Dez 13, 2008 22:25
Antworten mit Zitat
Benutzer-Profile anzeigen
also wird das so nichts

und den variablennamen kann ich auch nicht in die klammer der funktion schreiben also

Code: [AUSKLAPPEN]

bildladen("hi.res", "hi.bmp", a

function bildladen(lesen, schreiben, bildname)
dateilesen = readfile(lesen)
dateischreiben = writefile(schreiben)
entschlüsseln
bildname = loadimage(schreiben)
deletefile schreiben
end function


das funktioniert eben nicht, da ich wohl einen string nicht zu einer variable machen kann

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, Dez 13, 2008 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst aber jeder Zeit ein variables Array festlegen, in welchen dann jede ID die jeweiligen Werte speichert. Oder Banken sind auch eine Alternative.

Dazu müsste dann die Textdatei erstmal angeben, wieviele Werte in ihr gespeichert sind (Dateiheader). Dann bekommt jeder Wert eine eigene ID. Eine Textdatei könnte dann in etwa so aussehen:

Zitat:
[VALUES]
Count = 4
ID0 = 1234
ID1 = 2345
ID2 = 3456
ID3 = 4567


Im Code selbst würde dann ein stinkt normaler INI-Parser hantieren und die Werte in ein Blitzarray speichern. Allerdings frage ich mich, wozu man variable Variablen benötigt, die im Code selbst eh wieder hardcoded sind. Ansonsten mußt du dir einfach mal ein eigenes Dateiformat ausdenken, welches all die Sachen speichern und verwalten kann die du benötigst.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

MisterKnister

BeitragSa, Dez 13, 2008 23:44
Antworten mit Zitat
Benutzer-Profile anzeigen
das problem ist der code den ich letztes mal gepostet habe, ich möchte für jedes bild die funktion ausführen, was aber nicht geht, da ich den variablennamen nicht in den klammern hinter der funktion schreiben kann.
darum dachte ich, ich lese sie einfach aus einer datei aus

Xeres

Moderator

BeitragSo, Dez 14, 2008 0:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst dir das entschlüsselte Bild doch von der Funktion als Rückgabewert holen...

Edit:
Code: [AUSKLAPPEN]
Local Bildname = bildladen("hi.res", "hi.bmp")

Function bildladen(Resource$, Image$)
   ; Bild aus dem Resource File extrahieren/entschlüsseln...
   Local img = LoadImage(Image$)
   If img = Null Then
      RuntimeError("Das Bild '" + Image$ + "' gibt es nicht!")
   Else
      Return img
   EndIf
End Function
 

MisterKnister

BeitragSo, Dez 14, 2008 15:25
Antworten mit Zitat
Benutzer-Profile anzeigen
danke xeres, es funktioniert aber wieso reicht dem der rückgabewert weil img ist doch eine andere variable als der name des bildes

edit: achso wegen dem return

edit 2 jetzt hätte ich aber noch ein problem nämlich dass wenn ich etwas in eine datei schreibe alles was vorher da war gelöscht wird muss ich den inhalt erst kopieren und dann schreiben oder kann ich das umgehen? schon rausgefunden

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group