четвер, 28 серпня 2014 р.

Превращение Book1V.Pas в Unit. (змінні у процедурі)

Превращение Book1V.Pas в Unit.
Перетворення Book1V.Pas у Unit.
Ключевые слова выделено красным цветом. В Турбо Паскале(существует также Free Паскаль (для пользователей Линукс особенно) и другие разновидности) (по умолчанию) они (как правило) выделяются белым цветом на синем фоне (комментарии - серым, а математические операции с командами и многое другое - желтым цветом на синем фоне).
Ключові слова виділено червоним кольором.

Зеленым цветом выделено определение процедуры Book1V_run (в т.ч. определение в интерфейсной части модуля). Превращение Book1V.Pas в Unit - передача функций Book1V.Pas (как Program) процедуре Book1V_run. Обращение к Book1V.Pas определенным образом копирует функции и исполнение программы (Program) Book1V.Pas (Book1V.Pas как программы).
Зеленим кольором виділено означення процедури Book1V_run у інтерфейсній частині. Звернення до цієї процедури (певним чином) еквівалентно виконанню Book1V.Pas (як програми Program).
Оголошення змінних в процедурі виділено сірим кольором.
Переменные (точнее - блок после Var) в процедуре выделено серым цветом.


Unit BOOK1V;
{ Nikita Beloshenko (GNU) 2014 }
{ for NBPrg40 (Nikita Beloshenko (GNU)) }
Interface
Procedure Book1V_run;
Implementation
Uses BMem,Crt;

Procedure Book1V_run;
Const
  BookF = 'BookF.txt';
Label
  ReadBMem_MODE,
  START;
Var
  b : Byte;
  t : Text;
  i : Byte;
Begin
  ClrScr;
  Assign(t,BookF);
  Reset(t); i:=0;
  While Not(eof(t)) Do
  Begin
    Inc(i);
    ReadLn(t,ResultOrIn);
    WriteLn(i,' ',ResultOrIn);
    ReadLn;
    If i<BMem_MAX Then BMem_Memmory[i] := ResultOrIn;
  End;
  Close(t);
START :
ReadBMem_MODE :

  WriteLn('BMem_MODE(0..1)?:');
  ReadLn(b);
  If b=0 Then BMem_Mode := false;
  If b=1 Then BMem_Mode := true;
  If (Not(b=0)) And (Not(b=1)) Then Goto ReadBMem_MODE;
  WriteLn('BMem_Addr?:');
  ReadLn(BMem_Addr);
  If BMem_Mode Then
  Begin
    WriteLn('ResultOrIn?');
    ReadLn(ResultOrIn);
    BMem_run;
    If(BMem_Error) Then WriteLn('ERROR.');
  End Else
  Begin
    BMem_run;
    If(BMem_Error) Then
    Begin
      WriteLn('ERROR');
    End Else
    Begin
      WriteLn('ResultOrIn');
      WriteLn(ResultOrIn);
    End;
  End;
  WriteLn('START(0..1)?:');
  ReadLn(b);
  If b=1 Then Goto START;
  Assign(t,BookF);
  ReWrite(t);
  For i:=1 To BMem_MAX Do
  Begin
    WriteLn(t,BMem_Memmory[i]);
  End;
  Close(t);
End;
End.

Cм. также :
Превращение Book1V.Pas в Unit.

Немає коментарів:

Дописати коментар