Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
14-74383
BaDeVlad
2003-10-01 18:04
2003.10.23
Kaк узнать адреса начала и конца процесса в памяти?


14-74395
malkolinge
2003-10-06 12:09
2003.10.23
Долой C#


4-74536
RSN
2003-08-17 22:18
2003.10.23
Программное закрытие окна


14-74414
Александр999
2003-10-05 08:59
2003.10.23
Клавиатура


6-74369
Demetrius2003
2003-08-26 16:48
2003.10.23
WinSock





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский