Ich habe eine For-Schleife in meinem Programm:
For i = o to LenOfFile
…
Nexti
In meinem Fall ist LenOfFile = 400000. Dabei hänget sich der Computer auf. Ist das normal? Kann ich da was machen???
Ich habe eine For-Schleife in meinem Programm:
For i = o to LenOfFile
…
Nexti
In meinem Fall ist LenOfFile = 400000. Dabei hänget sich der Computer auf. Ist das normal? Kann ich da was machen???
Hi!
Das dürfte weniger an der For-Schleife liegen, sondern an dem, was in der For-Schleife passiert.
Bei mir läuft jedenfalls ein For mit 400000 Durchläufen innerhalb von Millisekunden durch (mit drei einfachen Rechenoperationen).
Musst schon den Code in der For-Schleife posten.
Grüße
Heinrich
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Musst schon den Code in der For-Schleife posten.
Open FilePath For Binary As 2
For i = 1 To LenOfFile
Put #2, , by(Asc(Mid(File, i, 1)))
Next i
Close 2
Noch en par infos:
LenOfFile = 400000
Function by(value as Double) as Byte
by = value
End Function
hi,
als was hast du denn i deklariert?
MFG Alex
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
als was hast du denn i deklariert?
Option Explicit
Dim i As Double
Dim LenOfFile As Double
Dim FilePath As String
Dim File as String
Sub Main()
File = „…“ ’ 400000 Zeichen
LenOfFIle = Len(File)
FilePath = „C:\test.txt“
Export()
End Sub
Sub Export()
Open FilePath For Binary As 1
For i = 1 To LenOfFile
Put #1, , by(Asc(Mid(File, i, 1)))
Next i
Close 1
End Sub
Function by(value As Double) As Byte
by = value
End Function
Hallo Frank,
in der Zeile
Open FilePath For Binary As 1
erweitere sie mal auf
Open FilePath For Binary As 1 len=1
desweiteren sehe ich nicht wo du das File öffnest aus dem du die Daten ausgelsen hast. Somit schreibst du nur binaer die Daten die in der Zeichenfolge „File“ liegen in die Datei text.txt.
Ich stelle mir nun die Frage, wie du die 400000 Zeichen in den String bekommst. Alleine eine zuweisung an den String in einer For Schleife dauert schon sehr lange.
Kann es sein das schon da der Fehler liegt?
Wenn ich mal deinen Code etwas modifiziere und eine zuweisung von
file = space(400000)
mache und somit dem String 400000 Leerzeichen zuweise und dann deine gepostete Routine ausführe so funktioniert sie anstaendig und reibungslos.
Also schaue mal wie du dem String „File“ die 400000 Zeichen zuweisst oder poste mal explicit diesen Abschnitt.
MFG Alex
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Also den Abschnitt will ich nicht so hier schreicben, aber da liegt nicht der Fehler.
Aber was bringt denn „len=1“ wel die Datei soll ja nicht 1 lang sein.
Gruß
esel
Stimmt, schusselfehler von mir *schaem* dann ersetze die 1 durch die länge der gesamten eingabe.
Ansonsten funktioniert der Code einwandfrei.
am besten wird es wohl sein wenn du dein progg mal im step by step modus laufen laesst und schaust wo da der fehler liegt.
Ggbfls. schreibe mal in die erste folgendes.
Bsp.
Private Sub .....
on error goto fehler
-\> deine Anweisungen
exit sub
fehler:
msgbox err.description
resume next
end sub
so siehst du ob ein auftretender Fehler dein Problem verursacht.
Desweiteren, hast du Timer laufen?
das das Problem vielleicht dadurch stammt?
VLG Alex
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]