Type-Variable nacheinander auslesen
Übersicht

CO2ehemals "SirMO"Betreff: Type-Variable nacheinander auslesen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
ich habe ein Problem und zwar: ich hab einen Type deklariert: Code: [AUSKLAPPEN] Type missionen Field mission_filename$ End Type So, nun lasse ich einen Ordner auslesen und nach jedem gefundenen File wird ein neuer mission_filename$ eingetragen. Und nun das Problem: Danach versuche ich die gefundenen files in eine Datei zu schreiben, was aber nicht funktioniert, ich habe schon folgende schleife geschrieben: Code: [AUSKLAPPEN] Global write_mission_file = WriteFile("mission_data.txt") While mission <> Null WriteLine write_mission_file, "" + mission\mission_filename + "" mission = After mission Wend aber die Datei ist am ende okb groß und es steht folglich nix drin. thx schonmal im vorraus |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich nehme an, bei der Variante müsstest zu zuerst mission.missionen=First missionen machen.
Edit: Steht in deinem Code eigentlich eine anständige Deklaration der Variable mission? Für sowas gibt es aber For-Each-Schleifen: Code: [AUSKLAPPEN] For mission=Each missionen
WriteLine write_mission_file, mission\mission_filename Next mfg Thunder |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
- Zuletzt bearbeitet von Thunder am Fr, Jul 16, 2010 17:31, insgesamt einmal bearbeitet
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
- Warum nicht For...Each?
- CloseFile ![]() Code: [AUSKLAPPEN] Global write_mission_file = WriteFile("mission_data.txt")
Local m.missionen For m = Each missionen WriteLine write_mission_file, m\mission_filename Next CloseFile(write_mission_file) |
||
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 THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja mission ist deklariert.
den codeteil mit mission.missionen = first missionen hab ich eben vergessen sry. Jetzt hat sich allerdings eine änderung aufgetan: es wird eine datei erstellt mit 6 Zeilen, leider steht in keiner davon ein buchstabe... |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Versuch mal vor dem Speichern den Inhalt der Missionen zu verifizieren:
Code: [AUSKLAPPEN] For m = Each missionen
DebugLog(m\mission_filename ) Next Stop |
||
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 THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
da tut sich gar nix... | ||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Werde mal konkreter als "funktioniert nicht".
- Debug-Modus nicht aktiviert? "Programm->Debug Enabled?" - Es wird nichts im Debuglog ausgegeben? |
||
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 THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sehr aussagekräftig.
Wenn du die Variablen nicht initialisierst, kannst du nicht erwarten, dass was drinnen steht. (keine Initialisierung im obigen Code) Code und eine gute Beschreibung des Problems wären ganz gut oder du suchst nach dem Fehler. mfg Thunder |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok ok, dann schick ich mal den ganzen Code:
Code: [AUSKLAPPEN] Graphics 400, 300, 32, 2 Global read_dir = ReadDir("mission") Global gefundene_files Type missionen Field mission_filename$ End Type Repeat Local filename$ = NextFile(read_dir) gefundene_files = gefundene_files + 1 Until filename$ = "" Local new_gefundene_files = gefundene_files - 3 Global start Global mission.missionen For start = 0 To new_gefundene_files mission.missionen = New missionen mission\mission_filename$="" + filename$ + "" Next mission.missionen = First missionen Print "Gefundene Missionen: " + new_gefundene_files + "/" + gefundene_files + "" Print "(" While mission <> Null Print "" + mission\mission_filename$ + "" mission = After mission Wend Print ")" Global write_mission_file = WriteFile("mission_data.txt") For mission=Each missionen WriteLine write_mission_file, mission\mission_filename$ Next CloseFile(write_mission_file) Print "Bitte eine Taste drücken um zu beenden" WaitKey() End So, externe dateien: Ein Ordner Namens "mission" in ihm 4 dateien, "mission1.txt" "mission2.txt" "mission3.txt" "mission4.txt" folgender fehler: in der erstellten Datei sind wohl 6 Zeilen (1kb groß), aber es steht nix drin. wo aktiviert man das Debuglog bei IDEal? |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Verbesserungsvorschlag:
Code: [AUSKLAPPEN] Graphics 400, 300, 32, 2
Global read_dir = ReadDir("mission") Global gefundene_files Global mission.missionen Type missionen Field mission_filename$ End Type Repeat Local filename$ = NextFile(read_dir) gefundene_files = gefundene_files + 1 If Lower(Right(filename$,4))=".txt" Then mission.missionen = New missionen mission\mission_filename$ = filename$ EndIf Until filename$ = "" CloseDir(read_dir) ;* Nicht vergessen zu schließen Print "Gefundene Missionen: " + gefundene_files Print "(" For mission=Each missionen Print mission\mission_filename$ Next Print ")" Global write_mission_file = WriteFile("mission_data.txt") For mission=Each missionen WriteLine write_mission_file, mission\mission_filename$ Next CloseFile(write_mission_file) Print "Bitte eine Taste drücken um zu beenden" WaitKey() End In IDEal drückt man F9 für Debug Compile (Käfer/Blitz Symbol). Nachtrag: Der Fehler war ja ganz offensichtlich: filename$ enthält nach der Schleife den Leeren String="" den du X mal als Missionsdaten versuchst zu speichern... |
||
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 THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
- Zuletzt bearbeitet von Xeres am Fr, Jul 16, 2010 18:48, insgesamt einmal bearbeitet
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok, jetzt funktioniert es thx an alle ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group