Avatar billede thr Nybegynder
12. marts 2002 - 20:11 Der er 4 kommentarer

Husk selected efter refresh i filelistbox

Jeg har lavet et program, som ændre filnavne på de valgte filer, når navnet er ændret, skal boxen refreshes, og der er problemet. De filer der var valgt, skal stadig være valgt.

Private Sub StortEfter_Click()
Dim ANavn, NyNavn As String
Dim Fil() As String
Dim Fil_Len, X, Y As Integer
ReDim Navn(File1.ListCount - 1)
ReDim Onavn(File1.ListCount - 1)

For i = 0 To File1.ListCount - 1
    If File1.Selected(i) Then
        Navn(i) = LCase$(File1.Path & "\" & File1.List(i))
        Onavn(i) = File1.Path & "\" & File1.List(i)
        Fil_Len = Len(File1.List(i))
        ANavn = File1.List(i)
        ReDim Fil(Fil_Len)

        For j = 0 To Fil_Len
            Fil(j) = Mid$(ANavn, j + 1, 1)
            'If j = 0 Then Fil(j) = UCase(Fil(j))
        Next j
       
        For X = 0 To Fil_Len
            If Fil(X) = "-" Then
                On Error Resume Next
                If Fil(X + 1) = " " Then Fil(X + 2) = UCase$(Fil(X + 2))
            End If
        Next X
       
        For Y = 0 To Fil_Len
            NyNavn = NyNavn & Fil(Y)
        Next Y
       
        On Error Resume Next
            Debug.Print Onavn(i) & " - " & File1.Path & "\" & NyNavn
            Name Onavn(i) As File1.Path & "\" & NyNavn
        If Err > 0 Then
            If Err = 53 Then
                MsgBox "Filen findes ikke, eller er blevet flyttet.", 48
            Else
                MsgBox "Problemer med filen, prøv igen. Err nr. " & Err, 48
            End If
        End If

    End If
Next i
End Sub

dette er én af de subs jeg bruger, og jeg ville gerne have indbygget, af listen bliver refresh'et og at de selected filer stadig er selected.
Avatar billede picard Nybegynder
14. marts 2002 - 14:38 #1
Hejsa

Lav en procedure refresh, som løber navn(i) igennem, og sammenligner hvert enekelt element i filelistboxen, hvis filnavnene er ens så sætter du bare file(i).selected=true.

mvh.

Christian
Avatar billede thr Nybegynder
14. marts 2002 - 20:24 #2
Jeg har bare lavet et array, på samme længde som listcount, som jeg fylder med true/false alt efter om der er selected. men ellers tak.. :-)

--> picard - Kan du kende koden?? :-)

/teddy
Avatar billede thr Nybegynder
14. marts 2002 - 20:40 #3
Hvordan tømmer jeg et array?? redim array(0)
Avatar billede picard Nybegynder
14. marts 2002 - 23:23 #4
Ja, jeg synes jeg har set den før ;)

Du skal bruge erase  til at slette et array !

mvh.

Christian
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
Kurser inden for grundlæggende programmering

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