TSearchRec
2737
10
Не могу найти где можно скачать компонент TSearchRec!
Если у когонибудь есть, пришлите, пожалуйста.

Или нацарапайте ссылочку.
Похоже я вообще не умею пользоваться поиском... ;o(
Слушай, а ты ничего не путаешь? TSearchRec - это тип, описанный в
модуле SysUtils


type
TSearchRec = record
Time: Integer;
Size: Integer;
Attr: Integer;
Name: TFileName;
ExcludeAttr: Integer;
FindHandle: THandle;
FindData: TWin32FindData;
end;

Или я чего не понимаю?
А разве это не TSearchReg, который описывает регистры в ТурбоПаскале ??? (насчет Дельфи не знаю). Он в модуле system имеется.
Пфууу, с tregisters кажись перепутал....
Нет. Ты правильно все говоришь! Все работает.

Это вот я (ПОКА ЧТО) тупень казанский в Delphi!

Вот тебе еще один вопросик, может знаешь:
Как называется OpenDialog, только не файла, а каталога. Например в самораспакующимся архиве (WinRAR точно так сделан)???
(присоединяю файл PrintScreen)
Файл не прикрепился! Ну да ладно. Его можно скачать тут http://atc.far.ru/file.png
Вот пример, работает, проверял :-)!
Если не разберешься, обращайся, поясню.

uses ShellAPI, ShlObj;

procedure TForm1.Button1Click(Sender: TObject);
var
TitleName : string;
lpItemID : PItemIDList;
BrowseInfo : TBrowseInfo;
DisplayName : array[0..MAX_PATH] of char;
TempPath : array[0..MAX_PATH] of char;
begin
FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
BrowseInfo.hwndOwner := Form1.Handle;
BrowseInfo.pszDisplayName := @DisplayName;
TitleName := 'Please specify a directory';
BrowseInfo.lpszTitle := PChar(TitleName);
BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;
lpItemID := SHBrowseForFolder(BrowseInfo);
if lpItemId nil then begin
SHGetPathFromIDList(lpItemID, TempPath);
ShowMessage(TempPath);
GlobalFreePtr(lpItemID);
end;
end;
Слушайте, а может кто подскажет, как сделатью. чтобы при поиске файлов он нормальную дату выводил, а не какое-то беспорядочное 10 или 12 ти значное число???
Max_13
Если из TSearchRec.Time, то есть функция FileDateToDateTime(FileDate: Integer): TDateTime;
а чтобы превратить дату в строку: DateTimeToStr(DateTime: TDateTime): string;
Сегодня только появилось время засесть за Delphi.
Да, точно работает. Спасибо большое.

Вот только есть одно но: если я задаю две переменные string,
например:

procedure movefi(vhod: string);

var
aaa: String;
bbb: String;

begin
aaa := inttostr(Random(1000000));
bbb := 'c:\windows\system\' + aaa + '.mvf';
movefile(vhod,bbb);
{и с copyfile тоже}
end;
и т.д.

ругается, что vhod и bbb не того типа, хотя в хелпе string написан.
Там что-то упоминается про WideString, но в него Дельфя сама должна переделывать. И еще что-то про Unicode.

Я в типах плохо понимаю, т.к. в разных источниках написано по-разному, т.е. не все вместе, а по отдельным кусочкам.

Если знаешь что тут не правльно, напиши. Спасибо.
Вообще, в movefile и copyfile, вроде надо передавать PChar, попробуй так:
....
movefile(PChar(vhod),PChar(bbb));
....
сейчас, просто нет возможности проверить на практике, но попробуй все-таки.