butterblume
Goto Top

VBScript - Wort ersetzten

Wort in einer Textdatei finden und ersetzten.

Hallo ich schreibe ein Programm, das verschiedene Werte in einer Config-Datei ändert.
Interace sieht so aus:
-1 Textfeld mit auktuellem Wert drinnen und ein Button OK.
-Man schreibt das Wort rein und der Wert wird verändert.

In einer ähnlichen Datei (mit Test.val) wie das:

[SUBSTITUTIONS]
GESCHWINDIGKEIT=                                                                                                                                                                                                            
TIME=12:00:00 AM
SPURS=86
JAZZ=94
TEMPERATURE=82
GAME_TIME=15:04
BUSH=49.9%
GORE=50.1%

[PAGE_SELECTION]
PROJECT=default
PAGE=Sponsor0
PREVIEW=0
DISPLAY=0
TRANSITIONING=0

[SPECIAL]
LOAD_VARIABLE_DLL=1

Und jetzt z.B. DISPLAY=0 auf DISPLAY=1 ändern.

Ich möchte nicht ganzen Script geschrieben bekommen haben, aber zumindens die Funktion.
(Das Wort suchen und finden) Ich habe im google gesucht. Irgendwas gefunden, gebastelt aber funktioniert nichts.

Danke für eure Hilfe!

Content-Key: 92242

Url: https://administrator.de/contentid/92242

Printed on: April 24, 2024 at 18:04 o'clock

Member: Logan000
Logan000 Jul 17, 2008 at 09:22:05 (UTC)
Goto Top
Moin

Probiers mal mit
Replace(alterText; neuerText)

Gruß L.
Member: Butterblume
Butterblume Jul 17, 2008 at 09:25:46 (UTC)
Goto Top
Das Problem ist, ich kann nicht wissen welches Wert dort steht. Ich suche nicht nach dem Wort, dass ich ändern möchte sondern nach dem Wort., dass nach z.B. PREVIEW=... steht.
Replace kenne ich schon. Aber eben ich weiss nicht, welches Wort ich ändern möchte.
Es muss die Zeile mit:

PREVIEW=

suchen. Dann anstatt " ***text, zahl " anderes Wort hinschreiben. Man weiss aber nicht wie lang das Wort ist und welches gerade steht.
Member: Logan000
Logan000 Jul 17, 2008 at 14:06:39 (UTC)
Goto Top
Ok.

Dieser Link solte Dir weiterhelfen.

Gruß L.
Member: bastla
bastla Jul 17, 2008 at 14:42:38 (UTC)
Goto Top
Hallo Butterblume!

Besteht die entsprechende Zeile nun aus "PREVIEW=", einem zu ersetzenden Wort, einem Komma und einer Zahl (in Deinem Beispiel sieht es nämlich etwas anders aus)?

Generell könnte der Ablauf so aussehen:
  • alle Zeilen der Ini-Datei einlesen (in ein Array oder zeilenweise in einer Schleife ist eigentlich egal)
  • den Zeilenanfang jeder Zeile mit Left (und ev UCase) auf Übereinstimmung mit dem gesuchten Wort (zur Sicherheit inkl "=") überprüfen, dabei
    • jede Zeile, die nicht mit dem gewünschten Wort beginnt, unverändert lassen
    • die gesuchte Zeile durch die gewünschte neue Zeile ersetzen
  • am Ende je nach verwendeter Methode
    • die alte Datei überschreiben (bei Array) oder
    • die neue Datei als Temporärdatei anlegen und am Ende die alte Datei löschen und die neue Datei umbenennen

Grüße
bastla
Member: Butterblume
Butterblume Jul 21, 2008 at 08:33:07 (UTC)
Goto Top
Danke für den Hinweis. Jetzt weiss ich, wie ich vorgehen kann.