Avatar billede brynil Nybegynder
11. marts 2006 - 15:35 Der er 5 kommentarer og
1 løsning

Største værdi i del af streng

Jeg har brug for at gemme filer med et løbenr., fx. som hér Ftest1.xml, -2 ... Ftest117.xml osv.

Jeg finder max værdien på nedenstående måde, men den virker temmelig omstændelig.

Findes der ikke en mere elegant metode i .NET til at isolere og afgøre største talværdi i en streng ?

        Dim dif As IO.DirectoryInfo = New IO.DirectoryInfo("K:\test")
        Dim filer As IO.FileInfo() = dif.GetFiles
        Dim Ub As Integer
        Ub = UBound(filer)
        Dim str As String
        Dim ln, i, o, pos, max, tmp As Integer

        For o = 0 To Ub
            str = filer(o).ToString
            ln = Len(str)
            For i = 0 To ln - 1
                If Mid(str, 1, 5) = "Ftest" Then
                    If str.Chars(i) = "." Then
                        pos = i
                        tmp = Val(Mid(str, 6, pos - 1))
                        If tmp > max Then max = tmp
                    End If
                End If
            Next
        Next
Avatar billede dr_chaos Nybegynder
11. marts 2006 - 16:03 #1
hvis du ligger alle tallene ind i et array kan du sortere arrayet og tage den første værdi ud.
Det vil så være den største værdi
Avatar billede brynil Nybegynder
11. marts 2006 - 16:07 #2
Jo, men så skal jeg jo alligevel igennem flere loops for at isolere tallene i strengen.

Den metode jeg anvender stammer vel nærmest fra programmeringens barndom ;) så jeg tænkte om der måske var kommet noget smartere siden da!
Avatar billede dr_chaos Nybegynder
11. marts 2006 - 16:09 #3
basalt set bygger compare på den metode som du benytter.
Den kan formodentlig ikke laves hurtigere.
Avatar billede brynil Nybegynder
11. marts 2006 - 16:11 #4
Trist. Din idé, kolliderer den ikke med at i en streng så vil filen Ftest2.xml være større end Ftest123.xml ?
Avatar billede brynil Nybegynder
11. marts 2006 - 16:28 #5
men tak for indsatsen alligevel :)
Avatar billede dr_chaos Nybegynder
11. marts 2006 - 16:39 #6
nej mente at du tog tallet ud af strengen og lavede compare på den.Ellers skal du lave din egen compare metode.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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