Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

For Next Anweisung

Frage Entwicklung VB for Applications

Mitglied: Butterblume

Butterblume (Level 1) - Jetzt verbinden

10.06.2008, aktualisiert 11.06.2008, 4070 Aufrufe, 3 Kommentare

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.

01.
strSchreiben = Chr ( CByte ( AscB (strLesen) ) Xor CByte (AscB (strSchluessel) ) ) 
02.
 
03.
Function SchreibeInDatei 
04.
   Const ForReading = 1, ForWriting = 2, ForAppending = 8 
05.
   Dim fso, f 
06.
   Set fso = CreateObject("Scripting.FileSystemObject") 
07.
   Set f = fso.OpenTextFile(strZieldatei, ForAppending, True) 
08.
   f.Write (strSchreiben)  
09.
End Function
Danke für die Hilfe.
Mitglied: Asmodeus
10.06.2008 um 16:42 Uhr
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.
Bitte warten ..
Mitglied: bastla
10.06.2008 um 18:41 Uhr
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
01.
For i = 1 to laenge
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
  • 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:
01.
Const ForReading = 1, ForWriting = 2, ForAppending = 8  
02.
Dim fso, f  
03.
Set fso = CreateObject("Scripting.FileSystemObject")  
04.
 
05.
... 
06.
For i = 1 to laenge 
07.
    ... 
08.
    SchreibeInDatei 
09.
Next 
10.
... 
11.
 
12.
Sub SchreibeInDatei  
13.
Set f = fso.OpenTextFile(strZieldatei, ForAppending, True)  
14.
f.Write strSchreiben 
15.
f.Close 
16.
End Sub
Grüße
bastla
Bitte warten ..
Mitglied: Butterblume
11.06.2008 um 14:27 Uhr
Danke Leuts, For/Next Anweisung funktioniert super.
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
VB for Applications
gelöst If Then Next (12)

Frage von Aximand zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...