Модуль Linux
Модератор: Модераторы
Модуль Linux
Сегодня решил попробовать написать консольное приложение (dfm2xml)
в стиле Unix.то есть такое, с которым можно было бы общаться в
традиционном для *nix-системы стиле, например, так
ls *.dfm | dfm2xml
(список всех DFM-файлов послать на вход утилиты DFM->XML преобразователя )
И тут вдруг выяснилось, что для написания подобных программ необходимо
иметь установленным модуль "linux", а в тексте pascal-программы использовать
"uses linux". Об этом пишут А.П.Полищук, С.А.Семериков в книге "Системное программирование в UNIX средствами Free Pascal", скачать её можно тут:
http://freepascal.ru/download/book/sysfpc.zip
Пробовал искать отсутствующий модуль на ftp.freepascal.org.
Не нашёл. Если у кого есть -- поделитесь plz!
в стиле Unix.то есть такое, с которым можно было бы общаться в
традиционном для *nix-системы стиле, например, так
ls *.dfm | dfm2xml
(список всех DFM-файлов послать на вход утилиты DFM->XML преобразователя )
И тут вдруг выяснилось, что для написания подобных программ необходимо
иметь установленным модуль "linux", а в тексте pascal-программы использовать
"uses linux". Об этом пишут А.П.Полищук, С.А.Семериков в книге "Системное программирование в UNIX средствами Free Pascal", скачать её можно тут:
http://freepascal.ru/download/book/sysfpc.zip
Пробовал искать отсутствующий модуль на ftp.freepascal.org.
Не нашёл. Если у кого есть -- поделитесь plz!
- shade
- энтузиаст
- Сообщения: 879
- Зарегистрирован: 21.02.2006 19:15:48
- Откуда: http://shamangrad.net/
- Контактная информация:
- Alexander
- энтузиаст
- Сообщения: 888
- Зарегистрирован: 18.12.2005 18:10:00
- Откуда: оттуда
- Контактная информация:
Tamachi писал(а):Пробовал искать отсутствующий модуль на ftp.freepascal.org.
Не нашёл. Если у кого есть -- поделитесь plz!
В книге действительно использовался старый ФПК, и в новом он
был переименован в OldLinux, а теперь (2.2.0) его совсем нету.
Большинство функций перенесено в Linux, BaseUnix, Unix.
Итак:
Код: Выделить всё
uses Linux, BaseUnix, Unix;Код: Выделить всё
Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.
c:\lazarus\PROJECTs\rrr>type project1.lpr | project1.exe
Read:program project1;
Read:var s: String;
Read:begin
Read: while not Eof() do
Read: begin
Read: Readln(s);
Read: Writeln('Read:',s);
Read: end;
Read:end.
Read:
c:\lazarus\PROJECTs\rrr>v-t-l писал(а):Код: Выделить всё
Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.
c:\lazarus\PROJECTs\rrr>type project1.lpr | project1.exe
Read:program project1;
Read:var s: String;
Read:begin
Read: while not Eof() do
Read: begin
Read: Readln(s);
Read: Writeln('Read:',s);
Read: end;
Read:end.
Read:
c:\lazarus\PROJECTs\rrr>
Спасибо! Это сработало!
Какой командо можно на FreePascal осуществить вывод на стандартный поток ошибок?
Кстати, если нужно использовать Stream:
Код: Выделить всё
procedure TForm1.FormCreate(Sender: TObject);
var Stream: TStream;
begin
Stream := THandleStream.Create(StdInputHandle);
Memo1.Lines.LoadFromStream(Stream);
end;