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.
Snimanje fajla koriscenjem API
Zaključano
Zakačeno
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
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.
Code:
Dim fn As Integer
fn = FreeFile
Open "C:\test.txt" For Output As #fn
Print "Nesto", #fn
Close #fn
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.
Potpis
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
Fajl c:\Temp\temp.tmp treba snimiti kao nesto.txt u proizvoljnom folderu. Evo trenutnog koda koji ima pomenute probleme:
Znaci treba da uradim ovo isto ali bez koriscenja commondialog-a.
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
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.
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 :)
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 :)
Ma nije uproblem u tome dali ovo radi (a radi) nego kako izbeci koriscenje common dialog-a.
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 :)
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 :)
Č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.
Potpis
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti