Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2008, 13:34   #1
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
Вопрос удаление каталога

Доброе время суток!
Программа оставляет лог с установленными файлами как по этому логу удалить установленные файлы с каталогами!?
Но инстолятор я написал, и в логе он сахраняет чтото типо этого:
Код:
DATA\3ddata\Textures\small.tga
DATA\3ddata\Textures\small0.tga
DATA\3ddata\Textures\small1.tga
DATA\3ddata\Textures\Standard.tga
DATA\MAPS\#100 Mount Irulan Revisited\!05%thumb.tga
DATA\MAPS\#100 Mount Irulan Revisited\Mount Irulan Revisited.txt
DATA\MAPS\#100 Mount Irulan Revisited\test.cpf
DATA\MAPS\#100 Mount Irulan Revisited\test.cpt
DATA\MAPS\#100 Mount Irulan Revisited\test.lit
DATA\MAPS\#100 Mount Irulan Revisited\test.xbf

До этого допёр!!!
А вот как его использовать при удоление не доходит!!(
Я пробовал создать стринг лист!
Но у меня не чего не получаеться!!!((
Вобщем ошибки и кстате всё время одну выдаёт :
Abstract Error "Абстрактная Ошибка"!
Если не трудно можно пример!!!
С уважением,
Volkogriz!
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 23.12.2008, 14:48   #2
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

ну судя по всему у тя это относительно директории в которой находится прога, далее все просто

Код:
загружай в tstrings и далее в цикле
for i:=0 to s.count-1 do
begin
  if deletefile(extractfilepath(application.exename)+s.strings[i]) then
  // файл удален
  else
  // не удален
end;
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 23.12.2008, 14:51   #3
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

Огромное спасибо!
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 23.12.2008, 15:22   #4
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

У меня совсем не чего не выходит вылетает на постой ошибка!!!
Abstract Error "Абстрактная Ошибка"!
Как же всётаки правельно это зделать подскажите пожалуйсто!!!
Код:
var
i:integer;
begin
FilesDel:= TStringList.Create;
FilesDel.LoadFromFile(extractfilepath(application.exename)+'EmperorUni.log');
for i:=0 to FilesDel.count-1 do
begin
  if deletefile(extractfilepath(application.exename)+FilesDel.Strings[i]) then
 end;
end;
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 23.12.2008, 16:26   #5
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

пробуй так
Код:
var
i:integer;
FilesDel: TStrings; // а переменную создавать кто будет7 вася пупкин7
begin
FilesDel:= TStringList.Create;
FilesDel.LoadFromFile(extractfilepath(application.exename)+'EmperorUni.log');

for i:=0 to FilesDel.count-1 do
deletefile(extractfilepath(application.exename)+FilesDel.Strings[i])  // зачем ставить условие если не пользуешься7

FilesDel.free; //а переменную уничтожать кто будет7 вася пупкин7
end;
Перед тем как спросить ищи на форуме и в GOOGLE

Последний раз редактировалось KORN; 23.12.2008 в 16:29.
KORN вне форума Ответить с цитированием
Старый 23.12.2008, 16:29   #6
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

KORN
Прикинь заработало!!!
Спасибо Большое !!!))
Не количеством плюсов измеряется репутация человека...!

Последний раз редактировалось Volkogriz; 23.12.2008 в 16:34.
Volkogriz вне форума Ответить с цитированием
Старый 23.12.2008, 17:19   #7
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

Вот ещё проблемка!!!
Исполняймый файл попал на диск C:\
Код:
function GetFiles(Path:String; Full: Boolean = False):TStrings;
   Var
   Rec:TSearchRec;
   TMP:TStrings;
   ls: String;
   i: integer;
begin
  Result:=TStringList.Create;
  if Path[Length(Path)]<>'\' Then Path:=Path+'\';
  //ChDir(Path);
  if FindFirst(Path+'\*.*',faAnyFile,Rec)=0 then
    begin
     if (Rec.Name<>'.')and(Rec.Name<>'..') then
       if (Rec.Attr and faDirectory) <> 0 then begin
       TMP:=GetFiles(Path+Rec.Name,True);
       Result.AddStrings(TMP);
       TMP.Free;
       end else Result.Add(Path+Rec.Name);

     while FindNext(Rec)=0 do
       begin
        if (Rec.Name<>'.')and(Rec.Name<>'..') then
         if (Rec.Attr and faDirectory) <> 0 then begin
         TMP:=GetFiles(Path+Rec.Name,True);
         Result.AddStrings(TMP);
         TMP.Free;
         end else Result.Add(Path+Rec.Name);
       end;
    end;

if not Full then
  for i:=0 to Result.Count-1 do
   begin
     ls := Result[i];
     Delete(ls,1,Length(Path));
     Result[i] := ls;
   end;
  FindClose(Rec);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
c,i:integer;
begin
FilesDel:= TStringList.Create;
FilesDel.LoadFromFile(extractfilepath(application.exename)+'uni.log');
for i:=0 to FilesDel.count-1 do
deletefile(extractfilepath(application.exename)+FilesDel.Strings[i]);
for c:=0 to FilesDel.count-1 do
RemoveDirectory(Pchar(extractfilepath(application.exename)+FilesDel.Strings[c])) ;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
FilesDel:= TStringList.Create;
FilesDel.Assign(GetFiles(extractfilepath(application.exename)));
begin
FilesDel.SaveToFile(extractfilepath(application.exename)+'uni.log');
end;
end;
end.
Как от этого подстраховаться ?
P.S Пишу от соседа!!!
Не количеством плюсов измеряется репутация человека...!

Последний раз редактировалось Volkogriz; 23.12.2008 в 17:24.
Volkogriz вне форума Ответить с цитированием
Старый 23.12.2008, 19:36   #8
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

тогда делай что бы в лог записывался полный путь файла

или используй OpenDialog для открытия файла и извлекай из filename FilePAth
Перед тем как спросить ищи на форуме и в GOOGLE

Последний раз редактировалось KORN; 24.12.2008 в 04:39.
KORN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление каталога с файлами SANTA_KLAUD Общие вопросы Delphi 17 28.05.2008 17:47
картинки из каталога Var17 PHP 2 06.03.2008 22:05
Копирование КАТАЛОГА Рустам Общие вопросы Delphi 10 13.10.2007 12:22
Шифрование каталога _SERGEYX_ Безопасность, Шифрование 3 02.08.2007 15:16
Удаление непустого каталога Fia Общие вопросы Delphi 3 07.05.2007 14:11