Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

Brauche Hilfe bei eigenem VB-Scripting-Programm

Chronolus / 4 Antworten / Flachansicht Nickles

Hi. Ich habe gerade damit begonnen Scripting zu lernen und bin noch bei den Grundlagen. Als eine meiner ersten Handlungen habe ich mir ein kleines Programm geschrieben, wo man einen Anfangwert und einen Endwert eingibt und das Programm den Anfangswert solange erhöht, bis er genau so groß wie der Endwert ist. Dann schreibt das Prog noch alles in eine Textdatei. Also eigentlich eine ganz einfache Sache, möchte man meinen. Aber Wenn ich beide Werte eingegeben habe, dann bleibt das Programm in einer Endlosschleife hängen. Das Resultat ist eine Textdatei, die immer größer wird. Bis ich beim ersten mal rausgefunden hatte, was falsch läuft, war die Datei schon fast 400MB groß!

Ich hoffe mir kann jemand helfen dieses Problem zu lösen.
(Gegen Verbesserungsvorschläge hätte ich auch nichts einzuwenden)

Der Code:
----------------

Anfw = InputBox("Geben Sie den Anfangswert ein!",,"")
Endw = InputBox("Geben Sie den Endwert ein!",,"")

Set wshshell = CreateObject("WScript.Shell")
ordner = wshshell.SpecialFolders("MyDocuments")

Set fs = CreateObject("Scripting.FileSystemObject")
dateiname = ordner & "\Liste.txt"
Set file = fs.CreateTextFile(dateiname, True)

Dim Bwert

Bwert = Anfw

do until Bwert = Endw

file.WriteLine Bwert
Bwert = Bwert + 1

loop

file.Close

wshshell.Run """" & dateiname & """"


-------- Ende ----------


 

bei Antwort benachrichtigen
Nachtrag UselessUser
T-Rex UselessUser „Nachtrag“
Optionen

IsNumeric reagiert nur auf den Inhalt einer Variablen, nicht auf den Datentyp.

Ein großer Nachteil von VBS ist, daß alle Variablen als Datentyp Variant angesehen werden. In einem Variant kannst Du alles ablegen, sowohl Strings als auch Zahlen und Objekte. Nur die jeweilige Betrachtung liefert dann das, was VBS meint, was es sein könnte.

Generell rate ich von VBS ab. Allein dieses Variablenhandling ist extrem unausgereift.
Poste doch mal, was genau Du vorhast.

 GrüßeT-Rex 
bei Antwort benachrichtigen