home *** CD-ROM | disk | FTP | other *** search
- program LinPreob;
- {$F+,S-,E+,V-}
- uses
- Dos, StrBit16, HelpFile, LinPr_h, Menus, Pastools,
- Objects,dialogs, Drivers, Views, StdDlg, MsgBox, App, Memory, Editors;
- const
- WildCard : PathStr = '*.*';
- Imq_prog : PathStr =
- 'Åp«úpá¼¼á óδ»«½¡Ñ¡¿∩ ½¿¡Ñ⌐¡δσ »αÑ«íαẫóá¡¿⌐ ñó«¿τ¡«ú« »«Γ«¬á';
- HeapSize = 96 * (1024 div 16);
- Max_Razm_Bit = 720;
- Max_razm_Byte = 90;
- type
- TTVMy = object(TApplication)
- constructor Init;
- procedure InitStatusLine; Virtual;
- procedure GetEvent(var Event: TEvent); Virtual;
- function GetPalette: PPalette; Virtual;
- end;
- PinpMay = ^TinpMay;
- TinpMay = object(TInputLine)
- procedure HandleEvent(var Event:TEvent); Virtual;
- end;
- PinpZn = ^TinpZn;
- TinpZn = object(TInputLine)
- procedure HandleEvent(var Event:TEvent); Virtual;
- end;
- PinpMayKon = ^TinpMayKon;
- TinpMayKon = object(TInputLine)
- procedure HandleEvent(var Event:TEvent); Virtual;
- end;
- PMatrix = ^TMatrix;
- TMatrix = array[1..Max_Razm_Bit,1..Max_razm_Byte] of Byte;
-
- var
- Xod_vyp : PRunningLine;
- R : TRect;
- P: PView;
- D: PFileDialog; InWin : PDialog;
- T : TTVMy;
- Im_prot,
- IM_is: PathStr; { ê¼∩ ¿ßσ«ñ¡«ú« «ípáíáΓδóáѼ«ú« Σá⌐½á }
- Byte_Razm_matr,
- Razm_matr, { Paº¼Ñα¡«ßΓ∞ ¼áΓα¿µδ }
- Kol_nul_str, { î¿¡¿¼á½∞¡«Ñ ¬«½-ó« 0 ßΓ᫬ ó óδó«ñ¿¼«⌐ ¡á »ÑτáΓ∞ ¼áΓα¿µÑ}
- Sdvig_Strok, { ü¿Γ«óδ⌐ ßñó¿ú ßΓ᫬¿ »α¿ Σ«α¼¿α«óá¡¿¿ ¼áΓα¿µδ }
- Sdvig_Matr, { æñó¿ú ¼Ñªñπ ¡áτá½á¼¿ Σ«α¼¿α«óá¡¿∩ ¼áΓα¿µ }
- Rang, i, j, Razm_nul, Skor, Stup, Diag, Stroka, Stolb : integer;
- Bit_nach, { 쫼Ñα í¿Γá ¡áτá½á «íαáí«Γ¬¿ ¡á »«Γ«¬Ñ }
- Kol_iter, Bit_tek : Longint;
- ind_osh : word;
- ff: text; { öá⌐½ ªπα¡á½á ΓѬπΘÑ⌐ αáí«Γδ }
- Im : string[110]; { Åα«¼ÑªπΓ«τ¡á∩ »ÑαѼѡ¡á∩, ¿ß»«½∞ºπÑΓß∩ ñ½∩ «íÑß» F3 }
- Dlina : byte absolute Im;
- is_file: PBitFile; { êßσ«ñ¡δ⌐ í¿Γ«óδ⌐ »«Γ«¬ }
- Matrix : PMatrix;
- ClipWindow: PEditWindow;
- BitMas : array[1..Max_Razm_Bit] of byte;
-
- {$L Gauss.obj}
- Function Gauss ( m: pointer ; Rstr, N : word) : word;
- external;
-
- {$L Bybor.obj}
- Procedure Bybor(mis,mrez : pointer; Nbis,Hag,kol : word);
- external;
-
- procedure TinpMayKon.HandleEvent(var Event:TEvent);
- var ob_str : PathStr;
- DirInfo: SearchRec;
- procedure Dialog;
- begin
- D := New(PFileDialog, Init(WildCard,'éδíÑp¿ΓÑ ¿¼∩ Σá⌐½á',
- 'ê¼∩ Σá⌐½á', fdOpenButton , 100));
- if Desktop^.ExecView(D) <> cmCancel then begin
- D^.GetFileName(ob_str);
- data^ :=ob_str end;
- Dispose(D, Done);
- DrawView end;
- begin
- OB_STR := DATA^;
- if (Event.What = evKeyDown)
- and ((Event.KeyCode = kbEnter)OR (Event.KeyCode = kbTab)) then begin
- FindFirst(ob_str, Archive, DirInfo);
- if DosError <> 0 then dialog
- end
- ELSE if (Event.What = evKeyDown) { ¡áªáΓá ¬½áó¿Φá F3 }
- and (Event.KeyCode = kbF3) then dialog
- { éδípáΓ∞ ¿¼∩ Σá⌐½á ó ñ¿á½«ú«ó«¼ pѪ¿¼Ñ }
- else TInputLine.HandleEvent(Event);
- end;
-
- { çá¼Ñ¡á ßΓá¡ñápΓ¡«ú« pÑñ-pá ßΓp«¬ ¡á óδípá¡¡δ⌐ }
- { éó«ñ »«½∩ ¿¼Ñ¡¿ Σá⌐½á }
- procedure TInpMay.HandleEvent(var Event:TEvent);
- var ob_str : PathStr;
- begin
- if (Event.What = evKeyDown) { ¡áªáΓá ¬½áó¿Φá F3 }
- and (Event.KeyCode = kbF3) then begin
- { éδípáΓ∞ ¿¼∩ Σá⌐½á ó ñ¿á½«ú«ó«¼ pѪ¿¼Ñ }
- D := New(PFileDialog, Init(WildCard,'éδíÑp¿ΓÑ ¿¼∩ Σá⌐½á',
- 'ê¼∩ Σá⌐½á', fdOpenButton , 100));
- if Desktop^.ExecView(D) <> cmCancel then begin
- D^.GetFileName(ob_str);
- data^ :=ob_str end;
- Dispose(D, Done);
- DrawView end
- else TInputLine.HandleEvent(Event);
- end;
-
- { çá¼Ñ¡á ßΓá¡ñápΓ¡«ú« pÑñ-pá ßΓp«¬ ¡á óδípá¡¡δ⌐ }
- { éó«ñ »«½∩ τ¿ß½á }
- procedure TInpZn.HandleEvent(var Event:TEvent);
- begin
- if not( (Event.What = evKeyDown) and { ¡áªáΓá ¬½áó¿Φá }
- (Event.CharCode in [':'..chr(255)]) )
- then TInputLine.HandleEvent(Event);
- end;
-
- procedure TTVMy.InitStatusLine;
- { çáñá¡¿Ñ ßΓ᫬¿ ßΓáΓπßá }
- var
- R: TRect;
- begin
- GetExtent(R);
- R.A.Y := R.B.Y - 1;
- StatusLine := New(PStatusLine, Init(R,
- NewStatusDef(0, $FFFF,
- NewStatusKey('~Alt-X~ éδσ«ñ', kbAltX, cmQuit,
- NewStatusKey('~F1~ Å«¼«Θ∞', kbF1, cmHelp,
- NewStatusKey('~F2~ Save', kbF2, cmSave,
- NewStatusKey('~Alt-F3~ Close', kbAltF3, cmClose,
- NewStatusKey('~F5~ Zoom', kbF5, cmZoom, nil))))), nil)));
- end;
-
- function TTVMy.GetPalette: PPalette;
- { Ä»αÑñѽѡ¿Ñ µóÑΓá «¬«¡ }
- const
- CNewColor = CAppColor + CHelpColor;
- CNewBlackWhite = CAppBlackWhite + CHelpBlackWhite;
- CNewMonochrome = CAppMonochrome + CHelpMonochrome;
- P: array[apColor..apMonochrome] of string[Length(CNewColor)] =
- (CNewColor, CNewBlackWhite, CNewMonochrome);
- begin
- GetPalette := @P[AppPalette];
- end;
-
- procedure TTVMy.GetEvent(var Event: TEvent);
- { Åα«ß¼«Γα Σá⌐½á »«¼«Θ¿ }
- var
- W: PWindow;
- HelpFile: PHelpFile;
- HelpStrm: PDosStream;
- const
- HelpInUse: Boolean = False;
- begin
- inherited GetEvent(Event);
- if (Event.What = evCommand) and (Event.Command = cmHelp) and
- not HelpInUse then
- begin
- im := ParamStr(0); Dec(Dlina,4); im := im + '_h.hlp';
- HelpStrm := New(PDosStream, Init(im, stOpenRead));
- HelpFile := New(PHelpFile, Init(HelpStrm));
- if HelpStrm^.Status <> stOk then begin
- MessageBox('ìѽ∞º∩ «Γ¬pδΓ∞ Σá⌐½ »«¼«Θ¿', nil,mfOKButton);
- Dispose(HelpFile, Done); end
- else begin
- HelpInUse := True;
- W := New(PHelpWindow,Init(Helpfile, GetHelpCtx));
- if ValidView(W) <> nil then begin
- ExecView(W);
- Dispose(W, Done);
- end;
- HelpInUse := False; ClearEvent(Event);
- end end;
- end;
-
- constructor TTVMy.Init;
- { Äípáí«Γ¬á ¬«¼á¡ñ¡«⌐ ßΓp«¬¿ »p«úpá¼¼δ }
- { éó«ñ ¡Ññ«ßΓáεΘ¿σ »áαá¼ÑΓα«ó ó ñ¿á½«ú«ó«¼ αѪ¿¼Ñ }
- function Kom_str: Boolean;
- var i, kol,kode : integer; S, S_vn : PathStr;
- rez : Boolean;
- function Ob_par : integer;
- begin
- Val(S_vn,kol,kode);
- if (Kode <> 0) or (kol < 1) then rez := True;
- Ob_par := kol;
- end; {Ob_par}
- begin
- rez := False;
- for I := 1 to ParamCount do
- begin
- S := ParamStr(I);
- if S[1] = '/' then begin
- S_vn := Copy(S,3,length(S)-2);
- case UpCase(S[2]) of
- 'i','I': Im_is := S_vn;
- 'j','J': Im_prot := S_vn;
- 'n','N': begin Val(S_vn,Bit_nach,kode);
- if Kode <> 0 then rez := True end;
- 'r','R': Razm_matr := Ob_par;
- 'v','V': Kol_nul_str := Ob_par;
- 'm','M': Sdvig_Strok := Ob_par;
- 's','S': Sdvig_Matr := Ob_par;
- else rez := True
- end end
- else rez := True
- end;
- if rez then MessageBox('HÑ»páó¿½∞¡« ºáñá¡á ¬«¼á¡ñ¡á∩ ßΓp«¬á ',
- NIL, mfOKButton);
- Kom_str := rez;
- end; {Kom_Str}
-
- function kontr : boolean;
- { Åα«óÑα¬á ¡á½¿τ¿∩ óδíαá¡¡δσ Σá⌐½«ó ¡á ñ¿ß¬Ñ ¿ »αáó¿½∞¡«ßΓ¿ ºáñá¡¿∩ º¡áτÑ¡ }
- var Pravil : boolean;
- DirInfo: SearchRec;
- begin
- Pravil := False;
- FindFirst(im_is, Archive, DirInfo);
- if DosError <> 0 then Pravil := True;
- if (Kol_nul_str + 4) > Razm_matr then Pravil := True;
- if Razm_matr < 8 then Pravil := True;
- if Razm_matr >720 then Pravil := True;
- kontr := Pravil;
- end;
- {********************************************************}
- { Äß¡«ó¡«Ñ Γѽ« »p«úpá¼¼δ ß »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ε ñÑ⌐ßΓó¿⌐ }
- const lst = 79;
- type Datatyp = record
- m_is : string[lst];
- m_Razm_matr : string[5];
- m_Kol_nul_str : String[5];
- m_Sdvig_Strok : String[5];
- m_Sdvig_Matr : string[5];
- m_Bit_nach : String[10];
- m_prot : string;
- end;
- var Data : Datatyp; Bm_is : PinpMayKon;
- Bm_prot: PinpMay;
- Bm_Razm_matr, Bm_Kol_nul_str, Bm_Sdvig_Strok, Bm_Sdvig_Matr,
- Bm_Bit_nach : PinpZn;
- kod,kont : integer;
- { ÄíÑß»ÑτÑ¡¿Ñ ¿ß»«½∞º«óá¡¿∩ TURBO VISION 2.0 }
- begin
- MaxHeapSize := HeapSize;
- inherited Init;
- RegisterObjects;
- RegisterViews;
- RegisterMenus;
- RegisterDialogs;
- RegisterApp;
- RegisterHelpFile;
- { ÅαÑñóáα¿Γѽ∞¡«Ñ ºáñá¡¿Ñ ¡áτá½∞¡δσ º¡áτÑ¡¿⌐ »ÑαѼѡ¡δσ }
- im_prot := 'protokol.txt'; im_is := '';
- Razm_matr := 50; { Paº¼Ñα¡«ßΓ∞ ¼áΓα¿µδ }
- Kol_nul_str := 5; { î¿¡¿¼á½∞¡«Ñ ¬«½-ó« 0 ßΓ᫬ ó óδó«ñ¿¼«⌐ ¡á »ÑτáΓ∞ ¼áΓα¿µÑ}
- Sdvig_Strok := 1; { ü¿Γ«óδ⌐ ßñó¿ú ßΓ᫬¿ »α¿ Σ«α¼¿α«óá¡¿¿ ¼áΓα¿µδ }
- Sdvig_Matr:= 2000;{ æñó¿ú ¼Ñªñπ ¡áτá½á¼¿ Σ«α¼¿α«óá¡¿∩ ¼áΓα¿µ }
- Bit_nach :=0; { 쫼Ñα í¿Γá ¡áτá½á «íαáí«Γ¬¿ ¡á »«Γ«¬Ñ }
- Kont := 0;
- R.Assign(5,0,75,8); { éδó«ñ ß««íΘÑ¡¿∩ « ¡áº¡áτÑ¡¿¿ »p«úpá¼¼δ }
- if MessageBoxRect(R, #3+Imq_prog,NIL,
- mfOKButton + mfCancelButton) = cmCancel then halt(256-5);
- if Kom_Str then halt(256-1);
- while (kontr or (Im_is ='')) and (kont <> CmCancel) do
- begin { éóÑßΓ¿ »ápá¼ÑΓpδ ¡Ñ ºáñá¡¡δÑ ó ¬«¼á¡ñ¡«⌐ ßΓp«¬Ñ }
- Data.m_is := im_is;
- Data.m_prot := im_prot;
- Str ( Sdvig_Matr, Data.m_Sdvig_Matr);
- Str ( Razm_matr, Data.m_Razm_matr);
- Str ( Kol_nul_str, Data.m_Kol_nul_str);
- Str ( Bit_nach, Data.m_Bit_nach);
- STR ( Sdvig_Strok, Data.m_Sdvig_Strok);
- R.Assign(0,2,80,20);
- InWin := New(Pdialog,init(R,'ìáßΓp«⌐¬á »ápá¼ÑΓp«ó »p«úpá¼¼δ'));
- With InWin^ do begin { ö«p¼¿p«óá¡¿Ñ «¬¡á ºá»p«ßá }
- R.Assign(22,1,77,2);
- Bm_is := New(PinpMayKon,Init(R,lst));
- insert (Bm_is);
- R.Assign(1,1,17,2);
- insert (New(Plabel,Init(R,'êßσ«ñ¡δ⌐ Σá⌐½', Bm_is)));
- R.Assign(22,3,28,4);
- Bm_Razm_matr := New(PinpZn,Init(R,5));
- insert (Bm_Razm_matr);
- R.Assign(1,3,20,4);
- insert (New(Plabel,Init(R,'Éá¼Ñα¡«ßΓ∞ ¼áΓα¿µδ', Bm_Razm_matr)));
- R.Assign(70,3,77,4);
- Bm_Kol_nul_str := New(PinpZn,Init(R,5));
- insert (Bm_Kol_nul_str);
- R.Assign(41,3,68,4);
- insert (New(Plabel,Init(R,'諽¿τÑßΓó« ¡π½Ñóδσ ßΓ᫬', Bm_Kol_nul_str)));
- R.Assign(49,5,56,6);
- Bm_Sdvig_Strok := New(PinpZn,Init(R,5));
- insert (Bm_Sdvig_Strok); { Å«½Ñ 使¡δ æè }
- R.Assign(1,5,48,6);
- insert (New(Plabel,Init(R,'ü¿Γ«óδ⌐ ßñó¿ú ßΓ᫬¿ »α¿ Σ«α¼¿α«óá¡¿¿ ¼áΓα¿µδ', Bm_Sdvig_Strok)));
- R.Assign(49,7,56,8);
- Bm_Sdvig_Matr := New(PinpZn,Init(R,5));
- insert (Bm_Sdvig_Matr); { Å«½Ñ ¿¼Ñ¡¿ }
- R.Assign(1,7,48,8);
- insert (New(Plabel,Init(R,'æñó¿ú ¼Ñªñπ ¡áτá½á¼¿ Σ«α¼¿α«óá¡¿∩ ¼áΓα¿µ', Bm_Sdvig_Matr)));
- R.Assign(44,9,56,10);
- Bm_Bit_nach := New(PinpZn,Init(R,10));
- insert (Bm_Bit_nach); { Å«½Ñ ¿¼Ñ¡¿ }
- R.Assign(1,9,40,10);
- insert (New(Plabel,Init(R,'쫼Ñα í¿Γá ¡áτá½á «íαáí«Γ¬¿ ¡á »«Γ«¬Ñ', Bm_Bit_nach)));
- R.Assign(22,11,77,12);
- Bm_prot := New(PinpMay,Init(R,lst));
- insert (Bm_prot); { Å«½Ñ Σá⌐½á ß««íΘÑ¡¿⌐ }
- R.Assign(1,11,17,12);
- insert (New(Plabel,Init(R,'åπp¡á½ páí«Γδ', Bm_prot)));
- { éßΓáó¿Γ∞ ñóÑ ¬«¼á¡ñ¡δÑ ¬¡«»¬¿ }
- R.Assign(4,13,35,15);
- insert (New(PButton,
- Init(R,'Åápá¼ÑΓpδ ºáñá¡δ »páó¿½∞¡«',cmOk,bfDefault)));
- R.Assign(42,13,76,15);
- insert (New(PButton,
- Init(R,'çáóÑpΦ¿Γ∞ óδ»«½¡Ñ¡¿Ñ »p«úpá¼¼δ',cmCancel,bfNormal)));
- R.Assign(1,16,78,17);
- insert (New(PStaticText,
- Init(R,#3+'~F3~ óδípáΓ∞ Σá⌐½ ¿º ßπΘÑßΓóπεΘ¿σ')));
- SelectNext(False); { Ç¬Γ¿ó¿º¿p«óáΓ∞ »Ñpóπε ¬¡«»¬π }
- end; { ¬«¡Ñµ Σ-∩ «¬¡á }
- InWin^.SetData(Data); { éδ»«½¡Ñ¡¿Ñ óó«ñá ¿ßσ«ñ¡δσ »ápá¼ÑΓp«ó }
- Kont := DeskTop^.ExecView(InWin);
- Im_is := Bm_is^.data^;
- im_prot := Bm_prot^.data^;
- Val(Bm_Sdvig_Matr^.Data^, Sdvig_Matr, kod);
- Val(Bm_Kol_nul_str^.Data^, Kol_nul_str, kod);
- Val(Bm_Sdvig_Strok^.Data^, Sdvig_Strok, kod);
- Val(Bm_Bit_nach^.Data^, Bit_nach, kod);
- Val(Bm_Razm_matr^.Data^, Razm_matr, kod);
- Dispose(InWin, Done);
- end;
- If Kont = CmCancel then begin
- T.Done; halt(256-5) end;
- assign (ff,im_prot);
- {$I-}
- Append(ff);
- {$I+}
- if IOResult <> 0 then Rewrite(ff);
- Writeln(Ff,'');
- Writeln(Ff,Imq_prog);
- Writeln(Ff,'ÄíαáíáΓδóáÑΓß∩ Σá⌐½ ',Im_is);
- Writeln(Ff,'쫼Ñα í¿Γá ¡áτá½á «íαáí«Γ¬¿ ¡á »«Γ«¬Ñ = ',Bit_nach);
- Writeln(Ff,'PẼÑα¡«ßΓ∞ ¼áΓα¿µδ = ',Razm_matr);
- Writeln(Ff,'î¿¡¿¼á½∞¡«Ñ ¬«½-ó« 0 ßΓ᫬ ó óδó«ñ¿¼«⌐ ¡á »ÑτáΓ∞ ¼áΓα¿µÑ = ',Kol_nul_str);
- Writeln(Ff,'ü¿Γ«óδ⌐ ßñó¿ú ßΓ᫬¿ »α¿ Σ«α¼¿α«óá¡¿¿ ¼áΓα¿µδ = ',Sdvig_Strok);
- Writeln(Ff,'æñó¿ú ¼Ñªñπ ¡áτá½á¼¿ Σ«α¼¿α«óá¡¿∩ ¼áΓα¿µ = ',Sdvig_Matr);
- {*********************************************************}
- {* Äíαáí«Γ¬á ºáñá¡¡δσ Σá⌐½«ó *}
- {*********************************************************}
- { ê¡¿µ¿á½¿ºáµ¿∩ í¿Γ«óδσ »ÑαѼѡ¡δσ }
- Kol_iter := 0; Skor := 10000 div Razm_matr +1;
- Byte_Razm_matr := ( Razm_matr + 7 ) div 8;
- Razm_nul := Razm_matr - Kol_nul_str;
- GetMem(Matrix, (Max_razm_Byte*Max_Razm_Bit));
-
- is_file := New(PBitFile,Init(Max_Razm_Bit,4096));
- if is_file^.OpenBitFile(im_is,btOpenRead) <> btOk Then Exit;
- New(Xod_vyp,Init('Äíαáí«Γ¬á Σá⌐½á',
- is_file^.SizeOfFile,rlFullInf));
- {****** éδ»«½¡Ñ¡¿Ñ óδτ¿ß½Ñ¡¿⌐ ¿ ¡á¬«»½Ñ¡¿Ñ αѺπ½∞ΓáΓ«ó ******}
- repeat
- inc(Kol_iter);
- if (Kol_iter mod Skor) = 0 then Xod_vyp^.StatusDisplay( Bit_nach );
- Bit_tek := Bit_nach;
- for i := 1 to Razm_matr do begin { Σ«α¼¿α«óá¡¿Ñ ¼áΓα¿µδ }
- is_file^.SeekStr(Bit_tek);
- ind_osh := is_file^.ReadStr(Razm_matr);
- is_file^.Val_Array ( Matrix^[i,1], Byte_Razm_matr );
- inc(Bit_tek, Sdvig_Strok)
- end;
- Rang := Gauss(Matrix,Max_razm_Byte,Razm_matr);
- if (Rang <= Razm_nul) and (ind_osh = btOk) then
- begin { éδó«ñ αѺπ½∞ΓáΓ«ó }
- Writeln(ff,'îáΓα¿µá αá¡úá ',Rang,' ¡áτ¿¡áÑΓß∩ ß í¿Γá ', Bit_nach);
- {Éáºí«α »«½πτÑ¡¡«⌐ ¼áΓα¿µδ (ñ½∩ »ÑτáΓ¿)}
- Stup := 0; Diag := 0;
- Stroka := 1; Stolb := 0;
- while Stolb < Razm_matr do begin {µ¿¬½ »« ßΓ᫬á¼}
- if RBit(@Matrix^[Stroka,1],Stolb) = 0
- then begin
- Writeln(ff,Stup:6,Diag:8,Stroka:8);
- Stup := 0; Diag := 0;
- while (Stolb < Razm_matr) and
- (RBit(@Matrix^[Stroka,1],Stolb) = 0) do
- begin {µ¿¬½ »« ßΓ«½íµá¼}
- inc(Stup);
- Write(ff,STUP:2,' ');
- Bybor(Matrix,@BitMas, Stolb, Max_Razm_Bit, Stroka);
- for j := 1 to Stroka do
- if (j mod 100) = 0 then begin
- write(ff,BitMas[j]); Writeln(ff,''); write(ff,' *');
- end
- else write(ff,BitMas[j]);
- inc(Stolb); Writeln(ff,'');
- end; {µ¿¬½á »« ßΓ«½íµá¼}
- end;
- inc(Diag); inc(Stolb); inc(Stroka);
- end; { µ¿¬½á »« ßΓα«¬á¼ }
- end;
- inc(Bit_nach,Sdvig_Matr);
- until (ind_osh <> btOk);
- Writeln(ff,'Äíαáí«Γá¡« ', Kol_iter, ' ¼áΓα¿µ');
- Dispose(Xod_vyp,Done);
- is_file^.CloseBitFile;
- Dispose(is_file,Done);
- FreeMem(Matrix, (Max_razm_Byte*Max_Razm_Bit));
- Close(ff);
- DeskTop^.GetExtent(R);
- P := Application^.ValidView(New(PEditWindow,
- Init(R, im_prot, wnNoNumber)));
- DeskTop^.Insert(P);
- ClipWindow := PEditWindow(P);
- end;
-
- begin
- T.init;
- T.Run;
- T.Done;
- end.
-