Avatar billede madd Nybegynder
02. december 2000 - 12:58 Der er 8 kommentarer og
1 løsning

Hvad hedder functionen \"Replace\" i VB?

Dav dav!
Hvad hedder functionen \"Replace\" i VB?
Denne kode plejer at virke i asp, men hvordan kan man lave en lignende function i vb?

\'-------------------
Replace(\"abcabc\", \"a\", \"b\")
\'-------------------

På forhånd tak!
/MadD
Avatar billede overload.dk Nybegynder
02. december 2000 - 13:05 #1
det hedder det samme! - min virker hvertfald fint i mit VB6

label1.caption = replace(\"streng-med-data\", \"tegn-som-skal-skiftes\",\"erstat-tegn-med-dette\")
Avatar billede overload.dk Nybegynder
02. december 2000 - 13:09 #2
Jeg prøvede lige at lave en form:

med en label (label1)
og en kanp (command1)

med følgende funktion (knappen)
Private Sub Command1_Click()
  Label1.Caption = Replace(\"Wolla\",\"o\",\"X\")
End Sub

Og det gir\' følgende resultat i label-box\'n:
WXlla


Avatar billede kasseper Nybegynder
02. december 2000 - 13:10 #3
præcis du skal bare have noget den kan placere værdien efter vfunktiuonen i..
i overload.dk\'s eks. label1.caption.....
Avatar billede overload.dk Nybegynder
02. december 2000 - 13:15 #4
I tilfælde du kører med en gammel version af VB, kan måske finde hjælp på http://www.planet-source-code.com

- rigtig go\' hvis man er newbie
Avatar billede madd Nybegynder
02. december 2000 - 13:25 #5
Jo, jeg kører med en lidt ældre version af vb - vb4 pro.
Jeg har også prøvet overload.dk\'s functioner men som nævnt i spørgsmålet kan den ikke.... ellers tak!
Avatar billede madd Nybegynder
02. december 2000 - 14:02 #6
Jeg har nu fundet ud af en lille stump kode der gør det(skrevet som hjælp til andre med samme problem som jeg havde):

I f.eks. en commandbutton:
----------------------------------
    oldstring = \"hello To the world\"
    newletter = \"YEAH\"
    oldletter = \"hello\"
    newstring = Replace(oldstring, newletter, oldletter)
    MsgBox newstring
----------------------------------
Også i declarations:
----------------------------------
Public Function Replace(oldstring, newletter, oldletter) As String
    Dim i As Integer
    i = 1


    Do While InStr(i, oldstring, oldletter, vbTextCompare) <> 0
        Replace = Replace & Mid(oldstring, i, InStr(i, oldstring, oldletter, vbTextCompare) - i) & newletter
        i = InStr(i, oldstring, oldletter, vbTextCompare) + Len(oldletter)
    Loop
    Replace = Replace & Right(oldstring, Len(oldstring) - i + 1)
End Function
----------------------------------

/MadD... ellers takker!
Avatar billede super_g Nybegynder
03. december 2000 - 20:36 #7
Mums, den havde jeg lige ledt efter. Takker
Hvis man pifter den lidt op, så man kan vælge CompareMode, bliver den til:

Public Function Replace(TheString, ReplaceThis, ReplaceWith, Optional CompareMode As VbCompareMethod = vbTextCompare) As String
    Dim i As Integer
    i = 1


    Do While InStr(i, TheString, ReplaceThis, CompareMode) <> 0
        Replace = Replace & Mid(TheString, i, InStr(i, TheString, ReplaceThis, CompareMode) - i) & ReplaceWith
        i = InStr(i, TheString, ReplaceThis, CompareMode) + Len(ReplaceThis)
    Loop
    Replace = Replace & Right(TheString, Len(TheString) - i + 1)
End Function



Så kan den også kende forskel på w og W, hvis man sætter den til vbBinaryCompare.
Avatar billede madd Nybegynder
07. december 2000 - 23:28 #8
Det var så lidt :P
Avatar billede madd Nybegynder
26. december 2000 - 03:00 #9
Lukker spørgsmålet....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester