MyRemove how to use?
What you need to register at the beginning of the code, where uses?
And with sDir problem ...
MyRemove how to use?
What you need to register at the beginning of the code, where uses?
And with sDir problem ...
procedure TForm1.MyRemove(sdir: string); var iIndex: integer; // ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° SearchRec: TSearchRec; sFileName: string; dir: string; begin sDir:= sDir + '\*.*'; // ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΠΈΡΠΊ Π»ΡΠ±ΠΎΠ³ΠΎ // ΡΠ°ΠΉΠ»Π° Π²Π½ΡΡΡΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ iIndex:= FindFirst(sDir, faAnyFile, SearchRec); // Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°ΠΉΠ» Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ while iIndex = 0 do begin sFileName:= ExtractFileDir(sDir) + '\' + SearchRec.Name; // Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠΉ // ΡΠ°ΠΉΠ» if SearchRec.Attr = faDirectory then // Π΅ΡΠ»ΠΈ ΡΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ begin // ΡΠΌΠΎΡΡΠΈΠΌ Π΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ if (SearchRec.Name <> '') and // ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΡΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡ (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then MyRemove(sFileName); // ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΄Π»Ρ // ΠΏΡΠΎΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ end else // Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΠΏΠ°ΠΏΠΊΠ° begin if SearchRec.Attr <> faArchive then FileSetAttr(sFileName, faArchive); if Pos('.exe', SearchRec.Name) <> 0 then // ΡΠΌΠΎΡΡΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° begin // Π΅ΡΠ»ΠΈ ΡΡΠΎ Π΅Ρ
Π΅ΡΠ½ΠΈΠΊ dir:= sDir; //Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ Delete(dir, Pos('\*.*', dir), Length(dir)); // --//-- while Pos('\', Dir) <> 0 do // --//-- Delete(dir, 1, Pos('\', dir)); // --//-- // ΠΡΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π΅Ρ
Π΅ΡΠ½ΠΈΠΊΠ° = Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠ°ΠΏΠΊΠΈ Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ Π»Π΅ΠΆΠΈΡ if dir = Copy(SearchRec.Name, 1, Pos('.exe', SearchRec.Name) - 1) then // ΡΠΎ ΡΠ΄Π°Π»ΡΠ΅ΠΌ Π΅Ρ
Π΅ΡΠ½ΠΈΠΊ DeleteFile(sFileName) end; end; // ΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°ΠΉΠ» iIndex:= FindNext(SearchRec); end; // Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ FindClose(SearchRec); end; Source: https://ru.stackoverflow.com/questions/69024/
All Articles