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   
Pascal/Delphi Source File  |  1999-11-14  |  4KB  |  143 lines

  1. unit test;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, Spin, Strbit32, ComCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Button1: TButton;
  12.     Label1bit: TLabel;
  13.     SE_Index: TSpinEdit;
  14.     Edit2: TEdit;
  15.     Label2: TLabel;
  16.     Label3: TLabel;
  17.     SE_Shg: TSpinEdit;
  18.     LabelInv: TLabel;
  19.     LabelBool: TLabel;
  20.     LabelConcat: TLabel;
  21.     LabelCopy: TLabel;
  22.     LabelPos: TLabel;
  23.     Label9: TLabel;
  24.     Label10: TLabel;
  25.     Label11: TLabel;
  26.     Label12: TLabel;
  27.     Label13: TLabel;
  28.     Label14: TLabel;
  29.     Label15: TLabel;
  30.     Label16: TLabel;
  31.     CB_Op: TComboBox;
  32.     Label17: TLabel;
  33.     Label18: TLabel;
  34.     SE_Kol: TSpinEdit;
  35.     LabelInsert: TLabel;
  36.     LabelDelate: TLabel;
  37.     LabelNomer: TLabel;
  38.     Label21: TLabel;
  39.     Label22: TLabel;
  40.     Label23: TLabel;
  41.     LabelSum: TLabel;
  42.     Label19: TLabel;
  43.     LabelSize: TLabel;
  44.     Label24: TLabel;
  45.     Label8: TLabel;
  46.     SEDlina: TSpinEdit;
  47.     StatusBar1: TStatusBar;
  48.     Edit1: TEdit;
  49.     LabelReplace: TLabel;
  50.     Label4: TLabel;
  51.     LabelNot: TLabel;
  52.     Label5: TLabel;
  53.     procedure Button1Click(Sender: TObject);
  54.     procedure FormCreate(Sender: TObject);
  55.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  56.     procedure ShowHint(Sender: TObject);
  57.   private
  58.     { Private declarations }
  59.   public
  60.     Str1, Str2 : TStr_Bit;
  61.     { Public declarations }
  62.   end;
  63.  
  64. var
  65.   Form1: TForm1;
  66.  
  67. implementation
  68.  
  69. {$R *.DFM}
  70.  
  71. procedure TForm1.Button1Click(Sender: TObject);
  72. Var StrProm : TStr_Bit;           LenStr : integer;
  73. begin
  74.    StrProm :=TStr_Bit.Create;
  75.    Str1.Init_Sim(Edit1.Text);
  76.    Str2.Init_Sim(Edit2.Text);
  77.    LenStr := Str1.Size;          {─δΦφα ∩σ≡σ∞σφφεΘ Str1}
  78.    LabelSize.Caption := IntToStr(LenStr);
  79.                           { ╩εδΦ≈σ±≥Γε "1" ßΦ≥ Γ (Str1) }
  80.    LabelSum.Caption := IntToStr(Str1.Kol_ed);
  81.      { ╧≡σΣ±≥αΓδσφσ Γ Σσ± ≥Φ≈φε∞ ΓΦΣσ ∩ε±δσΣεΓα≥σδⁿφε±≥Φ ßΦ≥
  82.        ΣδΦφεΘ (─δΦφα) Φτ ±≥≡εΩΦ (Str1) c ∩ετΦ÷ΦΦ (╚φΣσΩ±)    }
  83.    LabelNomer.Caption := IntToStr (Str1.Nomer(SE_Index.Value, SEDlina.Value));
  84.      { ╧εΦ±Ω ∩εΣ±≥≡εΩΦ (Str2) Γ ±≥≡εΩσ (Str1) c °απε∞ (╪απ) }
  85.    LabelPos.Caption := IntToStr (Str1.Pos(Str2, SE_Index.Value, SE_Shg.Value));
  86.      {╙±≥αφεΓΩα ßΦ≥α ∩σ≡σ∞σφφεΘ Str2 φα ∩ετΦ÷ΦΦ [╚φΣσΩ±] Γ ±ε±≥ε φΦσ "1"}
  87.    StrProm.Copy(Str2,0,LenStr);
  88.    StrProm[SE_Index.Value] := bt1;
  89.    Label1bit.Caption := StrProm.Val_sim;
  90.      { ╚φΓσ≡≥Φ≡εΓαφΦσ ßΦ≥α ∩σ≡σ∞σφφεΘ Str2 φα ∩ετΦ÷ΦΦ [╚φΣσΩ±] }
  91.    StrProm.Copy(Str2,0,LenStr);
  92.    StrProm.InvBit(SE_Index.Value);
  93.    LabelInv.Caption := StrProm.Val_sim;
  94.      { ┬√∩εδφσφΦσ ß≤δσΓεΘ (╬∩σ≡α÷ΦΦ) ±≥≡εΩ Str1 Φ Str2 }
  95.    StrProm.Copy(Str1,0,LenStr);
  96.    StrProm.BOOL(Str2,CB_Op.ItemIndex);
  97.    LabelBool.Caption := StrProm.Val_sim;
  98.      { ─ε∩Φ±√ΓαφΦσ (Str2) Γ Ωεφσ÷ (Str1) }
  99.    StrProm.Copy(Str1,0,LenStr);
  100.    StrProm.Concat(Str2);
  101.    LabelConcat.Caption := StrProm.Val_sim;
  102.      { ┬√ΣσδσφΦσ ∩εΣ±≥≡εΩΦ Φτ (Str1) c ∩ετΦ÷ΦΦ (╚φΣσΩ±) ΣδΦφεΘ (╩εδ) }
  103.    StrProm.Copy(Str1, SE_Index.Value, SE_Kol.Value);
  104.    LabelCopy.Caption := StrProm.Val_sim;
  105.      { ┬±≥αΓΩα (Str2) Γ (Str1) φα ∩ετΦ÷ΦΦ (╚φΣσΩ±) }
  106.    StrProm.Copy(Str1,0,LenStr);
  107.    StrProm.Insert(Str2,SE_Index.Value);
  108.    LabelInsert.Caption := StrProm.Val_sim;
  109.      { ╙ΣαδσφΦσ ∩εΣ±≥≡εΩΦ Φτ (Str1) c ∩ετΦ÷ΦΦ (╚φΣσΩ±) ΣδΦφεΘ (╩εδ) }
  110.    StrProm.Copy(Str1,0,LenStr);
  111.    StrProm.Delete(SE_Index.Value, SE_Kol.Value);
  112.    LabelDelate.Caption := StrProm.Val_sim;
  113.      { ╟α∞σφα ßΦ≥  Φτ (Str1) φα≈Φφα  c ∩ετΦ÷ΦΦ (╚φΣσΩ±) φα ßΦ≥√ (Str2) }
  114.    StrProm.Copy(Str1,0,LenStr);
  115.    StrProm.Replace(Str2, SE_Index.Value);
  116.    LabelReplace.Caption := StrProm.Val_sim;
  117.      { ╚φΓσ≡±Φ  ßΦ≥  (Str1)  }
  118.    StrProm.Copy(Str1,0,LenStr);
  119.    StrProm.InvStrBit;
  120.    LabelNot.Caption := StrProm.Val_sim;
  121.  
  122.    StrProm.Free;
  123. end;
  124.  
  125. procedure TForm1.FormCreate(Sender: TObject);
  126. begin
  127.    Str1 := TStr_Bit.Create;
  128.    Str2 := TStr_Bit.Create;
  129.    Application.OnHint := ShowHint;
  130. end;
  131.  
  132. procedure TForm1.ShowHint(Sender: TObject);
  133. begin
  134.   StatusBar1.SimpleText := Application.Hint;
  135. end;
  136.  
  137. procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
  138. begin
  139.    Str1.Free
  140. end;
  141.  
  142. end.
  143.