home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2002 September
/
Chip_2002-09_cd1.bin
/
zkuste
/
delphi
/
kompon
/
d123456
/
STR_BIT.ZIP
/
32
/
test32
/
test.pas
< prev
Wrap
Pascal/Delphi Source File
|
1999-11-14
|
4KB
|
143 lines
unit test;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Spin, Strbit32, ComCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Label1bit: TLabel;
SE_Index: TSpinEdit;
Edit2: TEdit;
Label2: TLabel;
Label3: TLabel;
SE_Shg: TSpinEdit;
LabelInv: TLabel;
LabelBool: TLabel;
LabelConcat: TLabel;
LabelCopy: TLabel;
LabelPos: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
CB_Op: TComboBox;
Label17: TLabel;
Label18: TLabel;
SE_Kol: TSpinEdit;
LabelInsert: TLabel;
LabelDelate: TLabel;
LabelNomer: TLabel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
LabelSum: TLabel;
Label19: TLabel;
LabelSize: TLabel;
Label24: TLabel;
Label8: TLabel;
SEDlina: TSpinEdit;
StatusBar1: TStatusBar;
Edit1: TEdit;
LabelReplace: TLabel;
Label4: TLabel;
LabelNot: TLabel;
Label5: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ShowHint(Sender: TObject);
private
{ Private declarations }
public
Str1, Str2 : TStr_Bit;
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
Var StrProm : TStr_Bit; LenStr : integer;
begin
StrProm :=TStr_Bit.Create;
Str1.Init_Sim(Edit1.Text);
Str2.Init_Sim(Edit2.Text);
LenStr := Str1.Size; {─δΦφα ∩σ≡σ∞σφφεΘ Str1}
LabelSize.Caption := IntToStr(LenStr);
{ ╩εδΦ≈σ±≥Γε "1" ßΦ≥ Γ (Str1) }
LabelSum.Caption := IntToStr(Str1.Kol_ed);
{ ╧≡σΣ±≥αΓδσφσ Γ Σσ± ≥Φ≈φε∞ ΓΦΣσ ∩ε±δσΣεΓα≥σδⁿφε±≥Φ ßΦ≥
ΣδΦφεΘ (─δΦφα) Φτ ±≥≡εΩΦ (Str1) c ∩ετΦ÷ΦΦ (╚φΣσΩ±) }
LabelNomer.Caption := IntToStr (Str1.Nomer(SE_Index.Value, SEDlina.Value));
{ ╧εΦ±Ω ∩εΣ±≥≡εΩΦ (Str2) Γ ±≥≡εΩσ (Str1) c °απε∞ (╪απ) }
LabelPos.Caption := IntToStr (Str1.Pos(Str2, SE_Index.Value, SE_Shg.Value));
{╙±≥αφεΓΩα ßΦ≥α ∩σ≡σ∞σφφεΘ Str2 φα ∩ετΦ÷ΦΦ [╚φΣσΩ±] Γ ±ε±≥ε φΦσ "1"}
StrProm.Copy(Str2,0,LenStr);
StrProm[SE_Index.Value] := bt1;
Label1bit.Caption := StrProm.Val_sim;
{ ╚φΓσ≡≥Φ≡εΓαφΦσ ßΦ≥α ∩σ≡σ∞σφφεΘ Str2 φα ∩ετΦ÷ΦΦ [╚φΣσΩ±] }
StrProm.Copy(Str2,0,LenStr);
StrProm.InvBit(SE_Index.Value);
LabelInv.Caption := StrProm.Val_sim;
{ ┬√∩εδφσφΦσ ß≤δσΓεΘ (╬∩σ≡α÷ΦΦ) ±≥≡εΩ Str1 Φ Str2 }
StrProm.Copy(Str1,0,LenStr);
StrProm.BOOL(Str2,CB_Op.ItemIndex);
LabelBool.Caption := StrProm.Val_sim;
{ ─ε∩Φ±√ΓαφΦσ (Str2) Γ Ωεφσ÷ (Str1) }
StrProm.Copy(Str1,0,LenStr);
StrProm.Concat(Str2);
LabelConcat.Caption := StrProm.Val_sim;
{ ┬√ΣσδσφΦσ ∩εΣ±≥≡εΩΦ Φτ (Str1) c ∩ετΦ÷ΦΦ (╚φΣσΩ±) ΣδΦφεΘ (╩εδ) }
StrProm.Copy(Str1, SE_Index.Value, SE_Kol.Value);
LabelCopy.Caption := StrProm.Val_sim;
{ ┬±≥αΓΩα (Str2) Γ (Str1) φα ∩ετΦ÷ΦΦ (╚φΣσΩ±) }
StrProm.Copy(Str1,0,LenStr);
StrProm.Insert(Str2,SE_Index.Value);
LabelInsert.Caption := StrProm.Val_sim;
{ ╙ΣαδσφΦσ ∩εΣ±≥≡εΩΦ Φτ (Str1) c ∩ετΦ÷ΦΦ (╚φΣσΩ±) ΣδΦφεΘ (╩εδ) }
StrProm.Copy(Str1,0,LenStr);
StrProm.Delete(SE_Index.Value, SE_Kol.Value);
LabelDelate.Caption := StrProm.Val_sim;
{ ╟α∞σφα ßΦ≥ Φτ (Str1) φα≈Φφα c ∩ετΦ÷ΦΦ (╚φΣσΩ±) φα ßΦ≥√ (Str2) }
StrProm.Copy(Str1,0,LenStr);
StrProm.Replace(Str2, SE_Index.Value);
LabelReplace.Caption := StrProm.Val_sim;
{ ╚φΓσ≡±Φ ßΦ≥ (Str1) }
StrProm.Copy(Str1,0,LenStr);
StrProm.InvStrBit;
LabelNot.Caption := StrProm.Val_sim;
StrProm.Free;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Str1 := TStr_Bit.Create;
Str2 := TStr_Bit.Create;
Application.OnHint := ShowHint;
end;
procedure TForm1.ShowHint(Sender: TObject);
begin
StatusBar1.SimpleText := Application.Hint;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Str1.Free
end;
end.