Festplatteninhalt anzeigen
Übersicht

![]() |
SeomanBetreff: Festplatteninhalt anzeigen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ich suche eine Möglichkeit, alle Daten einer Festplatte mit Blitz hierarchisch darzustellen und einzelne Daten wählbar zu machen. Sprich eigentlich das, was Installationsprogramme machen, wenn man den Zielpfad angeben soll, etc. Ich würde nämlich gerne einen Leveleditor entwickeln, bei dem ich einfach 3D-Modelle auswähle und dann Koordinaten, Kollisionstyp, etc. angebe und meine komplette Map als einfache .bb Datei speichere. Sollte es diese Diskussion schon einmal gegeben haben, tut es mir leid. Ich erbitte dann einfach nur entweder eine zusammenfassende Antwort, oder einfach den Link zum passenden Thread. Ich hofee, es gibt nicht wieder nur einen einfachen Befehl den ich in der Onlinehilfe oder den Tutorials übersehen habe. Danke im Vorraus Seoman |
||
In Australien...
Projekte sind zur Zeit wieder eingefroren und auf Designlevel zurueckgestuft... Generalueberholungen notwendig ![]() |
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Doch in der Onlinehilfe unter der Kategorie "File": Code: [AUSKLAPPEN] NextFile CurrentDir ChangeDir etc... Müsst eigendlich alles sein was man für sowas braucht. grüße |
||
http://bl4ckd0g.funpic.de |
![]() |
joachim_neu |
![]() Antworten mit Zitat ![]() |
---|---|---|
am besten rekursion benutzen! | ||
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de |
![]() |
Seoman |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke für die Antworten. Was ist Rekursion...? | ||
In Australien...
Projekte sind zur Zeit wieder eingefroren und auf Designlevel zurueckgestuft... Generalueberholungen notwendig ![]() |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sowas zum Bleistift:Code: [AUSKLAPPEN] function test(a)
print a test(a+1) end function |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
Seoman |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah verstehe
Danke! mfg Seoman |
||
In Australien...
Projekte sind zur Zeit wieder eingefroren und auf Designlevel zurueckgestuft... Generalueberholungen notwendig ![]() |
![]() |
Seoman |
![]() Antworten mit Zitat ![]() |
---|---|---|
Funktioniert prima. Ein Problem hab ich allerdings:
Ich lasse mir den Inhalt von D:// anzeigen. Da sind 6 Ordner drauf. Die letzten 4 erkennt er auch als Ordner, aber die ersten beiden nicht. Gibt es dafür einen Grund? Ich habe einen ähnlichen Code, wie der in der Onlinehilfe. Danke Seoman |
||
In Australien...
Projekte sind zur Zeit wieder eingefroren und auf Designlevel zurueckgestuft... Generalueberholungen notwendig ![]() |
![]() |
Bigmichi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Type Feig
Field Daten$ Field Art$ End Type leseOrdner("D:\") Graphics 1024,768,16,2 SetBuffer BackBuffer() While Not KeyHit(1) ZeigeDaten(1) Flip Cls Wend end Function ZeigeDaten(OP) X = 10 For File.Feig = Each Feig If OP = 1 Then If File\Art = "Ordner" Then Text 10,X, File\Daten$ : X = X + 20 End If If OP = 2 Then If File\Art = "Datei" Then Text 10,X, File\Daten$ : X = X + 20 End If If OP = 3 Then Text 10,X, File\Daten$ : X = X + 20 End If Next End Function Function LeseOrdner(Verzeichnis$) For File.Feig = Each Feig Delete File Next VerzLese=READDIR(Verzeichnis$) Datei$ = "Suche.." While Len(Datei) > 0 Datei$=NEXTFILE$(VerzLese) If FILETYPE(Verzeichnis$+Datei$) = 2 THEN File.Feig = New Feig File\Daten = Datei$ File\Art = "Ordner" Else File.Feig = New Feig File\Daten = Datei$ File\Art = "Datei" End If Wend CloseDir Verz End Function Sollte gehen ![]() |
||
![]() |
Seoman |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen Dank für deine Mühe, aber...
Also: Der Code ist ja nicht wirklich mein Problem. Frei nach dem OH-Besipiel: Code: [AUSKLAPPEN] Verzeichnis = ReadDir ("D://") Repeat x = GraphicsWidth()/2 Datei$=NextFile$(Verzeichnis) If Datei$="" Then Exit If FileType ("C:\"+Datei$) = 2 Then Message$ = "Ordner: " +Datei$ Print Message$ y = y + 100 Else Print "Datei:" + Datei$ End If Until KeyHit(1) Wenn ich die C-Fetsplatte untersuche, macht es keine Probleme. Auf der D habe ich 6 Ordner, von denen er aber aus irgendeinem Grund die ersten beiden als Dateien wertet. ![]() Danke Seoman |
||
In Australien...
Projekte sind zur Zeit wieder eingefroren und auf Designlevel zurueckgestuft... Generalueberholungen notwendig ![]() |
Kekskiller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Noch ein Beitrag zu Rekursionen: Die werden kaum in Blitz funktionieren, dass gibt einen deftigen Absturz oder einen Runtimeerror. Dähmliche Lösung für sowas, pah... | ||
Apocalyptic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@ Kekskiller: Ich hatte damit noch nie Probleme. Und das ist meiner Meinung nach die beste Lösung dafür... zugegeben mir fällt sonst keine (gute) Alternative ein ![]() @ Seoman: Code: [AUSKLAPPEN] Verzeichnis = ReadDir ("D://")
Das funktioniert? ![]() Und (wenn dus nicht schon in deinem eigentlichen Code hast) dann musst du noch ne Prüfung durchführen, ob Datei$="." oder ".." |
||
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
- Zuletzt bearbeitet von Apocalyptic am Mo, Nov 29, 2004 19:50, insgesamt einmal bearbeitet
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Kekskiller: Wie kommst Du denn darauf? | ||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
Apocalyptic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@ Seoman:
Code: [AUSKLAPPEN] Verzeichnis = ReadDir ("D:\")
Code: [AUSKLAPPEN] If FileType ("C:\"+Datei$) = 2 Then
![]() PS: Das mit dem Laufwerkspfad hab ich mal geändert... |
||
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
- Zuletzt bearbeitet von Apocalyptic am Mo, Nov 29, 2004 19:58, insgesamt einmal bearbeitet
![]() |
Seoman |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich werde das Ganze später sowieso noch ändern (was hilft es mir, alles nur aufzuschreiben, ich muss es auch anwählen können, sprich Mein System steht mir da noch selbst im Weg).
Weiß jemand Rat (denn ich finde das Problem irgendwie ziemlich unlogisch) mfg Seoman PS: Ja verzeichnis =Readdir ("...") geht... |
||
In Australien...
Projekte sind zur Zeit wieder eingefroren und auf Designlevel zurueckgestuft... Generalueberholungen notwendig ![]() |
![]() |
Seoman |
![]() Antworten mit Zitat ![]() |
---|---|---|
Apocalyptic wahr schneller. Diesen Code habe ich aus der Online Hilfe, deshalb sollte er doch funktionieren. Außerdem funzt er bei 4 der 6 Ordner...
mfg Seoman |
||
In Australien...
Projekte sind zur Zeit wieder eingefroren und auf Designlevel zurueckgestuft... Generalueberholungen notwendig ![]() |
![]() |
Ctuchik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kekskiller hat Folgendes geschrieben: Noch ein Beitrag zu Rekursionen: Die werden kaum in Blitz funktionieren, dass gibt einen deftigen Absturz oder einen Runtimeerror. Dähmliche Lösung für sowas, pah...
Wieso das denn? Warum sollen Rekursionen in BB nicht funktionieren? Wenn man natürlich sowas hat, wie Hubsi oben geschrieben hat: Code: [AUSKLAPPEN] function test(a)
print a test(a+1) end function dann ist es klar, dass es da zu einem Absturz kommt, weil sich die Funktion unendlich oft selbst aufruft! Die Rekursion muss natürlich irgendwie wieder beendet werden! Wenn man das macht, dann gibt es aber keinen Grund warum es in BB nicht funktionieren sollte! Für das Anzeigen von Ordnerinhalten, gibt es sowieso keine andere Lösung als rekursiv vorzugehen! (zumindest keine die ich kenne) Zum problem: Fehler gefunden ![]() Code: [AUSKLAPPEN] If FileType ("C:\"+Datei$) = 2 Then
In der Zeile muss natürlich auch D:\ hin! Da überprüft er den Dateityp und da es die Ordner auf C:\ nicht gibt, gibt er 0 zurück! Dieser Fall wird aber vom Programm nicht abgefangen, sondern davon ausgegangen, dass es, wenn es kein Ordner ist eine Datei ist (was ja auch logisch ist) und deshalb wird der Ordner als Datei angezeigt! |
||
Zu den Nebenwirkungen gehören trockener Mund, Übelkeit, Erbrechen, Harnstau, schmerzhafter rektaler Juckreiz, Halluzinationen, Demenz, Psychose, Koma, Tod und Mundgeruch!
Magie eignet sich nicht für alle! Fraget euren Arzt oder Apotheker! |
![]() |
Digi_ |
![]() Antworten mit Zitat ![]() |
---|---|---|
stürzt das Programm nicht überall ab wenn man eine solche Rekursion einbaut? ![]() |
||
![]() |
Seoman |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein!
Nachdem alle Dateien abgefragt wurden läuft es ja nicht mehr weiter ![]() |
||
In Australien...
Projekte sind zur Zeit wieder eingefroren und auf Designlevel zurueckgestuft... Generalueberholungen notwendig ![]() |
![]() |
Digi_ |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich meinte diese:
function test(a) print a test(a+1) end function |
||
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
1) War das ein Beispiel und 2) Nein das Programm sturützt nicht ab, solang test nicht aufgerufen wird... ![]() grüße |
||
http://bl4ckd0g.funpic.de |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group