[ indicator1 @ 30.03.2011. 08:14 ] @
Kako ucitati fajl i snimiti ga pod proizvoljnim imenom koriscenjem API (znaci bez CommonDialog-a). Problem koji imam je taj sto Common Dialog zaustavlja tajmere u aplikaciji, sto ne smem nikako da dozvolim.
[ Marko_L @ 30.03.2011. 21:57 ] @
Pa CommonDialog ti ne služi za snimanje fajla, već da mu odrediš putanju, ekstenziju, itd. A samo snimanje fajla možeš da uradiš koristeći FSO ili ugrađene VB funkcije, zavisno već od toga šta hoćeš da postigneš i šta treba da radiš sa fajlom. U svakom slučaju, prost primer
Code:
Dim fn As Integer
fn = FreeFile
Open "C:\test.txt" For Output As #fn
Print "Nesto", #fn
Close #fn

Ovo će ti napraviti (snimiti) tekstalni fajl na putanji "C:\". za čitanje fajla umesto Output orvori for Input i onda možeš čitati liniju po liniju ili učitati ceo sadržaj fajla u string. Za FSO imaš tutorijal u jednoj od top tema.
[ indicator1 @ 31.03.2011. 14:21 ] @
Fajl c:\Temp\temp.tmp treba snimiti kao nesto.txt u proizvoljnom folderu. Evo trenutnog koda koji ima pomenute probleme:
Code:

CommonDialog1.Filter = "Wordpad Files (*.txt)|*.txt|All Files (*.*)|*.*"
CommonDialog1.FilterIndex = 1
CommonDialog1.ShowSave
Open CommonDialog1.FileName For Append As #2
Open "c:\Temp\temp.tmp" For Input As #1
Do While Not EOF(1)
        Line Input #1, linija
        Print #2, linija
Loop
Close 1
Close 2


Znaci treba da uradim ovo isto ali bez koriscenja commondialog-a.
[ MasterOfDisaster @ 31.03.2011. 15:17 ] @
Bas ti sad probah kod i radi kako treba.

Samo na kraju stavi:

Close #1
Close #2

mada radi i ovako...

I proveri da li ti je dobra lokacija temp fajla posto na Win7 prijavljuje da je pogresna lokacija.

Pozrav :)
[ indicator1 @ 01.04.2011. 09:40 ] @
Ma nije uproblem u tome dali ovo radi (a radi) nego kako izbeci koriscenje common dialog-a.
[ MasterOfDisaster @ 01.04.2011. 15:19 ] @
Pa jednostavno napravi svoj File Explorer, nije toliko kompleksno, ja sam to radio po izgledu Total Commander-a zato sto mi je najvise sacuvalo vreme
a bilo je i vise nego funkcionalno.

Uzmes MSFlexGrid i onda samo pravis redove prema fajlovima i folderima koje si ocitao sa FSO-om(FileSystemObject), pa kad neko klikne na neki red, samo zabelezis ime foldera/file-a(tekst reda), dodas ga lokaciji, tabelu ocistis i opet napunis redove novim podacima i sve tako.

Bas sad pogledah i nemam vise taj primer, verovatno sam ga izbrisao ali eto to ti je jedna od solucija a ako hoces nesto lakse i ruznijeg dizajna onda
mozes da koristis VB-ove kontrole za manipulaciju fajlovima i folderima mislim da behose DirListBox i DriveListBox.

Pozdrav :)
[ Marko_L @ 10.04.2011. 18:09 ] @
Ček, izgleda da ja nisam dobro shvatio pitanje. Mislio sam da želiš da se otarasiš common dialoga i da hardkodiraš putanju za snimanje fajla, a tebi je u stvari problem što hoćeš da zadržiš common dialog, a da ti ne zaustavi tajmer. Elem, common dialog i ne zaustavlja tajmer, osim u debug modu. Kada kompajliraš aplikaciju common dialog ne bi trebalo da zaustavlja tajmer, što možeš lako i da proveriš. Ako baš hoćeš da i u debug modu tajmer radi sve vreme, moraćeš ili da ne koristiš common dialog dok debaguješ aplikaciju (nego da koristiš neku fiksnu putanju u vreme testiranja) ili da napraviš svoj common dialog koji se neće otvarati kao modalna forma (što common dialog čini), što u principu nije neki veliki problem napraviti, kao što reče MasterOfDisaster.