Авторизация

Логин: Пароль:
Регистрация Забыли свой пароль?

Raiden (все сообщения)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 След.
FPC в Linux
Цитата
Алексей Смирнов пишет:
Найдите fpcide и запустите его, там среда похожая на TurboPascal

FPC IDE в Debian (и уверен, что во всем остальном) запускается командой fp, это как раз та самая "среда похожая на TurboPascal".

Цитата
Дмитрий Бороздин пишет:
Там нет поддержки кириллицы. Из-за этого могут возникнуть ошибки

В компиляторе поддержка кирилицы есть. В нативной IDE (которая fp) - нет (нельзя вводить русские символы).
Изменено: Андрей - 11.01.2010 05:21:58
Установка Lazarus, проблемы/вопросы
Тема посвящена установке Lazarus, т.к. не всегда и не на всех системах установка проходит так гладко, как того хотелось бы. Если у вас возникли какие-то затруднения или вопросы - спрашивайте, постараемся помочь, но прежде прочтите следующие рекомендации:

1. Для установки Lazarus в вашей системе уже должен быть установлен fpc (FreePascal) версии 2.2.4 или выше (вместе с библиотеками и исходниками).
2.
a) Linux/BSD: У вас должны быть установлены библиотеки GTK 2.x (в том числе и -dev).
б) Mac OS X: У вас должны быть установлены "Apple developer tools".

Это главные правила, которые необходимы для установки Lazarus. Но, повторюсь, очень часто установка на некоторых системах оказывается далеко не очевидной и простой. Описывать все возможные проблемы займет много времени, так что лучше уж будем решать их по мере поступления smile:) Удачной установки!
[Алгоритм] Разложение функции в ряд Фурье
Товарищи, помогите! Нужно реализовать на Delphi/Pascal программу, раскладывающую заданную функцию на определенном интервале в ряд Фурье. Нужен хотя бы программный алгоритм. Половину интернета перерыл, не нашел ни одной понятной и простой реализации этого... Сам в математике не силен smile:(
Изменено: Андрей - 19.12.2009 15:00:51
Как сделать чтобы программа не закрывалась по CTRL+C?
Цитата
Ну, или может кто-то знает другие хорошие команды для "Вырезать", "Копировать", "Вставить", которыя я мог бы использовать? Как насчет например F2-копировать, F3-вырезать, F4-вставить, удобно ли это будет?


Думаю, это не очень хорошая идея, всё-таки лучше всего будет использовать стандартные CTRL+C/V/X. Не надо мучать людей, заставляя привыкать к новым сочетаниям клавиш для стандартных действий...

В любом случае, блокировать закрытие программы по CTRL+C можно. Вот пример программы. Если хотите лучше понять, как она работает - смотрите справку по WinApi функции SetConsoleCtrlHandler.
Код
program Ctrl-C_Test;

uses
  Crt, Windows;

function NewHandlerRoutine(ASignal: DWord): Boolean;
begin
     if (ASignal = CTRL_C_EVENT) then
     begin
          Result := True;
          // Paste From Clipboard
     end else
        Result := False;
end;

begin
     SetConsoleCtrlHandler(@NewHandlerRoutine, True);

     repeat
           Sleep(100);
     until (KeyPressed);
end.
[Инструкция] Borland Turbo Pascal 7 под Linux
Что ж, нашел я этот ваш Turbo Pascal для Windows, запустил под wine - запускается, попробовал написать в нем Hello World - сильно разочаровался. Сама IDE очень глючит, постоянно какие-то непонятные артефакты в отображении да и код к тому же не компилируется - компилятор выдает какую-то ошибку, но даже прочитать ее не дает, потому что окошко мгновенно пропадает... После некоторых извращений мне удалось увидеть, что он в ошибке ссылается на какой-то вообще бредовый путь, которого конечно же не существует. В общем вывод мой печальный - работать с этим невозможно, в то время, как TP под DOSBox работает идеально.
[Инструкция] Borland Turbo Pascal 7 под Linux
Хм, а я почему-то всегда только версией под DOS пользовался smile:) Но, думаю, windows-версия должна нормально работать под вайном... Могу протестировать, если кто-нибудь поделится дистрибутивом TP7 под Win smile8)
О режимах компилятора FPC
Компилятор Free Pascal известен своей поддержкой нескольких режимов копиляции, для улучшения совместимости с TP, Delphi и др. У каждого режима свои особенности, если вы хотите подробнее узнать об отличиях или у вас есть вопросы по какому-то из них, задавайте их в этой теме.

Переключаются режимы либо добавлением ключа -M[режим] при компиляции, либо использованием специальных директив вида {$MODE [режим]} непосредственно в коде программы.
Немного о самих режимах.

FPC
Режим компилятора по-умолчанию. Поддерживаются все конструкции языка за исключением классов, интерфейсов и исключений. Объекты поддерживаются в этом режиме.

OBJFPC
Режим аналогичен FPC, но включает классы, интерфейсы и исключения.

TP
Режим совместимости с Turbo Pascal. В этом режиме компилятор насколько это возможно пытается быть похожим на компилятор Турбо Паскаля. Очевидно, что компилироваться в этом режиме будет только 32 или 64-битный код.

DELPHI
Режим совместимости с Delphi. В этом режиме, компилятор как может пытается повторять компилятор Delphi: Все особенности Delphi 7 включены. Особенности .NET версий Delphi не поддерживаются.

MACPAS
Режим совместимости с Mac Pascal. В этом режиме компилятор пытается позволить использовать все конструкции Маковского паскаля. В частности, пытается компилировать универсальные интерфейсы.

Пример переключения режима при помощи ключа компилятора:
Код
fpc -MOBJFPC myunit

То же самое будет если вы добавите следующую директиву перед описанием модулей:
Код
{$MODE OBJFPC}  
Unit myunit; 
Игры на Паскале
Интересный проект по портированию Quake II на Delphi. Исходный код открыт. Кстати на их же сайте есть и информация по Quake III на Delphi, но ссылка сейчас не работает.

[ официальный сайт | sourceforge ]

РисунокРисунокРисунок
Информация о системе
Вот, должно Вам пригодиться. Получение информации о жестком диске (IDE).

Код
{$IFDEF Windows}
  uses WinCrt;
{$ENDIF}
var
  InfoArray : array[0..255] of word;
  IdeInfo  : record
    Config    : word;
    CylsTotal : word;
    Unused    : word;
    HeadTotal : word;
    BPT       : word;
    BPS       : word;
    SPT       : word;
    Vendor    : array[0..2] of word;
    Serial    : array[1..20] of char;
    BufType   : Word;
    BufSize   : Word;
    ECC       : Word;
    Revision  : array[1..8] of char;
    Model     : array[1..40] of char;
  end absolute InfoArray;
  Count : byte;
  i : byte;
begin
  writeln('Информация о дисководах IDE:'^M^J);
{$IFDEF WINDOWS}
  for count := 1 to mem[$0040:$0075] do begin
{$ELSE}
  for count := 1 to mem[Seg0040:$0075] do begin
{$ENDIF}
    FillChar(InfoArray, SizeOf(InfoArray), 0);
    {Проверить готовность}
    while (port[$1F7] and $80<>0) do ;
    {Запретить прерывания}
    port[$3f6] := 2;
    port[$1f6] := $A0 + ((count-1) shl 4);
    port[$1f7] := $EC;
    {Проверить готовность}
    while (port[$1F7] and $80<>0) do ;
    {Получить информацию}
    for i := 0 to 255 do InfoArray[i] := swap(portw[$1F0]);
    {Напечатать информацию}
    writeln('Информация о физическом диске ',count-1,^M^J);
    with IdeInfo do begin
      writeln('Емкость неформатированная :', 9.5367431641E-7* {1/2^20}
        swap(BPT)*swap(CylsTotal)*swap(HeadTotal):5:0, 'Mb');
      writeln('Емкость форматированная   :',
        longint(swap(SPT))*swap(CylsTotal)*swap(HeadTotal) div 2048:5, 'Mb');
      writeln('Число цилиндров           :', swap(CylsTotal):7);
      writeln('Число головок             :', swap(HeadTotal):7);
      writeln('Число секторов на дорожку :', swap(SPT):7);
      writeln('Число байт на дорожку*    :', swap(BPT):7);
      writeln('Число байт на сектор*     :', swap(BPS):7);
      writeln('Размер буфера             :', swap(BufSize):7);
      writeln('Код ECC                   :', swap(ECC):7);
      writeln(' * -- неформатированная емкость', ^M^J);
      writeln('Серийный номер            :', serial);
      writeln('Версия                    :',revision);
      writeln('Модель                    :',model);
    end;
    write('Hажмите любую клавишу...');
{$IFDEF WINDOWS}
    readkey;
{$ELSE}
    asm xor ah,ah ; int 16h end;
{$ENDIF}
    writeln(^M^J);
  end;
end.
Gecko SDK для Delphi, Обсуждение, вопросы по работе
В общем да, для мобильных устройств он конечно не подходит, памяти действительно много кушает (но на современных ПК это не так критично)... Кто хочет убедиться - попробуйте запустить Mozilla FireFox на компьютере с небольшим ОЗУ и открыть несколько вкладок - так сказать, почувствуете на себе smile:D
Страницы: 1 2 3 4 След.