Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.23;
Скачать: CL | DM;

Вниз

аналог 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.026 c
3-74001
Vemer
2003-09-30 17:46
2003.10.23
Можно ли в IBSQL запихать 2 запроса.


11-74107
mdw
2003-02-07 17:00
2003.10.23
Checked в BitBtn


3-74039
Игоряныч
2003-10-03 08:11
2003.10.23
Как закрепить левые столбцы в DBGrid.


14-74439
Johnny Smith
2003-10-06 18:02
2003.10.23
А кто тут равнодушен к животным беспризорникам?


4-74530
tytus
2003-08-19 15:45
2003.10.23
OleCheck