Visual Basic 5.0: Zeichen ersetzen
Nico
0 Tom0 Thomas Mirke
Hi Ihr alle!
Ich muss in VB 5.0 etwas in die Registry eintragen, einen Pfad. Dazu muss ich aus der Variable CurDir$ aber alle Backslash's in zwei umwandeln, also \ in \, weil die Reqistry diese als Steuerzeichen ansieht. Ich habe erfahren, dass es so gehen kann:
newString = Replace(oldString, "", "\")
doch VB5 kennt diese Funtion nicht. Wie geht es sonst?
Nico
Hallo Nico
Von Hand programmiert in etwa so:
Dim s_old, s_new, s_char As String
Dim i_len, i_cnt As Integer
s_old = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion"
s_new = ""
i_cnt = 0
i_len = Len(s_old)
s_char = ""
While i_cnt < i_len
s_char = Mid(s_old, i_cnt, 1)
If s_char = "" Then
s_new = s_new + "\"
Else
s_new = s_new + s_char
End If
i_cnt = i_cnt + 1
Wend
Danch steht in s_new der konvertierte String drin.
Die Befehle entsprechen dem VBA for Access97, sollten bei diesen Grundbefehlen aber auch in VB 5.0 funktionieren.
Grüsse
Tom
Hi Ihr alle!
Ich muss in VB 5.0 etwas in die Registry eintragen, einen Pfad. Dazu muss ich aus der Variable CurDir$ aber alle Backslash's in zwei umwandeln, also \ in \, weil die Reqistry diese als Steuerzeichen ansieht. Ich habe erfahren, dass es so gehen kann:
newString = Replace(oldString, "", "\")
doch VB5 kennt diese Funtion nicht. Wie geht es sonst?
function Replace(old$,a$,b$)
if len(old$)=0 then exit function
dim temp$, erg$
for i%=1 to len(old$)
if mid$(old$,i%,len(a$))=a$ then
erg$=erg$+b$
else
erg$=erg$+mid$(old$,i%,1)
endif
next
Replace=erg$
end function
Ist ungetestet, nur so ausm Kopf hingeschrieben. Viel Spaß.
Thomas