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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2010, 22:04   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
Злость Создает 2 одинаковых файла в 2ух разных местах..

Привет всем!

вот есть алгоритм:
Код:
procedure TFilesListGenForm.CreateListBtnClick(Sender: TObject);
var
  my: string;  //тут храним путь до "домашней папки"
  LenPath, LenFile: Integer;  // тут длинна имени файла и длинна пути до папки
begin
  my := ExtractFilePath(ParamStr(0)) + '\'; //гарантировано приписываем обратный слеш к адресату дом. папки
  LenPath := Length(PathEdit.Text);
  //     длинна адреса папки
  LenFile := Length(FilesListNameEdit.Text);
  //длинна имени файла
  if LenFile <> 0 then
  //если имя файла больше меньше 0 то
  begin
    Log.Items.Clear;
    if HomeFolderChk.Checked then
    //если стоит галка Дом. каталог
    begin
      ListFileAndHash(Length(my), my, '*.*', Log.Items);  //сканим дом. каталог
      Log.Items.SaveToFile(my + FilesListNameEdit.Text);  //рисуем это в лог
    end
    else   //иначе
    if LenPath <> 0 then
    begin
      //если длинна пути больше/меньше 0 то...
      if SaveListAtHomeChk.Checked then
      //если стоит галочка всеравно сохронять в дом. каталоге то
      begin
        ListFileAndHash(LenPath, PathEdit.Text, '*.*', Log.Items);  //сканируем указанный каталог..
        Log.Items.SaveToFile(my + FilesListNameEdit.Text); //сохраняем в дом.папке
      end
      else  //иначе
        ListFileAndHash(LenPath, PathEdit.Text, '*.*', Log.Items);  //сканируем указанную папку
        Log.Items.SaveToFile(PathEdit.Text + FilesListNameEdit.Text); //сохраняем тоже в укз. папке..
    end
    else
      MessageBox(0, 'Вы не указали папку которую будите сканировать!', 'Внимание!', MB_OK or MB_ICONWARNING);
  end
  else
    //если имя файла равно нулю то говорим что так низя делати....
    MessageBox(0, 'Вы не указали имя файла в который будет сохранён результат!', 'Внимание!', MB_OK or MB_ICONWARNING);
end;
процедура ListFileAndHash - генерирует списки вида:
Код:
vnc\Msvcirt.dll:E7CD26405293EE866FEFDD715FC8B5E5
vnc\Msvcrt.dll:055B02D711CDEDB8C5997274C4E99CB8
vnc\omnithread_rt.dll:6BF27A16F8798625F1FA346B7FED416E
vnc\VNCHooks.dll:A306263E87DC7269058BFC1B8C4D45BF
vnc\VNCHooks_Settings.reg:8AB10FB152103145F89455A8F96BBF79
vnc\vncviewer.exe:FDD6E4B8A91D477AD90D930B1E7372FA
vnc\WinVNC.exe:F4910E28A285A13E642CDFE302E4AD91
суть проблемы.. которая уже надоела до нельзя....

Когда просто сканирую указанный пользователем каталог то все нормально.
Файл создаётся в папке которую сканировали..

Но если поставить галочку чтобы всеравно файл сохранялся в дом.каталоге программы,
то файл сохраняется и в указанном каталоге и в папке программы.(Это и есть ошибка)

Ну в притык не вижу ошибки... подсобите кто, пожалуйста..

Последний раз редактировалось Человек_Борща; 27.07.2010 в 22:07.
Человек_Борща вне форума Ответить с цитированием
Старый 27.07.2010, 22:22   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

я тоже не вижу ошибку...
есть догадка - а Вы уверены, что предварительно не ставите "птичку" сканировать домашний каталог — в этом случае лог записывает в домашнюю папку независимо от настройки "сохранять в дом. каталоге")

А пошагово в отладке проходили?

Если не разберётесь с глюком, тогда
сделайте тестовый проект (вместо вычисления хэша можно оставить просто выдачу имения файла, для отладки этого будет достаточно.)
и, если глюк будет в нём повторятся - выкладывайт архив с исходником сюда - думаю, отладим/разберёмся!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Транспонирование множества данных из разных книгах или из разных листов на 1 лист посредством макроса Тантана Microsoft Office Excel 6 18.12.2014 13:04
Приаттаченные файлы в разных почтовых клиентах revlar PHP 2 11.06.2010 13:58
несколько разных строк из разных файлов сформировать в один Иван123456 Microsoft Office Excel 3 30.07.2009 17:05
программа создает блоксхемы powerlifting Фриланс 3 13.07.2009 11:28