Форум: "Основная";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];
Внизаналог DosError в Delphi Найти похожие ветки
← →
heady (2003-10-11 21:10) [0]вопрос - аналог DosError в Delphi?
цель - вывести список файлов по маске в файл...
на TP7 это выглядело:
uses dos;
var
s:searchRec;
begin
FindFirst("*.pas", AnyFile,s);
while DosError=0 do
begin
with s do
writeln(Name^12,Size:12);
FindNext(s);
end;
end.
Зарание благодарен.
← →
Palladin (2003-10-11 21:13) [1]FindFirst+F1
← →
heady (2003-10-11 21:23) [2]сложновато, блин :(
может ссылкой какой запустите?
← →
Anatoly Podgoretsky (2003-10-11 21:24) [3]Аналог есть LastError, но для задачи он не нужен, см. FindFirst+F1 и Чаво
← →
Anatoly Podgoretsky (2003-10-11 21:24) [4]GetLastError
← →
heady (2003-10-11 21:28) [5]а модуль какой подключать?
← →
Anatoly Podgoretsky (2003-10-11 21:38) [6]Это означает, что ты не выполнил инструкцию FindFirst+F1, ленивый ты Парамоша.
← →
Palladin (2003-10-11 21:45) [7]:))
> heady (11.10.03 21:28) [5]
в общем то я думаю тебе будет более интересна не сама справка, а ссылка example чуть повыше текста справки...
← →
heady (2003-10-11 21:47) [8]не без этого =) на самом деле выполнил но там как-то много и не по русски :) мне надо просто в файл а не в какой-нить стремный объект .... аааа хочу просто хороший компилятор паскаля под винду...и чтобы с длинными именами работал и не дорого :)
← →
heady (2003-10-11 21:50) [9]procedure TForm1.Button1Click(Sender: TObject);
var
sr: TSearchRec;
FileAttrs: Integer;
begin
StringGrid1.RowCount := 1;
if CheckBox1.Checked then
FileAttrs := faReadOnly
else
FileAttrs := 0;
if CheckBox2.Checked then
FileAttrs := FileAttrs + faHidden;
if CheckBox3.Checked then
FileAttrs := FileAttrs + faSysFile;
if CheckBox4.Checked then
FileAttrs := FileAttrs + faVolumeID;
if CheckBox5.Checked then
FileAttrs := FileAttrs + faDirectory;
if CheckBox6.Checked then
FileAttrs := FileAttrs + faArchive;
if CheckBox7.Checked then
FileAttrs := FileAttrs + faAnyFile;
with StringGrid1 do
begin
RowCount := 0;
if FindFirst(Edit1.Text, FileAttrs, sr) = 0 then
begin
repeat
if (sr.Attr and FileAttrs) = sr.Attr then
begin
RowCount := RowCount + 1;
Cells[1,RowCount-1] := sr.Name;
Cells[2,RowCount-1] := IntToStr(sr.Size);
end;
until FindNext(sr) <> 0;
FindClose(sr);
end;
end;
end;
отлично, но ничего не понял :( (старался)
← →
Palladin (2003-10-11 22:03) [10]тебе нужно лишь это
if FindFirst(Edit1.Text, FileAttrs, sr) = 0 then
begin
repeat
if (sr.Attr and FileAttrs) = sr.Attr then
begin
RowCount := RowCount + 1;
Cells[1,RowCount-1] := sr.Name;
Cells[2,RowCount-1] := IntToStr(sr.Size);
end;
until FindNext(sr) <> 0;
FindClose(sr);
end;
что тут непонятного?
← →
Anatoly Podgoretsky (2003-10-11 22:04) [11]В это не возмозно поверить, неужели непоняд даже что такое end?
Хочешь, чтобы помогли то говорил конкретно, что не понял или как понял.
Возьми также чаво с моей страницы, там более культурный FindFirst, вполне приличный пример и в местном Чаво
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.014 c