/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
String "explode" umuligt ?
Fra : Lasse Madsen


Dato : 12-06-02 20:24

Hej ...

Jeg er ved at lave et lille "stand-in" program til et andet
programmeringssprog ... programmet skal evaluere en string og afhænig af
dens indhold fortolke diverse bokstaver og tal til en hexadecimal kode ...
feks

bruger taster feks "abc 12 3cba 231" i en tekst boks dette bliver så lavet
om til en string (er det ikke det nemmeste?) der hedder str

hvis vi siger at følgende bokstaver er disse værdier værd.
a = 00
b = 01
c = 02
1 = 03
2 = 04
3 = 05

Og et mellemrum (space) er lig med 06 hvordan i hulen kan man så gå ind og
kigget på de enkelte bokstaver i en streng og så ud fra dem omsætte dem til
en værdi ??

kan det overhovedet ladesig gøre ?

M.v.h
Lasse Madsen




 
 
Tomas Christiansen (12-06-2002)
Kommentar
Fra : Tomas Christiansen


Dato : 12-06-02 21:25

Lasse Madsen skrev:
> ...programmet skal evaluere en string og afhænig af
> dens indhold fortolke diverse bokstaver og tal til en hexadecimal
kode ...
....
> a = 00
> b = 01
> c = 02
> 1 = 03
> 2 = 04
> 3 = 05
>
> Og et mellemrum (space) er lig med 06

Mener du noget i retning af:

Function Convert(ByVal sChars As String) As String
Dim lCount As Long
Dim sHex As String
Convert = ""
For lCount = 1 To Len(sChars)
Select Case Mid(sChars, lCount, 1)
Case "a": sHex = "00"
Case "b": sHex = "01"
Case "c": sHex = "02"
Case "1": sHex = "03"
Case "2": sHex = "04"
Case "3": sHex = "05"
Case " ": sHex = "06"
Case Else: sHex = "??"
End Select
Convert = Convert & sHex
Next
End Function

-------
Tomas


Lasse Madsen (12-06-2002)
Kommentar
Fra : Lasse Madsen


Dato : 12-06-02 21:53

Hej Tomas !

Mange, Mange tak !

Jeg trodde faktisk det var umuligt efter at have rodet med det i et godt
stykke tid !

Igen mange tak det virker perfekt !

M.v.h.
Lasse Madsen



Tomas Christiansen (12-06-2002)
Kommentar
Fra : Tomas Christiansen


Dato : 12-06-02 22:42

Lasse Madsen skrev:
> Mange, Mange tak !

Selv tak.

> Jeg trodde faktisk det var umuligt efter at have rodet med det i et
godt
> stykke tid !

Intet er umuligt for den som...
Nej, hvis man ikke lige ved det, så kan alt være svært.

Den løsning, som jeg viste dig, er kun én af mange mulige.

Hvis f.eks. at dit "alfabet" er meget stort (du har kun angivet at du
bruger 7 forskelliger tegn), er en select case-sætning nok ikke så
effektiv. I slige tilfælde er det nok bedre at bruge en tabel, hvor
man slår direkte op på værdien af det tegn, som man "har i hånden".

-------
Tomas


Stefan McKinnon Edwa~ (13-06-2002)
Kommentar
Fra : Stefan McKinnon Edwa~


Dato : 13-06-02 06:36

Faktisk, er der gjort rede for den slags udredninger af strenge. Om strengen
er:
a12,b34,29d,145s etc.
eller.
a12 b34 29d 145s gør ikke nogen forskel.
Du skal bruge Split(Array). Den tager nemlig en streng, og deler den ud i en
array, vha. "splittegnet", første eksempel er det komma (','), andet
eksempel mellemrum.

Sub

Dim str as String
Dim arr() as String 'Arrayen
Dim i as Integer

str = "a12 b34 29d 145s"
arr = Split(str, Space(1)) '= Split(a12 b34 29d 145s, " ")
For i = 1 TO UBound(arr)
Debug.Pring i & ":" & chr$(9) & arr(i)
Next

End Sub

Det skulle så returnere:
1: a12
2: b34
3: 29d
4: 145s

Dette kan så naturligvis fortsætte ud i det (næsten) uendelige. Hvordan du
så tjekker resultaterne, er dit nye problem. Go' fornøjelse.

Stefan McKinnon Edwards
www.iysik.com


"Lasse Madsen" <Lasse.madsen@elektronik.dk> wrote in message
news:ae8741$t7r$1@news.cybercity.dk...
> Hej ...
>
> Jeg er ved at lave et lille "stand-in" program til et andet
> programmeringssprog ... programmet skal evaluere en string og afhænig af
> dens indhold fortolke diverse bokstaver og tal til en hexadecimal kode ...
> feks
>
> bruger taster feks "abc 12 3cba 231" i en tekst boks dette bliver så lavet
> om til en string (er det ikke det nemmeste?) der hedder str
>
> hvis vi siger at følgende bokstaver er disse værdier værd.
> a = 00
> b = 01
> c = 02
> 1 = 03
> 2 = 04
> 3 = 05
>
> Og et mellemrum (space) er lig med 06 hvordan i hulen kan man så gå ind og
> kigget på de enkelte bokstaver i en streng og så ud fra dem omsætte dem
til
> en værdi ??
>
> kan det overhovedet ladesig gøre ?
>
> M.v.h
> Lasse Madsen
>
>
>



Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408885
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste