NextFile in BMax
Übersicht

![]() |
CaesiumBetreff: NextFile in BMax |
![]() Antworten mit Zitat ![]() |
---|---|---|
huhu,
ich habe ein kleines problem: laut der englischen dokumentation funktioniert der befehl NextFile() in BMax genauso wie in B+ und B3D. d.h. er sollte den relativen pfad (der entsprechenden datei/des verzeichniches) zurueckgeben (oder auch nen leeren string, falls keine dateien/verzeichnisse vorhanden sind). Code: [AUSKLAPPEN] Verz:String = ReadDir("C:\")
Repeat Datei:String = NextFile:String(Verz) If Datei:String = "" Then Exit If FileType("C:\" + Datei:String) = 2 Then Print "Ordner:" + Datei:String Else Print "Datei:" + Datei:String End If Forever CloseDir Verz Print "" Print "-Ende-" WaitKey() dieser code ist ursprünglich aus der onlinehilfe/bb-hilfe. als NextFile() in meinem programm nicht funktioniert hat, habe ich dieses beispiel in Bmax umgeschrieben um es zu testen. ich bekomme grundsätzlich die meldung: Code: [AUSKLAPPEN] Compile Error
Unable to convert from 'String' to 'Int' leuchtet mir überhaupt nicht ein, denn er sollte ja nichts konvertieren!? als zeile wird folgende markiert: Code: [AUSKLAPPEN] Datei:String = NextFile:String(Verz)
ich bin total verwirrt, denn in b3d/b+ funktioniert es einwandfrei. freue mich über jede hilfe, danke. gruß, caesium |
||
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann. Das Gegenteil ist da schon schwieriger. ![]() |
#ReaperNewsposter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du musst schon genau hinschauen ![]() Er meckert die Variable an, die du NextFile() übergibts. Und zwar muss die Variable "Verz" eine Integer sein. Ach, und noch ein Tipp: Du brauchst nur einmal :String oder :Int schreiben, und zwar bei der Deklaration. ![]() Auch solltest du immer SuperStrict aktivieren, dass zwingt dich dazu ordentlich zu arbeiten und schaft Abhilfe bei Fehlenden oder doppelten Deklarationen etc. Hier mal der Code, wie er Funktioniert: Code: [AUSKLAPPEN] SuperStrict
Local Verz :Int = ReadDir("C:\") , .. Datei :String Repeat Datei = NextFile(Verz) If Datei = "" Then Exit If FileType("C:\" + Datei) = 2 Then Print "Ordner:" + Datei Else Print "Datei:" + Datei End If Forever CloseDir Verz Print "" Print "-Ende-" WaitKey() |
||
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7 |
![]() |
Caesium |
![]() Antworten mit Zitat ![]() |
---|---|---|
hm, bin davon ausgegangen, dass in ReadDir iwie das verzeichnis gespeichert wird (also als string). nuja, dem war wohl nicht so. ![]() superstrict habe ich immer an (zumindest bei größeren programmen, in zukunft werde ich es wohl auch noch so kleinen tests anwerfen). mir ist klar, dass ich das den datentyp nur bei der deklaration angeben muss, aber nuja.. hab den code in blide kopiert, wollte ihn ändern, da hat blide das von alleine gemacht. habs daraufhin zwar nochmal überprüft aber den fehler nicht finden können. wie auch immer, vielen dank! das wars schon. :] gruß, caesium |
||
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann. Das Gegenteil ist da schon schwieriger. ![]() |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group