Ýòî ñêîðåå ïóòåâûå çàìåòêè ïðè èçó÷åíèè Free Pascal è Lazarus, ÷åì ó÷åáíèê. Ñîáñòâåííî, ó÷åáíèêè ïî Ïàñêàëþ è Äåëôè åñòü, ïîýòîìó èçó÷àÿ Free Pascal è Lazarus íóæíî ðàçîáðàòüñÿ ÷åì îíè îòëè÷àþòñÿ îò Turbo Pascal7 è Äåëôè7.
Free Pascal (FPC) ÿâëÿåòñÿ 32-õ è 64-ðàçðÿäíûì êîìïèëÿòîðîì Pascal.
Êîìïèëÿòîð è Run-Time áèáëèîòåêè äîñòóïíû äëÿ ìíîãèõ îïåðàöèîííûõ ñèñòåì, â òîì ÷èñëå: DOS, Linux,
Windows, FreeBSD.
Free Pascal ðàçðàáîòàí ñ öåëüþ, íàñêîëüêî ýòî âîçìîæíî, îáåñïå÷åíèÿ ñîâìåñòèìîñòè èñõîäíèêîâ ñ Turbo Pascal 7.0 è Delphi 7 (õîòÿ ýòà öåëü åùå íå äîñòèãíóòà), à òàêæå óëó÷øèòü ýòè ÿçûêè òàêèìè ýëåìåíòàìè, êàê îïåðàòîð ïåðåãðóçêè. È, â îòëè÷èå îò ñâîèõ ïðåäøåñòâåííèêîâ, îí ïîääåðæèâàåò íåñêîëüêî ïëàòôîðì.
Lazarus - ýòî áèáëèîòåêè êëàññîâ Free Pascal äëÿ ýìóëÿöèè Delphi. Free Pascal - ýòî êîìïèëÿòîð ÿçûêà Ïàñêàëü, ñâîáîäíî ðàñïðîñòðàíÿåìûé íà óñëîâèÿõ GNU Public License (GPL), êîòîðûé ðàáîòàåò íà ìíîãèõ ïëàòôîðìàõ: Linux, Win32, OS/2, 68K è äðóãèõ. Free Pascal ïîçâîëÿåò ïèñàòü ïðîãðàììû, èñïîëüçóÿ îáúåêòíî-îðèåíòèðîâàííûé ñèíòàêñèñ Delphi. Òàê ÷òî Lazarus - ýòî òî íåäîñòàþùåå çâåíî, êîòîðîå îòêðûâàåò âîçìîæíîñòè êðîññïëàòôîðìíîé ðàçðàáîòêè Delphi-ïîäîáíûõ ïðîãðàìì.  îòëè÷èå îò ÿçûêà Java, íà êîòîðîì îäíàæäû íàïèñàííûå ïðîãðàììû ìîãóò èñïîëíÿòüñÿ íà ðàçíûõ ïëàòôîðìàõ ñ ïîìîùüþ âèðòóàëüíîé ìàøèíû, ïðîãðàììû íà Lazarus è Free Pascal ìîãóò áûòü ñêîìïèëèðîâàíû áåç èçìåíåíèé â "ðîäíîé" êîä ðàçëè÷íûõ ïëàòôîðì.
Äëÿ èçó÷åíèÿ FreePascal ïîëüçîâàëñÿ äîêóìåíòàöèåé (ïàïêà \doc\), ïðèëîæåííîé ê äèñòðèáóòèâó (eng), ïîòîìó ÷òî íå óäàëîñü íàéòè â Èíòåðíåòå ïåðåâîäà äëÿ ðàáîòû Offline.
Êîíå÷íî, ïðåæäå âñåãî â ó÷åáíèêàõ, èç êîòîðûõ ìíå íðàâÿòñÿ:
À.Ì. è Â.À. Åïàíåøíåêîâû - Turbo Pascal 7.0 (ìîæíî ñêà÷àòü â ôîðìàòå .djvu, 2Mb) è êíèãè Â.Â.Ôàðîíîâà.
Íà ýòîì ñàéòå ìîæíî òàêæå ñêà÷àòü àâòîðêèé ó÷åáíèê-ñïðàâî÷íèê (Ïàñêàëü, îñíîâû Äåëôè), â êîòîðîì ìíîãî ïðèìåðîâ âûïîëíåíèÿ ó÷åáíûõ çàäàíèé.
Ïîëåçíî âñòðîèòü â ñðåäó IDE Free Pascal ðóñèôèöèðîâàííûé ñïðàâî÷íèê ïî Borland Pascal (êàê ýòî ñäåëàòü - ñì çäåñü ). Íåîáõîäèìûé äëÿ ýòîãî ôàéë Turbo.tph ( ðóññèôèöèðîâàë ñòóäåíò ÌÃÒÓ èì. Áàóìàíà Øåïåëü Îëåã Áîðèñîâè÷, èçâåñòíûé â Internet êàê VideoLord.) - çäåñü (0,3Ìá .rar). Ïåðåèìåíóéòå êàê-íèáóäü àíãëîÿçû÷íûé Turbo.tph äîáàâüòå âìåñòî íåãî ñêà÷àííûé è ðàñïàêîâàííûé Turbo.tph
×òîáû ïîëüçîâàòüñÿ ïîäïðîãðàììàìè, îïèñàííûìè â ìîäóëÿõ, íóæíî îçíàêîìèòüñÿ ñ çàãîëîâêàìè ýòèõ ïîäïðîãðàìì. Ïîýòîìó çäåñü ðàçìåùåíû èíòåðôåéñû íåêîòîðûõ ìîäóëåé (õîòÿ ïîëüçû îò íèõ ìàëî). Â Ëàçàðóñå òåêñòû ìîäóëåé äîñòóïíû (êàê è â Äåëôè) åñëè íàâåñòè êóðñîð íà èìÿ ìîäóëÿ (â ïðåäëîæåíèè uses), íàæàòü Ctrl à çàòåì ùåëêíóòü ïîÿâèâøóþñÿ ññûëêó. (À áåç Ctrl - âèäåí ïóòü ê ìîäóëþ íà äèñêå)
<?
//Copyright: akaghost@ua.fm
$ttbl=array("À"=>"Ð�","Á"=>"Б","Â"=>"Ð’","Ã"=>"Г","Ä"=>"Д","Å"=>"Е","¨"=>"Ð�",
"Æ"=>"Ж","Ç"=>"З","È"=>"И","É"=>"Й","Ê"=>"К","Ë"=>"Л","Ì"=>"М","Í"=>"Ð�",
"Î"=>"О","Ï"=>"П","Ð"=>"Ð ","Ñ"=>"С","Ò"=>"Т","Ó"=>"У","Ô"=>"Ф","Õ"=>"Ð¥",
"Ö"=>"Ц","×"=>"Ч","Ø"=>"Ш","Ù"=>"Щ","Ú"=>"Ъ","Û"=>"Ы","Ü"=>"Ь","Ý"=>"Ð",
"Þ"=>"Ю","ß"=>"Я","¯"=>"Ї","²"=>"І","ª"=>"Є","¡"=>"ÐŽ","à"=>"а","á"=>"б",
"â"=>"в","ã"=>"г","ä"=>"д","å"=>"е","¸"=>"Ñ‘","æ"=>"ж","ç"=>"з","è"=>"и",
"é"=>"й","ê"=>"к","ë"=>"л","ì"=>"м","í"=>"н","î"=>"о","ï"=>"п","ð"=>"Ñ€",
"ñ"=>"Ñ�","ò"=>"Ñ‚","ó"=>"у","ô"=>"Ñ„","õ"=>"Ñ…","ö"=>"ц","÷"=>"ч","ø"=>"ш",
"ù"=>"щ","ú"=>"ÑŠ","û"=>"Ñ‹","ü"=>"ÑŒ","ý"=>"Ñ�","þ"=>"ÑŽ","ÿ"=>"Ñ�","³"=>"Ñ–",
"¿"=>"Ñ—","º"=>"Ñ”","¢"=>"Ñž");
$string=join("", file("input.win"));
echo strtr($string, $ttbl);
?>
program win1251_UTF_8;
var
f1, f2: Text;
s: string;
begin
if paramcount<2 then
begin
writeln('Usage: win1251_UTF_8 infile outfile');
readln; halt(1);
end;
Assign(f1, ParamStr(1));
Reset(f1);
Assign(f2, ParamStr(2));
Rewrite(f2);
while not EOF(f1) do
begin
ReadLn(f1, s);
WriteLn(f2, AnsiToUtf8(s));
end;
Close(f1); Close(f2);
end.