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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.07.2008, 17:58   #1
JRcoker
Форумчанин
 
Аватар для JRcoker
 
Регистрация: 18.07.2008
Сообщений: 119
Злость Ошибка при удалении...

Код:
function SysDir: string;
var S: array[0..MAX_PATH] of Char;
begin
  GetSystemDirectory(S,SizeOf(S));
  Result:=S;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
  if DeleteFile(SysDir+'666.txt') then
    ShowMessage('Файл успешно удален!')
  else
  ShowMessage('Ошибка!');
end;
Вроде всё зделал верно...А файл не удаляется и выводит ошибка...
Улыбайся...Люди любят идиотов...
JRcoker вне форума Ответить с цитированием
Старый 29.07.2008, 18:02   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Что-то из Вашего кода не видно, чтобы Вы где-то пытались удалить файл.
puporev вне форума Ответить с цитированием
Старый 29.07.2008, 18:06   #3
JRcoker
Форумчанин
 
Аватар для JRcoker
 
Регистрация: 18.07.2008
Сообщений: 119
По умолчанию

То-есть не видно?..

DeleteFile(SysDir+'666.txt')

Это разве не удаление?...
Улыбайся...Люди любят идиотов...
JRcoker вне форума Ответить с цитированием
Старый 29.07.2008, 18:10   #4
Манжосов Денис :)
Участник клуба
 
Регистрация: 29.01.2008
Сообщений: 1,039
По умолчанию

так зачем оператор if
тут идёт проверка, а не удаление.
Манжосов Денис :) вне форума Ответить с цитированием
Старый 29.07.2008, 18:10   #5
JRcoker
Форумчанин
 
Аватар для JRcoker
 
Регистрация: 18.07.2008
Сообщений: 119
По умолчанию

Ой...Извеняюсь я глупость...Не досмотрел...
Улыбайся...Люди любят идиотов...
JRcoker вне форума Ответить с цитированием
Старый 29.07.2008, 18:32   #6
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
Сообщение

Вот так лучше(путь возвращаемый вашей функции не имел слеш в конце):
Код:
function GetSysDir:String;
мar
  WindirP :PChar;
  Res :Cardinal;
  S :string;
begin
  Result := '';
 WinDirP := StrAlloc(MAX_PATH);
 Res := GetSystemDirectory(WinDirP, MAX_PATH);
 if Res>0 then
 begin
   S := String(WinDirP);
  IF S[Length(S)]<>'\' then
  s := s + '\';
  Result := S;
 end;
 StrDispose(WinDirP);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 if DeleteFile(GetSysDir+'666.txt') then
  ShowMessage('Удалён!')
 else
  ShowMessage('Ошибка!');
end;

Последний раз редактировалось Alter; 29.07.2008 в 22:37.
Alter вне форума Ответить с цитированием
Старый 29.07.2008, 20:08   #7
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

Alter
А память вернуть Вы забыли:
StrDispose (WinDirP);
Arigato вне форума Ответить с цитированием
Старый 29.07.2008, 22:15   #8
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Цитата:
так зачем оператор if
тут идёт проверка, а не удаление.
что за... извините бред?
Цитата:
Ой...Извеняюсь я глупость...Не досмотрел...
не стоит быть таким доверчивым.

ошибка в коде. Ваша функция SysDir вернёт не то, что вы ожидаете... (например: C:\windows\system32 ) Пользуйтесь отладкой.

Не поняли? Слеш между SysDir и именем файла кто будет ставить?

строчку
Код:
if DeleteFile(SysDir+'666.txt') then
замените строкой
Код:
  if DeleteFile(SysDir+'\666.txt') then
zetrix вне форума Ответить с цитированием
Старый 29.07.2008, 22:53   #9
JRcoker
Форумчанин
 
Аватар для JRcoker
 
Регистрация: 18.07.2008
Сообщений: 119
По умолчанию

Спасибо,спасибо конечно...Но про слешь я сам догнал буквально после того как тему создал...Извеняюсь если что....)))))
Улыбайся...Люди любят идиотов...
JRcoker вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В чем ошибка!!! juden Общие вопросы Delphi 12 10.03.2008 08:53
ОШИБКА YLIANOVA83 Microsoft Office Word 5 07.03.2008 15:02
Проблемы при удалении файлов Pavel55 Общие вопросы Delphi 7 10.01.2008 00:45
Что за ошибка??? Rembo Свободное общение 2 08.01.2008 14:34