home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2002 September
/
Chip_2002-09_cd1.bin
/
zkuste
/
delphi
/
kompon
/
d123456
/
STR_BIT.ZIP
/
16
/
HUFFMAN
/
Huff.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
2000-03-09
|
6KB
|
159 lines
program Demo; {ä½∩ óÑαß¿¿ 7.0}
{$F+}
uses Dos, HelpFile, Menus, xaf_hlp,
Objects, dialogs, Drivers, Views, StdDlg, MsgBox, App;
const
S_vs : string = 'Γp«¬á ó¿ñÑ«¿º«ípáªÑ¡¿∩';
S_ks : string = '«ñ¿p«óá¡¡á∩ ßΓp«¬á';
Pre_Vi_X : string= 'ÅpÑ«ípẫóá¡¿Ñ ßΓp«¬¿ ó¿ñÑ«¿º«ípáªÑ¡¿∩ ó ¬«ñ òáΣΣ¼Ñ¡á';
Pre_X_Vi : string= 'ÅpÑ«ípẫóá¡¿Ñ ¬«ña òáΣΣ¼Ñ¡á ó ßΓp«¬π ó¿ñÑ«¿º«ípáªÑ¡¿∩';
Lst = 40;
type
TTVMy = object(TApplication)
constructor Init;
procedure Run; Virtual;
procedure InitStatusLine; Virtual;
procedure GetEvent(var Event: TEvent); Virtual;
function GetPalette: PPalette; Virtual;
end;
var R : TRect; D: PFileDialog; InWin : PDialog;
IM_r : PathStr; { ê¼∩ Σá⌐½á }
is_d, kod_d : string; ind_pr,kont : word;
T : TTVMy;
function TTVMy.GetPalette: PPalette; { ôßΓá¡«ó¬á µóÑΓ«ó«⌐ »á½¿Γpδ }
const CNewColor = CAppColor + CHelpColor;
CNewBlackWhite = CBlackWhite + CHelpBlackWhite;
CNewMonochrome = CMonochrome + CHelpMonochrome;
P: array[apColor..apMonochrome] of string[Length(CNewColor)] =
(CNewColor, CNewBlackWhite, CNewMonochrome);
begin
GetPalette := @P[AppPalette];
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('~F1~ Å«¼«Θ∞', kbF1, cmHelp,
NewStatusKey('~F5~ Zoom', kbF5, cmZoom, nil)), nil)));
end;
procedure TTVMy.GetEvent(var Event: TEvent);
{ ÄíÑß»ÑτÑ¡¿Ñ »p«úpá¼¼δ ¬«¡ΓѬßΓ¡«⌐ »«ñ߬Ậ«⌐ }
const HelpInUse: Boolean = False;
var W: PWindow;
HelpFile: PHelpFile;
HelpStrm: PDosStream;
begin
TApplication.GetEvent(Event);
if (Event.What = evCommand) and (Event.Command = cmHelp) and not HelpInUse
then begin
HelpStrm := New(PDosStream, Init('XAF_HLP.HLP', stOpenRead));
HelpFile := New(PHelpFile, Init(HelpStrm));
{ éδó«ñ »«¼«Θ¿ «»ÑpáΓ«pπ ó ñ¿á½«ú«ó«¼ pѪ¿¼Ñ }
HelpInUse := True;
W := New(PHelpWindow,Init(HelpFile, GetHelpCtx));
if ValidView(W) <> nil then begin
kont := DeskTop^.ExecView(W);
Dispose(W, Done);
{ çáóÑpΦ¿Γ∞ ñ¿á½«ú ß «»ÑpáΓ«p«¼ }
HelpInUse := False; ClearEvent(Event);
end end end;
constructor TTVMy.Init;
begin
inherited Init;
RegisterObjects;
RegisterDialogs;
RegisterStdDlg;
RegisterHelpFile;
end;
procedure TTVMy.Run;
type Datatyp = record
is : string[lst]; { 1 æΓp«¬á }
kr : string[lst]; { 2 ßΓ᫬á }
knop : word; { çáó¿ß¿¼δÑ ¬¡«»¬¿ }
end;
const Data : Datatyp = ( { ìáτá½∞¡δÑ »ápá¼ÑΓpδ ñ¿á½«úá }
is : ''; kr : '';
knop : 0); { ÅÑpóá∩ ¬¡«»¬á }
var Bm_is,Bm_r: PInputLine; { æΓp«¬¿ óó«ñá í¿Γ«óδσ º¡áτÑ¡¿⌐ }
Rb : PRadioButtons; { çáó¿ß¿¼δÑ ¬¡«»¬¿ }
{*************************************************}
{ Äß¡«ó¡«Ñ Γѽ« »«ñ»p«úpá¼¼δ ñ¿á½«úá ß «»ÑpáΓ«p«¼ }
begin
{ éδípáΓ∞ Σá⌐½ ó ñ¿á½«ú«ó«¼ pѪ¿¼Ñ. ê¼∩ óδíαá¡¡«ú« Σá⌐½á ó IM_r }
D := New(PFileDialog, Init('*.*', 'éóÑñ¿ΓÑ ¿¼∩ Σá⌐½á »p«Γ«¬«½á pѺπ½∞ΓáΓ«ó',
'ê¼∩ Σá⌐½á', fdOpenButton , 100));
if Desktop^.ExecView(D) <> cmCancel then D^.GetFileName(IM_r);
Dispose(D, Done);
repeat {WWWWWWWWWWW}
R.Assign(0,2,80,21); { ÉẼÑpδ «¬¡á ñ¿á½«úá }
InWin := New(Pdialog,init(R,'ÅpÑ«ípẫóá¡¿Ñ ß¿ú¡á½«ó'));
With InWin^ do begin { ö«p¼¿p«óá¡¿Ñ «¬¡á ºá»p«ßá }
R.Assign(2,2,75,3); { »«½Ñ ñ½∩ óó«ñ¿¼«ú« µ¿Σp«ó«ú« ¿º«ípáªÑ¡¿∩ }
Bm_is := New(PinputLine,Init(R,lst));
insert (Bm_is); { Å«½Ñ ¿¼Ñ¡¿ }
R.Assign(5,1,47,2); { éßΓáó¿Γ∞ ¼ÑΓ¬π ßΓp«¬¿ }
insert (New(Plabel,Init(R,'~C~'+S_vs, Bm_is)));
R.Assign(76,2,78,3); { éßΓáó¿Γ∞ ß»¿ß«¬ óó«ñá }
insert (New(PHistory,Init(R, Bm_is,0)));
{ ------------------------------------------- }
R.Assign(2,6,75,7); Bm_r := New(PinputLine,Init(R,lst));
insert (Bm_r); { Å«½Ñ ¿¼Ñ¡¿ }
R.Assign(5,5,47,6);
insert (New(Plabel,Init(R,'~K~'+S_ks, Bm_r)));
{ éßΓáó¿Γ∞ ºáó¿ß¿¼δÑ ¬¡«»¬¿ π»páó½Ñ¡¿∩ pѪ¿¼«¼ »pÑ«íp-∩ }
R.Assign(2,11,79,15);
Rb := New(PRadioButtons,Init(R, NewSItem(Pre_Vi_X, NewSItem(Pre_X_Vi,NIL))));
insert (Rb); { éßΓáó¿Γ∞ ºáó¿ß¿¼δÑ ¬¡«»¬¿ }
R.Assign(2,10,79,11); { éßΓáó¿Γ∞ ¼ÑΓ¬π ¬¡«»«¬ }
insert (New(Plabel,Init(R,'~M~ÑΓ«ñ »pÑ«ípẫóá¡¿∩', Rb)));
{ éßΓáó¿Γ∞ ñóÑ ¬«¼á¡ñ¡δÑ ¬¡«»¬¿ }
R.Assign(4,16,35,18);
insert (New(PButton, Init(R,'éδ»«½¡¿Γ∞ »pÑ«ípẫóá¡¿Ñ',cmOk,bfDefault)));
{ »«ß½Ññ¡∩∩ óßΓáó½∩Ѽá∩ ¬¡«»¬á á¬Γ¿ó¿º¿pπÑΓß∩ }
R.Assign(42,16,76,18);
insert (New(PButton, Init(R,'çáóÑpΦ¿Γ∞ óδ»«½¡Ñ¡¿Ñ',cmCancel,bfNormal)));
Data.is := IM_r; SetData(Data) { ôßΓá¡«ó¿Γ∞ ¡áτá½∞¡δÑ º¡áτÑ¡¿∩ }
end; {WWWWWWW ¬«¡Ñµ Σ-∩ «¬¡á }
kont := DeskTop^.ExecView(InWin); { Å«¼ÑßΓ¿Γ∞ «¬¡« ¡á φ¬pá¡ }
InWin^.GetData(Data); { Å«½πτ¿Γ∞ ¡«óδÑ º¡áτÑ¡¿∩ }
with Data do begin { Å«½πτÑ¡¿Ñ óóÑñÑ¡¡δσ ñá¡¡δσ }
is_d := is; ind_pr := knop end;
Data.kr := Is_d; { Å«½πτÑ¡¿Ñ »pÑ«ípáº. ñá¡¡δσ }
Dispose(InWin, Done);
until kont = cmCancel;
end; {TTVMy.Run}
begin T.init; T.run; T.Done end.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
.topic Xaff
Åα¿ ¬«ñ¿α«óá¡¿¿ ß ¿ß»«½∞º«ó᡿Ѽ ¼«ñ¿Σ¿µ¿α«óá¡¡«ú« ¬«ñá òáΣΣ¼á¡á
¬áªñ«⌐ ñ½¿¡Ñ ßÑα¿¿ ¿ßσ«ñ¡«ú« ó¿ñÑ«¿º«íαáªÑ¡¿∩ ßΓáó¿Γß∩ ó ß««ΓóÑΓßΓó¿Ñ
¬«ñ«óá∩ ¬«¼í¿¡áµ¿∩, ñ½¿¡á ¬«Γ«α«⌐ ºáó¿ß¿Γ «Γ τáßΓ«Γδ »«∩ó½Ñ¡¿∩ ñá¡¡«⌐
¬«¼í¿¡áµ¿¿ ó ß««íΘÑ¡¿¿. àß½¿ ñ½¿¡á ßÑα¿¿ "1" ¿½¿ "0" »αÑóδΦáÑΓ 63 í¿Γá,
Γ« ñ½¿¡á ß««íΘÑ¡¿∩ ¬«ñ¿απÑΓß∩ ñóπ¼∩ ¬«¼í¿¡áµ¿∩¼¿: ß¡áτá½á ¡áτá½∞¡«⌐
¬«¼í¿¡áµ¿Ñ⌐, á »«Γ«¼ ºáóÑαΦáεΘÑ⌐.
{â½áó¡«Ñ ¼Ñ¡ε:NoContext}
.topic OKR_prog
1. ÇÅÅÇÉÇÆìÄà ÄèÉôåàìêà
Æ¿» ¥éî - ß«ó¼ÑßΓ¿¼δÑ ß IBM PC XT/AT, PS2.
Æ¿» ¬½áó¿áΓπαδ - ßΓá¡ñáαΓ¡á∩ IBM PC ( 10 Σπ¡¬µ¿«¡á½∞¡δσ ¬½áó¿Φ ).
Æ¿» ó¿ñÑ«¬«¡Γα«½½Ñαá - »p«¿ºó«½∞¡δ⌐.
{â½áó¡«Ñ ¼Ñ¡ε:NoContext}
.topic NoContext=0
Åp«úpá¼¼á ¡á»¿ßá¡á ñ½∩ ñѼ«¡ßΓpᵿ¿ »p«µÑßß«ó ¬«ñ¿p«óá¡¿∩/ ñѬ«ñ¿p«óá¡¿∩
Σá¬ß¿¼¿½∞¡δσ ß««íΘÑ¡¿⌐ ß ¿ß»«½∞º«ó᡿Ѽ ¬«ñ«ó:
{òáΣΣ¼á¡á:Xaff}
{ÆαÑí«óá¡¿∩ ¬ »α«úαá¼¼Ñ ¿ á»»áαáΓπα«¼π «¬απªÑ¡¿ε:OKR_prog}