ЗАПОВЕДИ.PAS
Ln 1, Col 1
{ ======================================================== }
{* ЗАПОВЕДИ.PAS - (c) 2026 *}
{ ======================================================== }

program ArticleViewer;

uses Crt, Dos;

const
  ArticleTitle = ' ЗАПОВЕДИ.PAS';
  ArticleDate = ' 01-04-2026';
  ArticleDesc = '';
  ImagePath = ' /img/borland_post_img2.png';
  TextPath = ' ЗАПОВЕДИ.PAS.TXT';

var
  F : Text;
  LineStr : string[160];
  Regs : registers;

{ -------------------------------------------------------- }
{* Процедура вывода графики *}
{ -------------------------------------------------------- }
procedure LoadAndDrawImage(FileName : string);
begin
  TextColor(10); { Green }
  WriteLn('[OK] Loading image: ' + FileName);
  { Имитация вызова прерывания BIOS для смены режима }
  Regs.AX := $0013; { 320x200x256 (VGA) }
  Intr($10, Regs);
  WriteLn('[OK] VGA Mode initialized.');
  WriteLn('[OK] Image rendered in memory.');
  { Пауза, чтобы увидеть "графику" }
  Delay(500);
  Regs.AX := $0003; { Возврат в текстовый режим }
  Intr($10, Regs);
end;

{ -------------------------------------------------------- }
{* Процедура вывода текста из файла *}
{ -------------------------------------------------------- }
procedure PrintArticle(FileName : string);
begin
  Assign(F, FileName);
  {$I-} Reset(F); {$I+}
  if IoResult <> 0 then begin
    WriteLn('[ERR] File not found: ' + FileName);
    Exit;
  end;
  
  TextColor(11); { Light Cyan }
  WriteLn('--- ' + ArticleTitle + ' (' + ArticleDate + ') ---');
  TextColor(10); { Green }
  WriteLn(ArticleDesc);
  WriteLn;
  TextColor(7); { Light Gray (основной текст) }
  
  while not Eof(F) do begin
    ReadLn(F, LineStr);
    WriteLn(LineStr);
  end;
  Close(F);
end;

{ -------------------------------------------------------- }
{* Основное тело программы *}
{ -------------------------------------------------------- }
begin
  ClrScr;
  TextColor(10);
  WriteLn('Turbo Pascal 7.0 (c) 1983-2026');
  WriteLn('System initialized. Checking data files...');
  Delay(300);

  LoadAndDrawImage(ImagePath);
  PrintArticle(TextPath);

  TextColor(14); { Yellow }
  WriteLn;
  WriteLn('[OK] End of file. Press any key to return to menu...');
  ReadKey;
end.
INS
NUM
HDD
386SX
4MB RAM
Compiling MICROBLOG.PAS...
Ready
F1Help
F2Save
F3Open
F4Clear
F5Zoom
F6Next
F7Trace
F8Step
F9Make
F10Menu
12:34:56 C:\BLOG> _ Free mem: 2,124,288 bytes
Compiling
MAIN.PAS
Compiling...
Lines: 0
Compile Status
Compile successful
Code: 0000 bytes
Data: 0000 bytes
Stack: 0000 bytes
OK
C:\BLOG\ARTICLES\> type current_post.md
Article Image

🧠 БОНУС: 10 ЗАПОВЕДЕЙ ПРОГРАММИСТА

[*] Код не работает — причина есть.

[*] Код работает — причина тоже есть.

[*] Если работает с первого раза — это магия. Магию нужно перепроверять.

[*] Кофе — это не баг, это фича.

[*] Если скрипт отработал без ошибок — значит, ты не добавил логирование ошибок.

[*] Баги не исчезают, они просто ждут...

[*]...и размножаются в пятницу вечером.

[*] Документация — это ложь, код — это правда, логи — это судья.

[*] Если что-то работает, не трогай это.

[*] Если что-то НЕ работает, тоже не трогай — вдруг это фича?


_ [EXECUTED SUCCESSFULLY]