|
| Autor |
Nachricht |
marcel1994_ Coder

Anmeldedatum: 08.02.2008 Beiträge: 202
|
Split Funktion
Verfasst am: 22.04.2008, 16:24 |
|
|
Also ich habe folgendes Problem:
Und zwar ich möchte das erste "," durch nichts und das zweite und dritte "," durch "\" ersetzen lassen. Wie kann ich das machen, wenn der Dateiaufbau so aussähe: ?
ACDSystems PicAView,HKLM,SOFTWARE\ACD Systems\PicaView,LicenseNumber |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 22.04.2008, 16:35 |
|
|
Probiers mal so
| Code: |
Dim pos1 As Long
pos1 = InStr(1, DeinText, ",")
string1 = Replace(DeinText, ",", "\", pos1 + 1)
|
Edit//
Gut. Wie ich gerade sehe reagiert Replace nicht so wie ich dachte.
Wenn man eine Startposition angibt, schneidet er gleich den Teil davor raus o.O
Hier ne verbesserte Methode
| Code: |
Dim Pos1 As Long, sBuffer As String
Pos1 = InStr(1, DeinText, ",")
sBuffer = Left$(DeinText, Pos1 - 1)
sBuffer = sBuffer & (Replace(DeinText, ",", "\", Pos1))
|
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
Zuletzt bearbeitet von ZiG_ am 23.04.2008, 09:45, insgesamt 3-mal bearbeitet |
|
| |
|
 |
c0re_ « Moderator »

Anmeldedatum: 29.11.2007 Beiträge: 425
|
Verfasst am: 22.04.2008, 16:42 |
|
|
In ein Array mit deinen 4 Teilen splitten.
| Code: | Dim sKomplett As String, sArray() As String
sKomplett = "ACDSystems PicAView,HKLM,SOFTWARE\ACD Systems\PicaView,LicenseNumber"
sArray = Split(sKomplett, ",") |
Dein Array sieht dann so aus:
ACDSystems PicAView
HKLM
SOFTWARE\ACD Systems\PicaView
LicenseNumber Dann wieder in der gewünschten Form zusammenfügen.
| Code: | | sKomplett = sArray(0) & sArray(1) & "\" & sArray(2) & "\" & sArray(3) |
Und noch mal das komplette Snippet:
| Code: | Dim sKomplett As String, sArray() As String
sKomplett = "ACDSystems PicAView,HKLM,SOFTWARE\ACD Systems\PicaView,LicenseNumber"
sArray = Split(sKomplett, ",")
sKomplett = sArray(0) & sArray(1) & "\" & sArray(2) & "\" & sArray(3) |
 |
|
| |
|
 |
marcel1994_ Coder

Anmeldedatum: 08.02.2008 Beiträge: 202
|
Verfasst am: 22.04.2008, 16:49 |
|
|
| Es funktioniert nicht ganz, denn der name (vor dem ersten komma) und das komma verschwinden dann und nur der RegPfad steht da. Leider wird InStr auchnur in der ersten zeile angewandt, und die anderen bleiben unberpücksichtigt. Replace erledigt seinen Job gut. |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 22.04.2008, 16:53 |
|
|
Hab oben nochmal editiert da die Replace Funktion anders reagiert als ich dachte.
Aber die Schleife wirst du dir ja wohl noch selbst machen können.  Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
marcel1994_ Coder

Anmeldedatum: 08.02.2008 Beiträge: 202
|
Verfasst am: 23.04.2008, 13:36 |
|
|
jap das bekomme ich hin, ist ja nicht sehr schwer, bloß was ich noch nachschlagen muss ist, wie ich jede einzelne Zeile in ein Array einlese ...
Aber danke euch beiden!!! |
|
| |
|
 |
|
|