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


Автор: ppcumax 26.3.2008, 20:37
Помогите, пожалуйста, есть 2 функции на Дельфи, нужно для C++ Builder

Код

procedure ListDir(Path: string; FileList: TStrings);
 var
   SR: TSearchRec;
 begin
   if FindFirst(Path + '*.*', faDirectory, SR) = 0 then
   begin
     repeat
       if (SR.Attr <> faAnyfile) then
       begin
         FileList.Add(Path + SR.Name);
       end;
     until FindNext(SR) <> 0;
     FindClose(SR);
   end;
 end;

 function GetWinDir():string;
 var
buffer:string;
len:uint;
begin
setlength(buffer,MAX_PATH + 1);
len := getwindowsdirectory(PAnsiChar(buffer),MAX_PATH);
setlength(buffer,len);
GetWinDir := buffer;
end;

Автор: Rififi 26.3.2008, 21:09
вторая например так:

Код

#include <windows.h>
#include <string>
#include <wchar.h>

std::string GetWinDirA()
{
    CHAR szBuf[MAX_PATH+1] = {0};
    ::GetWindowsDirectoryA(szBuf, MAX_PATH);
    return (szBuf);
}

std::wstring GetWinDirW()
{
    WCHAR szBuf[MAX_PATH+1] = {0};
    ::GetWindowsDirectoryW(szBuf, MAX_PATH);
    return (szBuf);
}


#ifdef UNICODE
#define GetWinDir GetWinDirW
#else
#define GetWinDir GetWinDirA
#endif


Автор: vivat 27.3.2008, 05:59
Ну а первая примерно так
Код

void ListDir(AnsiString Path,TStringList *FileList)
{
  TSearchRec  SR;
  if(FindFirst(Path+"*.*",faDirectory, SR)==0)
  {
     do
     {
        if(SR.Attr != faAnyFile) FileList->Add(Path+SR.Name);
     } while (FindNext(SR) == 0);
     FindClose(SR);
  }
}

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