ďťż

Ładny brzuch

Witam!
Mam problem z usunięciem pliku. Używam funkcji DeleteFile i nic. plik jak był tak jest. Czy może mi ktoś poradzić jak usunąć plik??



A na pewno podajesz dobrą ścieżkę ? Jeżeli tak to może nie można usunąć, bo jest on używany przez inny program.

Lub ma atrybut "Tylko do odczytu"


Lub ma atrybut "Tylko do odczytu" W tym wypadku:function UsunWcholere(plik:string):boolean; begin result:=false; if not FileExists(plik) then plik:=ExtractFilePath(ParamStr(0))+Plik; if FileExists(plik) then begin SetFileAttributes(PChar(plik),0); result:=DeleteFile(PChar(plik)); end; end;

down:
Albo tak:while not DeleteFile('plik') do;
Użytkownik Cyrkiel edytował ten post 29 sierpień 2006, 21:25


czasem jedno polecenie nic nie daje... ja zwykle w petli usuwam...
while fileexists(s) do deletefile(s); // or repeat deletefile(s); until (fileexists(s)=false);
Użytkownik DJ_ProG edytował ten post 29 sierpień 2006, 20:53

czasem jedno polecenie nic nie daje... ja zwykle w petli usuwam...
Na przykład kiedy? :blink: :blink:

Spox dzięki wielkie :D

A moze ?
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ShellApi, ComCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var P : TSHFileOpStruct; begin P.Wnd := Handle; P.wFunc := FO_DELETE; P.pFrom := 'C:\plik.txt'; P.pTo := 'C:\plik.txt'; SHFileOperation(P); end; end.
Użytkownik DEDAL edytował ten post 29 sierpień 2006, 22:34

Na przykład kiedy? :blink: :blink:
Nie wiem, czy dobrze wyjaśnię, ale spróbuję (i napiszę tak jak sądzę)...
Mam zbiór funkcji i gdzieś w środku DeleteFile()... nawet jeśli zostanie odpalona funkcja, praktycznie natychmiast zostaje odpalona następna, przez co procek więcej uwagi przykłada tej "następnej"...
Czasem plik nie zostaje usunięty... Ja tak mam :/
Coś a la shellexecute - zostanie odpalony proces i co zrobi ten proces i czy na pewno sie odpali - nie mamy na to wplywu (poprzez samo shellexecute)... a nasza aplikacja wykonuje to co następne w kolejce po shellexecute...

(wiem że zawiło tłumacze


...
Wystarczyło samo:
uses ShellApi; var P : TSHFileOpStruct; begin P.Wnd := Handle; P.wFunc := FO_DELETE; P.pFrom := 'C:\plik.txt'; P.pTo := 'C:\plik.txt'; SHFileOperation(P); end;

xD

Z tego co wiem to program nie wykona zadania jesli nie zakonczy poprzedniego (no chyba ze jest w oddzielnym watku). To chyba wlasnie dlatego wystepuje cos takiego jak zwis programu xP

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •