Archief - [PROG][VB6.0] files oproepen zonder filename gebruiken?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

NeoCC

Legacy Member
ik ben iere aan een progje bezig voor file renaming , bv animes ofzo da ik via een text bestandje de titles ingeef , en da em dan me nen hoop gezever alles renamed naar de titels
ma nu zit ik met een probleem nl :
is het mogelijk in VB 6.0 om te zeggen : in die path zitten x aantal files
in sorteer die, en den eeste dieje wil ik .
dus da ik ni op filenames moet werken.

vb

folder : c:\filmkes\
daarin zitten volgende bestanden

A
AB
BC
BF
BXDFJ
enz
da is zeg ik wil den eerste file oproepen , dan den 2de enz zonder da ik met filename moet werken?
mvg,
Neo

R3Deye

Legacy Member
Je kan gebruik maken van de FileListbox,
bv om alle avi bestanden in "C:\filmkes\" alfabetisch te hernoemen naar beginnend met "C:\filmkes\thismovie_part_001.avi" en oplopend kan je iets zoals dit doen;

Code:
' Zet een FileListBox (File1) op je Form

Option Explicit

Private Sub Form_Load()

    Dim filedir, filetype, newtitleformat As String
    filedir = "C:\filmkes\"                         ' je folder met je bestanden
    filetype = ".avi"                               ' het type van je bestanden
    newtitleformat = "thismovie_part_"              ' nieuwe naam voor de bestanden
    
    If Dir(filedir, vbDirectory) = "" Then
       MsgBox "Directory does not exists.", , "Report"
    Else
    
        File1.Visible = False
        File1.Pattern = "*" & filetype
        File1.Path = filedir

        If File1.ListCount = 0 Then
        MsgBox "No Files found with this extension.", , "Report"
        Else
    
            Dim filenames() As String: ReDim filenames(0 To File1.ListCount - 1)
            Dim i As Integer
        
            For i = 0 To File1.ListCount - 1 ' Eerst index alle bestanden voordat je ze hernoemt!
            filenames(i) = filedir & File1.List(i)
            Next i
        
            For i = 0 To File1.ListCount - 1 ' hernoem ze één voor één
            FileRename filedir & filenames(i), _
                       filedir & newtitleformat & Format(i + 1, "000") & filetype
            Next i
    
        End If
    
    End If
    
End Sub

Sub FileRename(sOldFilename As String, sNewfilename As String)

    Debug.Print "Rename " & sOldFilename & " To " & sNewfilename
    ' zet hier je routine voor het hernoemen van de oude in het nieuwe bestandsnaam
    ' ...
    
End Sub

NeoCC

Legacy Member
het probleem is da die filmkes gewoon ne naam hebben meestal als
FMA 1.avi
if FMAdkfhsdmlkfjsdlkfjmlejroizjeofjemjkcnfiojioijn 2.Avi alle ni zo extreem maja

schop aars

Legacy Member
is da nie gewoon alle filenames uit uwe folder in nen array steken
dan uwen array sorteren volgens alfabet me teen of tander algoritme (geen zin om nu zoiet te bedenken)
en vervolgens uwen array van begin tot einde aflopen en de desbetreffende filenames veranderen in degene die het zouden moeten zijn

R3Deye

Legacy Member
:oink: schop aars, uwe theory is hetzelfde als wat ik aantoonde in de source hierboven, enige verschil is dat de FileListBox die automatisch al alfabetisch sorteert en filtert, dan alle resterende filenames in de FileLsitBox in een array zetten, door de array lopen en ze hernoemen. Enige wat zelf nog mag ingevult worden is de FileRename funktie. Meer simplistisch als dat kan ik het niet aantonen.

NeoCC;
Heb je de source als eens getest? Ik begrijp niet goed wat je resterend probleem is.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan