Šta je novo?

Rad sa fajlovima (brisanje konkretno) - VB6 or pascal?

Lucas

Čuven
Učlanjen(a)
24.02.2002
Poruke
2,527
Poena
690
KAko da nateram VB da obrise neki fajl, dakle npr. stavim mu neki direktorijum, i on tu snimi nesto, odnosto obrise/prepise...

Jel moguce ovo?
znaci kao neki file manager...

btw ako moze pascal josh bolje...
 
Hm, po helpovima doticnih programa ima bas zanimljiviho odgovora ...


Windows API funkcija, vazi za sve jezike koji mogu da pozivanju API:

The DeleteFile function deletes an existing file.

BOOL DeleteFile(

LPCTSTR lpFileName // pointer to name of file to delete
);


Parameters

lpFileName

Points to a null-terminated string that specifies the file to be deleted.



Return Values

If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

If an application attempts to delete a file that does not exist, the DeleteFile function fails.


Delphi (mapirana API funkcija, ukoliko ne zelis da je zoves direktno):
Deleting a file erases the file from the disk and removes the entry from the disk's directory. There is no corresponding operation to restore a deleted file, so applications should generally allow users to confirm deletions of files. To delete a file, pass the name of the file to the DeleteFile function:

DeleteFile(FileName);

DeleteFile returns True if it deleted the file and False if it did not (for example, if the file did not exist or if it was read-only). DeleteFile erases the file named by FileName from the disk.

Prilikom brisanja, pazi da ti fajl vec nije otvoren u nekoj aplikaciji. Mozes pre toga da ga zatvoris sa CloseHandle.


Znaci potrazi po helpu, sve pise u glavnom po "file" ili "file management" sekcijama. Ako koristis neki stari paket (recimo matori TurboPascal) pod novijim OS-om, kao sto je win2k ili XP, dobro proveri funkciju da li je bazirana na API-ju ili custom made. U tom pascalu si uglavnom imao source tih funkcija ili u sources diru ili bese u include (u *.inc formatu). Elem, pametije je zvati API funkciju, jer ce se fajl/dir obrisati rutinom aktuelnog OS-a na kojem se program izvrsava - neke stare file rutine iz doba DOS-a se nece izvrsiti korektno, jer im danasnji OS-ovi brane "direct disk access".
 
SIlver, jer nije problem da mi dovrsis kod?
Uporno mi izbacije - external /something/ not defined
Probao sam da koristim komandu erase (pise da moze u MSDN-u)
Ovo sa ASPI-jem mi nije uspelo (tek se ucim...)

Ajde molim te ako bi mogo da mi napises kod za VisualBasic6 (ako nije mnogo komplikovano)...

Hvala...

******
Private Sub Command1_Click()
Erase [C:\proba.txt]
End Sub
-******* ?!
 
tnx!

imam josh jedno pitanje, kako da program pozove drugi program?
npr. program se zove C:\proba.exe
 
U VB - u kod je:

Dim fso As New Scripting.FileSystemObject

fso.DeleteFile "c:\direktorijum\imefajla.ekstenzija"



Samo moras u referencama da dodas
Microsoft scripting runtime
 
ajd dok ste josh tako raspolozeni za pomaganje, da iskoristim do kraja :)

kako prog da pokrene drugi prog (ili dokument)

pozdrav, i hvala!
 
....

Ovako - poshto nemam pojma shto se rada sa fajlovima tice, ajd da vam izlozim celu stvar:

1. kako da utvrdim da li se neki fajl nalazi na disk-u (fajl tipa *.ekstenzija - dakle svi fajlovi te ekstenzije)
2. kako da obrisem sve fajlove neke ekstenzije (probao kill "C:\*.txt, ali nece")
3. kako da program pozove neki drugi program

Hvala!
 
Stvarno si lenj da čitaš help (ili imaš VB 6 bez helpa). Mada je pre ovo prvo jer ti ni traženje po forumu ne ide :)
U http://www.benchmark.co.yu/forum/viewtopic.php?t=23069 ćeš naći kako da pokreneš recimo Wodrov dokument (da API pokrene pridruženi program - možda ne word nego open office). Za prosto pozivanje exe fajla koristi samo
Dim RetVal
RetVal = Shell("C:\WINDOWS\CALC.EXE", 1)
 
da se ispravim - moze ono sa zvezdicom ali ne za hidden fajlove...
kako kad je hidden?
 
MyFile = Dir("C:\WINDOWS\WIN.INI")

' Returns filename with specified extension. If more than one *.ini
' file exists, the first file found is returned.
MyFile = Dir("C:\WINDOWS\*.INI")

' Call Dir again without arguments to return the next *.INI file in the
' same directory.
MyFile = Dir
 
' Return first *.TXT file with a set hidden attribute.
MyFile = Dir("*.TXT", vbHidden)

Verovatno si skapirao da treba za više fajlova da praviš petlju i killuješ jedan po jedan (ono: do while myfile <> "")
 
Verovatno si skapirao da treba za više fajlova da praviš petlju i killuješ jedan po jedan (ono: do while myfile <> "")

oce kill i na zvezdicu (kill "C:\proba\*.txt")
Ajd ako ti je pri ruci mIRC zakaci se, pa da se lepo napricamo :)
 
Nazad
Vrh Dno