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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.08.2011, 18:25   #1
hacknet
Форумчанин
 
Регистрация: 11.11.2008
Сообщений: 177
По умолчанию поиск и лог

привет всем... с поиском файлов разобрался, но есть проблема как узнать что поиск закончился и как можно вести лог к примеру в текстовом документе, где и какой файл был найден! если можно пример с файлом ".txt" можно с поиском по маске или как вам удобнее!) спасибо за внимание!
hacknet вне форума Ответить с цитированием
Старый 02.08.2011, 19:06   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
If the function fails because no more matching files can be found, the GetLastError function returns ERROR_NO_MORE_FILES.
Попытайтесь почитать документацию
p51x вне форума Ответить с цитированием
Старый 05.08.2011, 15:06   #3
hacknet
Форумчанин
 
Регистрация: 11.11.2008
Сообщений: 177
По умолчанию

ребят ну кто нибудь поможет? буду сильно признателен!

и если можно еще... вот если файлы повторяются ну т.е на разных дисках с одним именем и расширением можно как то их пронумеровать?
hacknet вне форума Ответить с цитированием
Старый 05.08.2011, 15:11   #4
KAMENYKA
Пользователь
 
Аватар для KAMENYKA
 
Регистрация: 06.12.2007
Сообщений: 87
По умолчанию

Ну а вы как ищите? Если вы хотите услышать алгоритм так он прост как 3 копейки нашли файл, добавил запись в лог! если не получается что то в коде приведите пример как вы ищите тогда проще будет вам помочь!
KAMENYKA вне форума Ответить с цитированием
Старый 05.08.2011, 15:48   #5
hacknet
Форумчанин
 
Регистрация: 11.11.2008
Сообщений: 177
По умолчанию

в том то и дело, что с поиском все нормально, ну обычный поиск файла по всему ПК, я не могу добавить запись т.е сохранить в файл, а уж темболее если есть повторяющиеся файлы, пронумеровать - добавить цифру... код не могу выложить так как сижу с телефона а на пк не инета(( живу далеко...ели сотовая связь работает)а уж инет на пк - как чудо света

Последний раз редактировалось hacknet; 05.08.2011 в 15:53.
hacknet вне форума Ответить с цитированием
Старый 05.08.2011, 15:54   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Добавляйте в лог ПОЛНЫЙ путь и не будет повторяющихся.
p51x вне форума Ответить с цитированием
Старый 05.08.2011, 16:04   #7
KAMENYKA
Пользователь
 
Аватар для KAMENYKA
 
Регистрация: 06.12.2007
Сообщений: 87
По умолчанию

Вешашь на форму невидимый Memo пишешь в него найденные файлы с путем или цифрами сам смотри как удобней, потом делаешь Memo.Lines.SaveToFile('D:\123.txt') ; и вот тебе лог, можешь разобраться со StringList но думаю мемо тебя устроит!
KAMENYKA вне форума Ответить с цитированием
Старый 05.08.2011, 16:07   #8
hacknet
Форумчанин
 
Регистрация: 11.11.2008
Сообщений: 177
По умолчанию

логично)) но забыл упомянуть нужно эти файлы скопировать в папку уже пронумерованными ) и сохранить лог файл...

ну конечно мемо устроит... спасибо! ну вот сделал поиск, пути к файлам отобразились в мемо как их пронумеровать?))))) ребят скиньке код плзз

Последний раз редактировалось hacknet; 05.08.2011 в 16:10.
hacknet вне форума Ответить с цитированием
Старый 05.08.2011, 17:08   #9
KAMENYKA
Пользователь
 
Аватар для KAMENYKA
 
Регистрация: 06.12.2007
Сообщений: 87
По умолчанию

Если вы ищите бегая по циклу вообще не вижу проблемы!

Код:
i := 1;
Memo.Lines.Add('путь и имя файла' + inToStr(i))
inc(i)
Если нет кто вам потом мешает пробежаться по мемо и проставить нужные номера?
KAMENYKA вне форума Ответить с цитированием
Старый 13.08.2011, 12:29   #10
hacknet
Форумчанин
 
Регистрация: 11.11.2008
Сообщений: 177
По умолчанию

ребят отрыл в инете поиск файлов, но почему при нажатии кнопки поиск делаеться только на диск С, дальше не идёт помогите решить проблему!?

Код:
function ScanDrive(root, filemask: string; hitlist: TStrings): Boolean; 

implementation 

function TForm1.ScanDrive(root, filemask: string; hitlist: TStrings): Boolean; 
  function ScanDirectory(var path: string): Boolean; 
  var 
    SRec: TSearchRec; 
    pathlen: Integer; 
    res: Integer; 
  begin 
    label1.Caption := path; 
    pathlen := Length(path); 
    { first pass, files } 
    res := FindFirst(path + filemask, faAnyfile, SRec); 
    if res = 0 then 
      try 
        while res = 0 do  
        begin 
          hitlist.Add(path + SRec.Name); 
          res := FindNext(SRec); 
        end; 
      finally 
        FindClose(SRec) 
      end; 
    Application.ProcessMessages; 
    Result := not (FScanAborted or Application.Terminated); 
    if not Result then Exit; 

    {second pass, directories} 
    res := FindFirst(path + '*.*', faDirectory, SRec); 
    if res = 0 then 
      try 
        while (res = 0) and Result do  
        begin 
          if ((Srec.Attr and faDirectory) = faDirectory) and 
            (Srec.Name <> '.') and 
            (Srec.Name <> '..') then  
          begin 
            path := path + SRec.Name + '\'; 
            Result := ScanDirectory(path); 
            SetLength(path, pathlen); 
          end; 
          res := FindNext(SRec); 
        end; 
      finally 
        FindClose(SRec) 
      end; 
  end; 
begin 
  FScanAborted := False; 
  Screen.Cursor := crHourglass; 
  try 
    Result := ScanDirectory(root); 
  finally 
    Screen.Cursor := crDefault 
  end; 
end; 

procedure TForm1.Button2Click(Sender: TObject); 
var 
  ch: Char; 
  root: string; 
begin 
  root := 'C:\'; 
  for ch := 'A' to 'Z' do  
  begin 
    root[1] := ch; 
    case GetDriveType(PChar(root)) of 
      DRIVE_FIXED, DRIVE_REMOTE: 
        if not ScanDrive(root, edit1.Text, listbox1.Items) then 
          Break; 
    end; 
  end; 
end;
hacknet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
лог клавиатуры skosnet Фриланс 1 13.12.2010 15:00
лог транзакций ФБ alex_-87 БД в Delphi 7 13.07.2010 14:09
Ищу лог в Мастдае Elm0 Свободное общение 4 09.02.2010 15:27
Создание лог-файла Xeon332 Общие вопросы Delphi 6 24.05.2009 17:27
Создание лог-файла ScreN Общие вопросы Delphi 8 11.01.2009 11:28