Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
marcel1994_
Coder
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
Ü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 »<b><font color=green>« Moderator »</font



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
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
Ü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. Wink
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
marcel1994_
Coder
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!!!
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: picaview

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Problem mit always on top funktion 1107 30.10.2009, 12:26
Keine neuen Beiträge IntStr()funktion 1309 11.10.2007, 09:49
Keine neuen Beiträge TopMost Funktion unter DirectX 1022 27.07.2007, 11:48
Keine neuen Beiträge Wie Funktion nutzen ? 1214 29.06.2007, 21:59
Keine neuen Beiträge update funktion einbauen 1455 29.01.2007, 00:11
 


[ Time: 0.0796s ][ Queries: 95 (0.0248s) ][ GZIP on - Debug on ]