Avatar billede thr Nybegynder
10. marts 2002 - 15:40 Der er 8 kommentarer og
1 løsning

Lave store bogstaver i filnavne om til små?

Jeg er ved at lave et program, som når jeg vælger en række filer med "FileListBox" og trykker på en knap, så skal programmet omdøbe alle filmavne, til deres navn, men i LCase..

Problemet er nu at jeg ikke kan få listbox'en til at "sige" hvilke filer jeg har valgt.

Hvordan gør jeg det??

Jeg kan kun finde en proberty, der hedder .FileName, men den giver kun den sidste af de valgte filer.
Avatar billede picard Nybegynder
11. marts 2002 - 10:17 #1
Hejsa

Jeg tror problemet er det samme som i en listbox, her er der en property der hedder selected. hvis lstbox.selected(i) = true så hr du valgt/markeret elementet i listboksen.

Mon ikke det samme gør sig gældende i en filelistbox ?!

Du bliver derfor nødt til at løbe elementerne i filelistboksen igennem og tjekke om elementet er valgt !

mvh.

Christian
Avatar billede picard Nybegynder
11. marts 2002 - 10:23 #2
Eksempel:

Dim i As Integer
For i = 0 To File1.ListCount - 1
    If File1.Selected(i) = True Then
        'ØmdøbFilTilLcase(fnavn as string) as string
    End If
Next i
Avatar billede thr Nybegynder
11. marts 2002 - 20:26 #3
--> picard - Den tæller er fin nok, den fortæller fint hvilke numre i listeboxen der er selected, men hvordan finder jeg ud af hvilket filnavn der ligger bag et givet listebox nr??
Avatar billede picard Nybegynder
11. marts 2002 - 22:15 #4
Hejsa

Det gør du ved at bruge file1.list(i), hvor i er indekset på elementet i listen.

Dim i As Integer
Dim s as string

For i = 0 To File1.ListCount - 1
    If File1.Selected(i) = True Then
        Filnavn = lcase$(file1.list(i))
    End If
Next i

mvh.

Christian
Avatar billede thr Nybegynder
12. marts 2002 - 08:37 #5
Point til dig. Mange tak..

Har du ikke lige lyst til at komme med et hint. :-)

Jeg laver 2 array's. et med Orginal(Path & Navn) og et med LCase(Path & Navn).
________________________________________________
Option Explicit
Dim Navn() As String
Dim Onavn() As String
Dim Antal As Integer

Private Sub Command1_Click()
Dim i, j As Integer
Dim s As String

ReDim Navn(File1.ListCount - 1)
ReDim Onavn(File1.ListCount - 1)
Antal = File1.ListCount - 1

For i = 0 To File1.ListCount - 1
    If File1.Selected(i) = True Then
        Navn(i) = LCase$(File1.Path & "\" & File1.List(i))
        Onavn(i) = File1.Path & "\" & File1.List(i)
    Else
        Navn(i) = "Jump"
        Onavn(i) = "Jump"
    End If
Next i
End Sub
______________________________________________
Problemet er nu, at jeg ikke ved hvordan man omdøber en fil.

VB Bible har dette foreslag, men jeg kan ikke lige overskue, hvordan jeg skal rette det til
Sub file1_Click()
  Selectedfile.Text = File1.FileName
End Sub

Sub OKButton_Click()
  Old_Fílename$ = File1.FileName
  File1.FileName = Selectedfile.Text
End Sub

Jeg håber du har en god ide..
Avatar billede thr Nybegynder
12. marts 2002 - 08:48 #6
Det jeg søger er lidt henaf hvad man ville gøre i en .bat fil, så jeg kan gøre det i for løkken
_____________

Echo off
Ren Onavn(i) Navn(i)
Echo Ok
_________________
Avatar billede picard Nybegynder
12. marts 2002 - 09:54 #7
Tak for pointene :)

Jeg er ikke helt vildt meget inde i filelistbox controllen, bruger den aldrig ;)

Jeg vil benytte proceduren NAME til at omdøbe filerne.
Name benyttes på flg. måde:
       
      Name glFilnavn As Nytfilnavn

Glfilnavn og NytFilnavn skal have den fulde sti hen til filen dvs.
NAME c:\test\megatest\GED.exe AS c:\test\megatest\ged.exe

Du skal selvfølgelig have noget fejlhåndtering når du arbejder med filer, således du kan håndtere situationer hvor de filer der du ønsker at omdøbe forsvinder, er skrivebeskyttet, er i brug af en anden proces.

I din løkke vil NAME skulle implementeres på flg måde.:

  If File1.Selected(i) = True Then
        Navn(i) = LCase$(File1.Path & "\" & File1.List(i))
        Onavn(i) = File1.Path & "\" & File1.List(i)
        Name ONavn(i) as Navn(i)
  ...

mvh.

Christian
Avatar billede thr Nybegynder
12. marts 2002 - 13:14 #8
Det var lige det der skulle til, nu er det godtnok ikke mig der har lavet programmet, men skidt

Mange tak for hjælpen..
Avatar billede picard Nybegynder
12. marts 2002 - 19:13 #9
Det var så lidt :)
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