Degeim Skrevet 10. april 2005 Del Skrevet 10. april 2005 Jeg har et textfelt (text1) og vil at på den femte plassen i dette tekstfeltet skal det komme en "@". F.eks: Derosm det står "degeihotmail.com" så skal det bli til degei@hotmail.com når jeg trykker på en knapp. Hvordan? Lenke til kommentar
Jonas Skrevet 10. april 2005 Del Skrevet 10. april 2005 Slik: Text1.Text = Mid(Text1.Text, 1, 5) & "@" & Mid(Text1.Text, 5, Len(Text1.Text) - 4) Lenke til kommentar
Degeim Skrevet 10. april 2005 Forfatter Del Skrevet 10. april 2005 Takk, men kan du forklare? Og er det ikke en enklere måte, for jeg må ofte endre vhilken plass og hvilket tegn som skal inn... Lenke til kommentar
Jonas Skrevet 10. april 2005 Del Skrevet 10. april 2005 (endret) Forklare .. hva? Jo, klart er det en enklere måte. Hadde du sagt at det ikke alltid var 5 hadde jeg postet en annen kode. Her er to måter: Text1.SetFocus Text1.SelStart = InStrRev(Text1.Text, "hotmail.com") - 1 Text1.SelText = "@" Text1.Text = Mid(Text1.Text, 1, InStrRev(Text1.Text, "hotmail.com") - 1) & "@" & Mid(Text1.Text, InStrRev(Text1.Text, "hotmail.com"), Len(Text1.Text) - InStrRev(Text1.Text, "hotmail.com") + 1) InStrRev() brukes til å finne en posisjon i Text1 og Mid() brukes til å hente ut deler av tekster. Endret 10. april 2005 av Jonas Lenke til kommentar
Degeim Skrevet 10. april 2005 Forfatter Del Skrevet 10. april 2005 (endret) Jeg vil også bruke den i telefonnummer, der 2 og 2 nummer blir adskilte. Hvordan gjør jeg det? F.eks: 34578834 34 57 88 34 Og det kan også forekomme andre ting. Det jeg egentlig vil ha er en enkel kode (som "text1.text.5=" "", der "Degeim" blir "Dege im") som kan sette inn tegn midt inne i en string. Endret 10. april 2005 av Degeim Lenke til kommentar
Jonas Skrevet 10. april 2005 Del Skrevet 10. april 2005 (endret) I mitt første innlegg ga jeg deg jo en kode for å sette inn tegn i en bestemt plasering! Og i andre innlegg ga jeg deg en kode for å sette inn et tegn før en bestemt tekst i teksten. Hva vil du ha? Edit: Her er en kode for å fikse telefonnr.: Dim sTekst As String sTekst = Text1.Text Text1.Text = "" Dim i For i = 1 To Len(sTekst) Text1.Text = Text1.Text & Mid(sTekst, i, 1) If i Mod 2 = 0 And Not i = Len(sTekst) Then Text1.Text = Text1.Text & " " Next i Endret 10. april 2005 av Jonas Lenke til kommentar
aadnk Skrevet 10. april 2005 Del Skrevet 10. april 2005 Etter hva jeg kan oppfatte, ønsker du deg altså en funksjon som med enkelhet kan plassere tekst et spesifisert sted i en streng? Da kan du eventuelt benytte følgende funksjon: Public Function InsertText(sSource As String, lngPosition As Long, sText As String) As String ' Omslutter tekst fra kilden rundt strengen som skal inkluderes InsertText = Mid(sSource, 1, lngPosition - 1) & sText & Mid(sSource, lngPosition) End Function Den benyttes slik: MsgBox InsertText("Degeim", 1, " ") For å segmentere et telefonnummer i like store deler atskilt av mellomrom, kan du benytte følgende funksjon: Public Function SplitSegments(sText As String, lngLenght As Long) Dim aBuffer() As Variant, Tell As Long, Cnt As Long ' Alloker buffer ReDim aBuffer(CLng(Len(sText) / lngLenght)) ' Gå gjennom strengen inntil den er fullstedig oppdelt For Tell = 1 To Len(sText) Step lngLenght ' Sett segmentet aBuffer(Cnt) = Mid(sText, Tell, lngLenght) ' Øk variabelen som holder styr på hvilket segment vi til enhver tid er ved Cnt = Cnt + 1 Next ' Returner array SplitSegments = aBuffer End Function Hvilket i dette tilfellet kalles således: MsgBox Join(SplitSegments("34578834", 2), " ") Lenke til kommentar
Jonas Skrevet 11. april 2005 Del Skrevet 11. april 2005 WoW...! Viste ikke at Join() fantes. Når blir det vel en major ytelsesøkning i flere programmer Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå