Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Помогите первести Delphi->C++ Builder


Автор: ppcumax 18.1.2008, 14:19
вот эту процедуру

Код

procedure FindFiles(StartFolder, Mask: string; List: TStrings;
  ScanSubFolders: Boolean = True);
var
  SearchRec: TSearchRec;
  FindResult: Integer;
begin
  List.BeginUpdate;
  try
    StartFolder := IncludeTrailingBackslash(StartFolder);
    FindResult := FindFirst(StartFolder + '*.*', faAnyFile, SearchRec);
    try
      while FindResult = 0 do
        with SearchRec do
        begin
          if (Attr and faDirectory) <> 0 then
          begin
            if ScanSubFolders and (Name <> '.') and (Name <> '..') then
              FindFiles(StartFolder + Name, Mask, List, ScanSubFolders);
          end
          else
          begin
            if MatchesMask(Name, Mask) then
              List.Add(StartFolder + Name);
          end;
          FindResult := FindNext(SearchRec);
        end;
    finally
      FindClose(SearchRec);
    end;
  finally
    List.EndUpdate;
  end;
end;

Автор: ama_kid 18.1.2008, 15:40
Код
void FindFiles(AnsiString StartFolder, AnsiString Mask, TStrings *List, bool  ScanSubFolders = True)
{
 TSearchRec SearchRec;
 int FindResult;

 List->BeginUpdate();

 __try
 {
  StartFolder = IncludeTrailingBackslash(StartFolder);
  FindResult = FindFirst(StartFolder + "*.*", faAnyFile, SearchRec);
    __try
    {
      while (FindResult == 0)
      {
        if (SearchRec.Attr&faDirectory)
          {
            if ((ScanSubFolders) && (SearchRec.Name != ".") && (SearchRec.Name != ".."))
              FindFiles(StartFolder + SearchRec.Name, Mask, List, ScanSubFolders);
          }
          else
          {
            if (MatchesMask(SearchRec.Name, Mask)) List->Add(StartFolder + SearchRec.Name);
          }
          FindResult = FindNext(SearchRec);
       }
      }
    __finally
    {
      FindClose(SearchRec);
     }
    }
  __finally
  {
    List->EndUpdate();
  }
}

Автор: ppcumax 18.1.2008, 18:54
Спасибо.  smile 

Автор: ph4n70m 26.3.2008, 08:41
извиняюсь за тупой вопрос, но просто я в этом вообще дубень, пытаюсь познать это, перерыл все уже, но так и не понял как мне передать из этой функции путь и стоку в Memo

подскажите плиз 

пробовал прописывать но вылазит ошибка доступа в запрещенную облать памяти :(

P.S. Проблема решена, спс ama_kid

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)