webForumDet fria alternativet

Plocka ut högsta nummeret

.NET

4 svar · 224 visningar · startad av saw

Medlem sedan mars 20011 880 inlägg
Frågan#1

Detta är troligen ett väldigt enkelt problem, men jag kommer inte på hur jag smidigast skall knäcka det.

MultLang_1="Bli Medlem" 'en sträng
MultLang_2="Att bli medlem är väldigt enkelt, nu när Du har hittat hit till våran hemsida." 'en sträng
MultLang_3="Följ bara länken här nedanför" 'en sträng

Jag skall alltså ta ut det högsta nummeret ur MultiLang.
Jag funderar i splitt:
nr=SPLITT(txtSv.text,"=")

Sen går jag i väggen, för jag ville ha en splitt till:
snr=SPLIT(nr(0),"_"

snr(1) borde väll ta ut ett nummer eller är jag ute och seglar?
Hur får jag fram det högsta nummeret?
Går det att skriva detta smidigare?
:q
[REDIGERAT]
Jag lyckades så här:

Dim nr, sNr, i As Long
Dim StartPos As Long, SlutPos As Long
If Len(frMultiLanguage.txtSv.text) > 0 Then
    nr = Split(frMultiLanguage.txtSv.text, "MultLang")
    sNr = nr(UBound(nr))
    StartPos = InStr(1, sNr, "_") + 1
    SlutPos = InStr(1, sNr, "=")
    sNr = CInt(Mid$(sNr, StartPos, SlutPos - StartPos))
    
    frMultiLanguage.List2.Clear
        For i = 1 To sNr
            frMultiLanguage.List2.AddItem i
        Next
End If

Kanske inte snyggast kodning, men det fungerar.

Medlem sedan nov. 20014 054 inlägg
#2

Re: Plocka ut högsta nummeret

saw skrev:

Detta är troligen ett väldigt enkelt problem, men jag kommer inte på hur jag smidigast skall knäcka det.

MultLang_1="Bli Medlem" 'en sträng
MultLang_2="Att bli medlem är väldigt enkelt, nu när Du har hittat hit till våran hemsida." 'en sträng
MultLang_3="Följ bara länken här nedanför" 'en sträng

Jag skall alltså ta ut det högsta nummeret ur MultiLang.
Jag funderar i splitt:
nr=SPLITT(txtSv.text,"=")

Sen går jag i väggen, för jag ville ha en splitt till:
snr=SPLIT(nr(0),"_"

snr(1) borde väll ta ut ett nummer eller är jag ute och seglar?
Hur får jag fram det högsta nummeret?
Går det att skriva detta smidigare?
:q

Få se vad menar du med högsta nummret, menar du sista "platsen" i arrayen?? el?

för i sådana fall

sString = "Hejsan du där i skogen!"
arrString = split(sString," ")
sInt = Ubound(arrString)

:q

Medlem sedan mars 20011 880 inlägg
#3

Tack men jag kom på det:

Dim nr, sNr, i As Long
Dim StartPos As Long, SlutPos As Long
If Len(frMultiLanguage.txtSv.text) > 0 Then
    nr = Split(frMultiLanguage.txtSv.text, "MultLang")
    sNr = nr(UBound(nr))
    StartPos = InStr(1, sNr, "_") + 1
    SlutPos = InStr(1, sNr, "=")
    sNr = CInt(Mid$(sNr, StartPos, SlutPos - StartPos))
    
    frMultiLanguage.List2.Clear
        For i = 1 To sNr
            frMultiLanguage.List2.AddItem i
        Next
End If

Det är väll inte så bländande tjusigt skrivet, men det fungerar. :r

Medlem sedan okt. 20023 030 inlägg
#4

Smidigaste sättet:

  Dim lStartPos As Long, lSlutPos As Long, iNum As Integer
    lStartPos = InStrRev(frMultiLanguage.txtSv.Text, "MultLang_") + 9
    lSlutPos = InStrRev(frMultiLanguage.txtSv.Text, "=""")
    iNum = Mid(frMultiLanguage.txtSv.Text, lStartPos, lSlutPos - lStartPos)
Medlem sedan mars 20011 880 inlägg
#5

Tackar

268 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)