Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Postojanje fajla - Vrlo kratki al za mene veliki problem

[es] :: Visual Basic 6 :: Postojanje fajla - Vrlo kratki al za mene veliki problem

[ Pregleda: 3802 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Goran Goran
Hr

Član broj: 49956
Poruke: 71
*.net.t-com.hr.



Profil

icon Postojanje fajla - Vrlo kratki al za mene veliki problem02.03.2005. u 21:21 - pre 189 meseci
Pozdrav,

Kako bi glasio kod koji samo provjeri da li postoji pojedini fajl na odredjenoj lokaciji?

Pr:

Ako postoji C:\Programs\Imenik.doc
msgbox «Imenik postoji»
ako ne
msgbox «Imenik ne postoji»

Goran
 
Odgovor na temu

Not now, John!

Član broj: 231
Poruke: 1317
*.dialup.blic.net.



+4 Profil

icon Re: Postojanje fajla - Vrlo kratki al za mene veliki problem02.03.2005. u 21:25 - pre 189 meseci
Code:
Private Const MAX_PATH = 260

Private Type FileTime
   dwLowDateTime As Long
   dwHighDateTime As Long
End Type

Private Type WIN32_FIND_DATA
   dwFileAttributes As Long
   ftCreationTime As FileTime
   ftLastAccessTime As FileTime
   ftLastWriteTime As FileTime
   nFileSizeHigh As Long
   nFileSizeLow As Long
   dwReserved0 As Long
   dwReserved1 As Long
   cFileName As String * MAX_PATH
   cAlternate As String * 14
End Type

Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long


Public Function FileExists(fn As String) As Boolean
    Dim retval As Long, FindData As WIN32_FIND_DATA, retval2 As Long
    retval = FindFirstFile(fn, FindData)
    If retval <> -1 Then FileExists = True
    retval2 = FindClose(retval)
End Function

"I'd take the awe of understanding over the awe of ignorance any day."
- Douglas Adams
 
Odgovor na temu

Goran Goran
Hr

Član broj: 49956
Poruke: 71
*.net.t-com.hr.



Profil

icon Re: Postojanje fajla - Vrlo kratki al za mene veliki problem02.03.2005. u 21:36 - pre 189 meseci

Nisam se nadao ovako brzom odgovoru.

Bravo, svaka cast!


Usput, sad sam postavio jos jedno pitanje, pa eto... samo dodatno upucujem... pogledajte, pomozite...
Goran
 
Odgovor na temu

y0y0

Član broj: 43344
Poruke: 11
*.adsl.net.t-com.hr.



Profil

icon Re: Postojanje fajla - Vrlo kratki al za mene veliki problem03.03.2005. u 00:47 - pre 189 meseci
moze i preko file system objecta

Code:
Private Sub Form_Load()
Dim Fso
Set Fso = CreateObject("Scripting.filesystemobject")

If Fso.FileExists("C:\text.txt") Then
 MsgBox "postoji"
Else
MsgBox "ne postoji"
End If

End Sub

off all the things I've lost,
I miss my mind the most :>)
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Postojanje fajla - Vrlo kratki al za mene veliki problem03.03.2005. u 12:46 - pre 189 meseci
ili najjednostavnije, sa ugradjenom Dir funkcijom:
Code:

Function Postoji(filename As String) As Boolean
    Postoji = (Len(Dir(filename))<>0)
End Function
'a koristi se ovako:
If Postoji("C:\Programs\Imenik.doc") Then
  MsgBox "Postoji."
Else
  MsgBox "Ne postoji."
End If

zar nije lakse? :p
a takodje mozes i proveravati da li neki folder postoji (sa malom izmenom):
Code:

Function PostojiDir(dirname As String) As Boolean
    PostojiDir = (Len(Dir(dirname, vbDirectory))<>0)
End Function
'a koristi se ovako:
If PostojiDir("C:\Programs\") Then
  MsgBox "Postoji."
Else
  MsgBox "Ne postoji."
End If


pozdrav!
 
Odgovor na temu

Dark Icarus
Goran Lalić
Beograd

Član broj: 19775
Poruke: 428
*.sbb.co.yu.



+2 Profil

icon Re: Postojanje fajla - Vrlo kratki al za mene veliki problem03.03.2005. u 16:35 - pre 189 meseci
Bravo krcko! Samo može funkcija da bude i malko jednostavnija.
Code:
Postoji = (Dir(filename)<>"")

In a game of chess you must never let your opponent see your pieces - Zap
Brannigan
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12671



+4666 Profil

icon Re: Postojanje fajla - Vrlo kratki al za mene veliki problem03.03.2005. u 16:44 - pre 189 meseci
Ma da. A ne moraju ni te zagrade (spoljne). Zapravo, ja to ne bih ni smestio u funkciju vec bih samo koristio Dir(filename)<>"" ;).
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Postojanje fajla - Vrlo kratki al za mene veliki problem03.03.2005. u 19:05 - pre 189 meseci
Citat:
Dark Icarus: Bravo krcko! Samo može funkcija da bude i malko jednostavnija.
Code:
Postoji = (Dir(filename)<>"")


da al je ona moja brza! :D

negde sam procitao da VB brze procesuje ovo:
Code:

 If Len(somestring)=0 Then

od ovoga:
Code:

 If somestring="" Then


:D
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Postojanje fajla - Vrlo kratki al za mene veliki problem03.03.2005. u 19:18 - pre 189 meseci
evo proguglah malo:
How NOT to optimize in VB
Optimize string handling in Visual Basic 6.0
dobro sad malo kad pogledah nije:
Code:

 If Len(somestring)=0 Then

vec
Code:

 If LenB(somestring)=0 Then

:D, dobro odavno sam ja ovo citao... :P
 
Odgovor na temu

Dark Icarus
Goran Lalić
Beograd

Član broj: 19775
Poruke: 428
*.sbb.co.yu.



+2 Profil

icon Re: Postojanje fajla - Vrlo kratki al za mene veliki problem03.03.2005. u 23:19 - pre 189 meseci
To su već detalji, LenB vraća bajt a šta ćeš ako je fajl zakopan ispod 20 podfoldera? Onda će ti LenB(Path) vratiti grešku (valjda).

Istina je da je brže raditi sa numeričkim operatorima, ali ne verujem da bi funkciju "Postoji" program pozivao 50x u sekundi, tako da možeš sebi da priuštiš ipak da dodaš malo čitljivosti u kod nauštrb brzine. Zar je bitno da li komparacija traje 10ms ili 50ms, ako se vrši samo jednom (npr. kada korisnik klikne na neko dugme).
In a game of chess you must never let your opponent see your pieces - Zap
Brannigan
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Postojanje fajla - Vrlo kratki al za mene veliki problem04.03.2005. u 19:08 - pre 189 meseci
da, mislim da si u pravu....
 
Odgovor na temu

[es] :: Visual Basic 6 :: Postojanje fajla - Vrlo kratki al za mene veliki problem

[ Pregleda: 3802 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.