DIM Feld in "Type" umwandeln...

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

blitzmaster

Betreff: DIM Feld in "Type" umwandeln...

BeitragMo, Apr 11, 2005 14:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Ich weiß zwar nicht ob das wirklich in die Beginner-Fragen gehört, aber egal:
Ich habe einen Irre langen Code. Indem wird ein Ordner ausgelesen, und die Daten werden in ein Dim-Feld gespeichert:
BlitzBasic: [AUSKLAPPEN]
If laufwerk$ <> laufwerk_vorher$ Then
ordner = ReadDir(laufwerk$)
If ordner = 0 Then
laufwerk$ = \"c:\\"
EndIf
laufwerk_vorher$ = laufwerk$
I = 0
Repeat
I_file = I_file + 1
File$(I_file,0) = NextFile(ordner)
File$(I_file,1) = FileType(laufwerk$+ordner_jetzt$+File$(I,0))
Until File$(I_file,0) = \"\"
EndIf

Etwas später im Code filtere ich die Daten auf .txt - Files:
BlitzBasic: [AUSKLAPPEN]
;Daten Filtern
For I = 1 To I_file
If Right$(File$(I_file),3) <> \".txt\" Then

Next

Als ich wollte, dass die restlichen Datein "nachrücken" bin ich draufgekommen, dass ich lieber hätte Types verwenden sollen. Doch jetzt ist es wohle zu spät dies umzuändern, da mir das zu komliziert wird. (der code hat jetzt schon 433 Zeilen, und ich bin erst am Anfang) Wie mach ich das jetzt mit einem Dim-Feld?
***************
Blitzmaster
 

David

BeitragMo, Apr 11, 2005 14:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Bei dem bisschen Code kannst du das ja noch ganz easy umschreiben...
Machs lieber gleich, bevor der Code wirklich lang wird.

Wie Types angewendet werden weist du ja wohl?!?

grüße

SpionAtom

BeitragMo, Apr 11, 2005 14:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du in einem Dim-Feld Werte "aufrücken willst,, mach dir doch eine Schleife:

;Angenommen das 3. Element ist leer und du willst, dass alle folgenden Elemente Aufrücken.



DIM feld(maxfeld)

aufrueck = 3

FOR i = aufrueck + 1 TO maxfeld
feld(i - 1) = feld(i)
NEXT
feld(maxfeld) = 0 ;beziehungsweise leer

(is jetzt nur Pseudocode, könnte aber klappen...)

SpionAtom

BeitragMo, Apr 11, 2005 14:48
Antworten mit Zitat
Benutzer-Profile anzeigen
FRAGE: Stimmt die Uhrzeit ???? Confused

Spikespine

BeitragMo, Apr 11, 2005 15:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Langsam regts auf Rolling Eyes
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax

blitzmaster

BeitragMo, Apr 11, 2005 16:03
Antworten mit Zitat
Benutzer-Profile anzeigen
1) mir ist es zu viel Code! (das da oben sind nur kleine Ausschnitte)
2) Danke!
3) Wird das hier jetzt zu einenm Spam-Trehad????
***************
Blitzmaster
 

David

BeitragMo, Apr 11, 2005 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Mir ist wohl bewusst, das es sich da oben nur um einen Bruchteil des Codes handelt. Allerdings sind 433 Codezeilen lächerlich wenig. Als Programmierer solltest du in der Lage sein Codefragmente zu ändern, auch wenn es sich um viele tausend Zeilen Code handelt.
Auserdem ist es ineffizient erst Dimarrays zu füllen und dann in Types umzuwandeln. Der Speicherverbrauch als auch die Geschwindigkeit leiden darunter und das nicht zu knapp.

grüße

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group