For Next Anweisung
VBScript
Hallo zusammen, ich bin immer noch an dem Verschlüsselungs-Script.
Ich brauche eine For-Schlaufe. Mit "len" habe ich die Anzahl Zeichen von .txt Datei bekommen.
Das wäre Variable "laenge".
Jetzt wie kann ich diese "laenge" in dir For-Schlaufe verknüpfen? Etwa:
for 1 to laennge?
In dieser Anweisung soll folgendes passieren.
Und das für jede einzelne Zeichen.
Am Schluss sind alle Zeichen verschlüsselt.
SchreibeInDatei funktioniert nicht wirklich. Datei bleibt leer.
Danke für die Hilfe.
Hallo zusammen, ich bin immer noch an dem Verschlüsselungs-Script.
Ich brauche eine For-Schlaufe. Mit "len" habe ich die Anzahl Zeichen von .txt Datei bekommen.
Das wäre Variable "laenge".
Jetzt wie kann ich diese "laenge" in dir For-Schlaufe verknüpfen? Etwa:
for 1 to laennge?
In dieser Anweisung soll folgendes passieren.
Und das für jede einzelne Zeichen.
Am Schluss sind alle Zeichen verschlüsselt.
SchreibeInDatei funktioniert nicht wirklich. Datei bleibt leer.
strSchreiben = Chr ( CByte ( AscB (strLesen) ) Xor CByte (AscB (strSchluessel) ) )
Function SchreibeInDatei
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(strZieldatei, ForAppending, True)
f.Write (strSchreiben)
End Function
Danke für die Hilfe.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 89543
Url: https://administrator.de/contentid/89543
Ausgedruckt am: 05.11.2024 um 19:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo Butterblume,
hab mir noch einmal deinen Quelltext angesehen. Du willst also aus einer bestehenden Quelldatei einen Text lesen, den mit xor mit dem schlüssel verknüpfen und in eine bestehende Zieldatei schreiben, richtig?
Dann versuchs mal etwa so:
for i=1 to 'Länge des gelesenen Textstrings
strLesen = file.read (i)
strSchreiben = mid(strLesen,i,1) xor strSchluessel
'zeichen in textdatei schreiben
'etwa so: (zieldatei.write (strSchreiben))
next
Vielleicht solltest du auch vorher fso für die Quelldatei so belassen und ein fso2 für die Zieldaeti definieren.
hab mir noch einmal deinen Quelltext angesehen. Du willst also aus einer bestehenden Quelldatei einen Text lesen, den mit xor mit dem schlüssel verknüpfen und in eine bestehende Zieldatei schreiben, richtig?
Dann versuchs mal etwa so:
for i=1 to 'Länge des gelesenen Textstrings
strLesen = file.read (i)
strSchreiben = mid(strLesen,i,1) xor strSchluessel
'zeichen in textdatei schreiben
'etwa so: (zieldatei.write (strSchreiben))
next
Vielleicht solltest du auch vorher fso für die Quelldatei so belassen und ein fso2 für die Zieldaeti definieren.
Hallo Butterblume!
Es wäre vielleicht sinnvoller, im "alten" Thread fortzusetzen, oder zumindest den gesamten aktuellen Stand Deines Scripts zu posten.
Die Schleife ist tatsächlich mit
einzuleiten.
Hinsichtlich des Schreibens:
Wenn Du tatsächlich jedes Zeichen sofort schreiben willst (anstatt den verschlüsselten Text zuerst in einer Variablen zu erstellen), solltest Du die Datei bereits vor der Schleife (zum Schreiben) öffnen, in der Schleife jeweils nur Deine obige Zeile 8 verwenden und nach der Schleife die Datei wieder schließen - eine eigene Function scheint mir übertrieben.
Sollten Du (oder Dein Ausbilder) auf die "Function" bestehen, dann würde ich
Das könnte daher so aussehen:
Grüße
bastla
Es wäre vielleicht sinnvoller, im "alten" Thread fortzusetzen, oder zumindest den gesamten aktuellen Stand Deines Scripts zu posten.
Die Schleife ist tatsächlich mit
For i = 1 to laenge
Hinsichtlich des Schreibens:
Wenn Du tatsächlich jedes Zeichen sofort schreiben willst (anstatt den verschlüsselten Text zuerst in einer Variablen zu erstellen), solltest Du die Datei bereits vor der Schleife (zum Schreiben) öffnen, in der Schleife jeweils nur Deine obige Zeile 8 verwenden und nach der Schleife die Datei wieder schließen - eine eigene Function scheint mir übertrieben.
Sollten Du (oder Dein Ausbilder) auf die "Function" bestehen, dann würde ich
- diese eher als "Sub" (da sie eigentlich ja keinen Rückgabewert liefert) titulieren,
- die Festlegung der Konstanten und die Erzeugung des "fso"-Objekts an den Anfang des Scripts stellen (einmal genügt, da in VBS alle Konstanten/Variablen global sind),
- die Datei nach dem Schreiben wieder schließen, und vor allem
- diesen Programmteil (egal, ob als "Sub" oder als "Function") auch aufrufen!
Das könnte daher so aussehen:
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
...
For i = 1 to laenge
...
SchreibeInDatei
Next
...
Sub SchreibeInDatei
Set f = fso.OpenTextFile(strZieldatei, ForAppending, True)
f.Write strSchreiben
f.Close
End Sub
bastla