Replace OCT with OKT

Tags:    visual-basic

Hej

Jeg har tidligere lavet en tråd ang kalenderformatering, men da der ikke har været nogen som har kommet med nogen gode ideer, tænker jeg om man kunne lave en replace i stedet for, således at den replacer OCT med OKT og MAY med MAJ, således at mit program forstår datoen fra det engelske program den kopierer datoen fra.

eks på koden jeg har nu:
dato1 = Format(Dato1a, "dd-mmm-yyyy")
.SelectText 16, 36, 16, 46
' kontrollerer om dato er efter idag
.Copy rcSelection
DatoTmp = Application.GetClipboardText
If DatoTmp < dato1 Then
her kunne DatoTmp eksempelvis være 12-OCT-2006
Den skal nu inden der kommer til If lave en evt replace.
Hvis jeg bare skriver:
datoTmp = replace(DatoTmp, "OCT", "OKT") kommer der en error der siger at replace ikke er defineret som en funktion eller SUB. Skal jeg lave en ny SUB som kun har denne replace eller?

Håber nogen kan hjælpe...



7 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 10 karma
Sorter efter stemmer Sorter efter dato
Fold kodeboks ind/udKode 


Håber du kan bruge det :)
Sad aligevel og kedet mig og havde løst til at programmere vb såå :) sig til hvis der skal ændres lidt :)



Hej

HVis det er vb.net kan du bruge

datoTmp = DatoTmp.replace(DatoTmp, "OCT", "OKT")

mvh Flemming

PS: I vb6 kan det evt være string_replace, str_replace eller strreplace (f.eks. datoTmp = string_replace(DatoTmp, "OCT", "OKT") )


Hej

Jeg har tidligere lavet en tråd ang kalenderformatering, men da der ikke har været nogen som har kommet med nogen gode ideer, tænker jeg om man kunne lave en replace i stedet for, således at den replacer OCT med OKT og MAY med MAJ, således at mit program forstår datoen fra det engelske program den kopierer datoen fra.

eks på koden jeg har nu:
dato1 = Format(Dato1a, "dd-mmm-yyyy")
.SelectText 16, 36, 16, 46
' kontrollerer om dato er efter idag
.Copy rcSelection
DatoTmp = Application.GetClipboardText
If DatoTmp < dato1 Then
her kunne DatoTmp eksempelvis være 12-OCT-2006
Den skal nu inden der kommer til If lave en evt replace.
Hvis jeg bare skriver:
datoTmp = replace(DatoTmp, "OCT", "OKT") kommer der en error der siger at replace ikke er defineret som en funktion eller SUB. Skal jeg lave en ny SUB som kun har denne replace eller?

Håber nogen kan hjælpe...







I vb 6.0 heder den blot REPLACE(strenge,findstreng,erstatstrengen)

-Thomas
**************************************
Hvis mennesker er så kloge, hvorfor ødelægger
vi så os selv og den verden vil lever i?
**************************************
I mod softwarer patenter
http://www.nosoftwarepatents.com/

-------------------------------------------------------
Visual Basic noget for dig?
tjek Visual Basic-Gruppen
http://www.udvikleren.dk/groups/?gid=41


Hvis jeg (et andet sted i mit program) skriver:
'kontrol om der er angivet et " i tekstfeltet, som skal udskiftes med '
note1 = Replace(TextBox2.Text, Chr$(27), "'")

Når jeg kører denne kommer den med følgende fejlbesked:

Compile error:
Sub or function not defined

Det ser ud som om at jeg skal lave en funktion der hedder replace, eller?

[Redigeret d. 06/01-06 11:39:15 af mattias frost]

[Redigeret d. 06/01-06 11:39:46 af mattias frost]


øh hvilke version har du?, for i vb.6.0 brude du ikke skulle lave en funktion den burde vær inbygget, hvor placere du din replace?

-Thomas
**************************************
Hvis mennesker er så kloge, hvorfor ødelægger
vi så os selv og den verden vil lever i?
**************************************
I mod softwarer patenter
http://www.nosoftwarepatents.com/

-------------------------------------------------------
Visual Basic noget for dig?
tjek Visual Basic-Gruppen
http://www.udvikleren.dk/groups/?gid=41



Hej

HVis det er vb.net kan du bruge

datoTmp = DatoTmp.replace(DatoTmp, "OCT", "OKT")

mvh Flemming

PS: I vb6 kan det evt være string_replace, str_replace eller strreplace (f.eks. datoTmp = string_replace(DatoTmp, "OCT", "OKT") )



Jeg bruger VB6, og det er desværre ikke nogen af ovenstående muligheder. Jeg tror at der skal stå datoTmp = XXX.Replace(datoTmp, "OCT", "OKT"), men jeg ved ikke hvad XXX skal være. Det kan ikke være hverken datoTmp eller String eller Str



Hej

HVis det er vb.net kan du bruge

datoTmp = DatoTmp.replace(DatoTmp, "OCT", "OKT")

mvh Flemming

PS: I vb6 kan det evt være string_replace, str_replace eller strreplace (f.eks. datoTmp = string_replace(DatoTmp, "OCT", "OKT") )



Jeg bruger VB6, og det er desværre ikke nogen af ovenstående muligheder. Jeg tror at der skal stå datoTmp = XXX.Replace(datoTmp, "OCT", "OKT"), men jeg ved ikke hvad XXX skal være. Det kan ikke være hverken datoTmp eller String eller Str


I vb 6.0 heder den blot REPLACE(strenge,findstreng,erstatstrengen)

-Thomas
**************************************
Hvis mennesker er så kloge, hvorfor ødelægger
vi så os selv og den verden vil lever i?
**************************************
I mod softwarer patenter
http://www.nosoftwarepatents.com/

-------------------------------------------------------
Visual Basic noget for dig?
tjek Visual Basic-Gruppen
http://www.udvikleren.dk/groups/?gid=41





I vb 6.0 heder den blot REPLACE(strenge,findstreng,erstatstrengen)

-Thomas
**************************************
Hvis mennesker er så kloge, hvorfor ødelægger
vi så os selv og den verden vil lever i?
**************************************
I mod softwarer patenter
http://www.nosoftwarepatents.com/

-------------------------------------------------------
Visual Basic noget for dig?
tjek Visual Basic-Gruppen
http://www.udvikleren.dk/groups/?gid=41


Hvis jeg (et andet sted i mit program) skriver:
'kontrol om der er angivet et " i tekstfeltet, som skal udskiftes med '
note1 = Replace(TextBox2.Text, Chr$(27), "'")

Når jeg kører denne kommer den med følgende fejlbesked:

Compile error:
Sub or function not defined

Det ser ud som om at jeg skal lave en funktion der hedder replace, eller?

[Redigeret d. 06/01-06 11:39:15 af mattias frost]

[Redigeret d. 06/01-06 11:39:46 af mattias frost]



Her er en function:

Function ConvertDate(Dato As String) As String
Dim Tmp As Variant

Tmp = Split(Dato, "-")

Select Case LCase(Tmp(1))
Case "may"
ConvertDate = CDate(Replace(Dato, "may", "maj", , , vbTextCompare))
Case "oct"
ConvertDate = CDate(Replace(Dato, "oct", "okt", , , vbTextCompare))
Case Else
ConvertDate = CDate(Dato)
End Select

End Function


SHY



t