[ ioblak @ 26.06.2010. 20:22 ] @
U direktorijumu c:/podaci/ imam najvise 100 000 razlicitih fajlova sa podacima u sebi.

Imena fajlova su npr. 000173.txt, 045005.txt, 099898.txt. i jos mnogo drugih

Program treba da uradi sledece

1. Da u istom direktorijumu promeni sva imena fajlova npr. 173.txt, 45005.txt , 99898.txt i kod svih drugih po istom principu (da izbaci visak nule ispred broja).
2. Da sadrzaj fajlova ostane isti.

Da li neko ima ideju kako ovo odraditi???
[ ioblak @ 27.06.2010. 17:00 ] @
Dali je moguce da niko nema ideju. Pre su posetioci ovog foruma bili mnogo agilniji.

Kada je takva situacija morao sam sam da resim.
Code:
Private Sub Command1_Click()

Dim oFSO As New FileSystemObject
Dim oFld As Folder, oFile As File

Set oFld = oFSO.GetFolder("C:\Analitika\podaci")

For Each oFile In oFld.Files
    While Left(oFile.Name, 1) = "0"
        oFile.Name = Mid(oFile.Name, 2)
    Wend
Next

End

End Sub


- Promena u odnosu na prvo javljanje je da se fajlovi nalaze u C:\Analitika\podaci
- Onih ajd da kazemo 100000 fajlova se na mojoj masini rename-juju za nekoh 2 min.
Dali moze ovo brze, ima li neko ideju??
[ dn5 @ 29.06.2010. 12:55 ] @
Postavi tu For petlju u Timer samo nemoj staviti preveliki interval, jer moguce je da ti kompjuter ne moze podrzati toliki rad procesora.
[ ioblak @ 30.06.2010. 04:52 ] @
Hoces molim te da mi malo detaljnije objasnis sta treba da uradim.
[ dn5 @ 30.06.2010. 12:15 ] @
Postavi timer npr Timer1, postavis interval recimo na 30 i postavis enabled na false.
Kada pritisnes dugme timer1 bude interval na true.
tu for petlju sto si napisao stavi u timer.
znaci

Code:
Private sub Command1_click()
timer1.enabled = true
end sub


u timer1:

Code:
Dim oFSO As New FileSystemObject
Dim oFld As Folder, oFile As File

Set oFld = oFSO.GetFolder("C:\Analitika\podaci")

For Each oFile In oFld.Files
    While Left(oFile.Name, 1) = "0"
        oFile.Name = Mid(oFile.Name, 2)
    Wend
Next

End
[ captPicard @ 30.06.2010. 12:40 ] @
dn5, ne kužim šta želiš time postići. Ili ja nešto krivo gledam, ili če se ta petlja stalno vrtiti od početka u timeru i nikada neče prevrtiti sve fajlove.
[ dn5 @ 30.06.2010. 19:32 ] @
:S pa ja mislim da bi to trebalo ubrzati dio gdje je for petlja.. A sta sa onim priority.. Npr. da stavi na high, ili real-time?
[ t.marko016 @ 30.06.2010. 19:56 ] @
Bratac ti si malo pogresio gde ce tajmer da ubrza proces aj mi molim te obijasni, tajmerom ce samo da uspori proces.

Tajmer ima najmanji interval od 1ms a kod se odvija u mnogo kracem vremensko intervalu tako da to batali.

@captPicard ne znam kako to izgleda dok re-name-uje ali ako ti sve zablokira komp. dok se to radi ja bih tad stavio sve to u tajmer "da ga malo usporim"
kako bi mogao da radis i ostale stvari i napravi ProgressBar i to je to.

I sta ti je problem da sacekas 2, 3 minuta zamisli da trebas sve rucno nema sad i jare i pare :D.

Pozdrav
[ captPicard @ 01.07.2010. 07:32 ] @
t.marko, si mislio reči da bi stavio u thread? :)

Ako staviš u timer, isto nečeš moči ništa osim toga raditi.
[ t.marko016 @ 01.07.2010. 14:50 ] @
Citat:
t.marko, si mislio reči da bi stavio u thread? :)

Bratac nisam te bas za ovo razumeo.

Ja mislim ako bas usporis onda bi mogao da radis i ostalo, ne znam na koliko si stavljao interval ali treba da znas da
za taj interval on prodje ceo kod jednom, pa ti sad vidi koliko je to vreme koje si stavljao i sve uzmi u obzir pa ako treba povecaj interval.
Ali opet to je veliki proces dosta opterecujes procesor.
U ostalom moras da uzmis i jacinu racunara.

Pozdrav
[ dn5 @ 01.07.2010. 15:44 ] @
Citat:
Bratac ti si malo pogresio gde ce tajmer da ubrza proces aj mi molim te obijasni, tajmerom ce samo da uspori proces.
Tajmer ima najmanji interval od 1ms a kod se odvija u mnogo kracem vremensko intervalu tako da to batali.


Fino sam rekao da sam MISLIO da se tako moze ubrzati proces, bio sam u krivu i rekao sam da ne moze.
[ t.marko016 @ 01.07.2010. 21:41 ] @
hehe all right then :).

Pozdrav