MadCortez

Untitled

Nov 10th, 2021
319
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 5.20 KB | None | 0 0
  1. unit Unit2;
  2.  
  3. interface
  4.  
  5. uses
  6.   Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  7.   Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.StdCtrls;
  8.  
  9. type
  10.   TForm2 = class(TForm)
  11.     TreeView1: TTreeView;
  12.     NewTermin: TButton;
  13.     NewSubTermin: TButton;
  14.     Label1: TLabel;
  15.     Edit1: TEdit;
  16.     Label2: TLabel;
  17.     Edit2: TEdit;
  18.     AddBt: TButton;
  19.     Button1: TButton;
  20.     Button2: TButton;
  21.     Button3: TButton;
  22.     Button4: TButton;
  23.     Button5: TButton;
  24.     procedure AddBtClick(Sender: TObject);
  25.     procedure NewTerminClick(Sender: TObject);
  26.     procedure NewSubTerminClick(Sender: TObject);
  27.     procedure Button1Click(Sender: TObject);
  28.     procedure Button2Click(Sender: TObject);
  29.     procedure Button3Click(Sender: TObject);
  30.     procedure Button4Click(Sender: TObject);
  31.     procedure Button5Click(Sender: TObject);
  32.   private
  33.     { Private declarations }
  34.   public
  35.     { Public declarations }
  36.   end;
  37.  
  38. var
  39.   Form2: TForm2;
  40.   Flag, n, m, kk, kkk: Integer;
  41.   hash: array[1..10000] of String;
  42.  
  43. implementation
  44.  
  45. {$R *.dfm}
  46.  
  47. procedure TForm2.AddBtClick(Sender: TObject);
  48. var
  49.    Find: TTreeNode;
  50.    i, j, key: Integer;
  51.    FindFlag: Boolean;
  52.    arr: array[1..100] of integer;
  53.    S: String;
  54. begin
  55.    if Flag = 1 then
  56.    begin
  57.       TreeView1.Items.Add(nil, Edit1.Text);
  58.       S := Edit1.Text;
  59.  
  60.       for i := 1 to length(s) do
  61.          key := key + ord(s[i]);
  62.       key := key mod 10000;
  63.       hash[key] := S;
  64.  
  65.       TreeView1.Items.AddChild(TreeView1.Items.Item[n], 'Страница: ' + Edit2.Text);
  66.       Inc(n, 2);
  67.       Edit1.Visible := False;
  68.       Label1.Visible := False;
  69.       AddBt.Visible := False;
  70.    end;
  71.    if Flag = 2 then
  72.    begin
  73.       TreeView1.Items.AddChild(TreeView1.Selected, Edit1.Text);
  74.       Find := TreeView1.Selected.GetLastChild;
  75.       m := 0;
  76.       While TreeView1.Items.Item[m] <> Find Do
  77.          Inc(m);
  78.       TreeView1.Items.AddChild(TreeView1.Items.Item[m], 'Страница: ' + Edit2.Text);
  79.       Inc(n, 2);
  80.       Edit1.Visible := False;
  81.       Label1.Visible := False;
  82.       AddBt.Visible := False;
  83.    end;
  84.    if Flag = 3 then
  85.    begin
  86.       TreeView1.Selected.Text := Edit1.Text;
  87.       if TreeView1.Selected.getFirstChild.Text[1] = 'С' then
  88.          TreeView1.Selected.getFirstChild.Text := 'Страница: ' + Edit2.Text
  89.       else
  90.          TreeView1.Selected.getLastChild.Text := 'Страница: ' + Edit2.Text;
  91.       Edit1.Visible := False;
  92.       Label1.Visible := False;
  93.       AddBt.Visible := False;
  94.    end;
  95.    if Flag = 4 then
  96.    begin
  97.       FindFlag := False;
  98.       for i := kkk to TreeView1.Items.Count - 1 do
  99.          if TreeView1.Items.Item[i].Text = Edit1.Text then
  100.          begin
  101.             kkk := i + 1;
  102.             TreeView1.Items.Item[i].Parent.Selected := True;
  103.             TreeView1.SetFocus;
  104.             FindFlag := True;
  105.             break;
  106.          end;
  107.       if not(FindFlag) then
  108.       begin
  109.          MessageDlg('Подтермин не найден', mtError, [mbOK], 0);
  110.          kkk := 0;
  111.          Edit1.Visible := False;
  112.          Label1.Visible := False;
  113.          AddBt.Visible := False;
  114.          AddBt.Caption := 'Добавить';
  115.       end;
  116.    end;
  117.    if Flag = 5 then
  118.    begin
  119.       FindFlag := False;
  120.       for i := kk to TreeView1.Items.Count - 1 do
  121.          if TreeView1.Items.Item[i].Text = Edit1.Text then
  122.          begin
  123.             kk := i + 1;
  124.             TreeView1.Items.Item[i].Selected := True;
  125.             TreeView1.SetFocus;
  126.             FindFlag := True;
  127.             break;
  128.          end;
  129.       if not(FindFlag) then
  130.       begin
  131.          MessageDlg('Термин не найден', mtError, [mbOK], 0);
  132.          kk := 0;
  133.          Edit1.Visible := False;
  134.          Label1.Visible := False;
  135.          AddBt.Visible := False;
  136.          AddBt.Caption := 'Добавить';
  137.       end;
  138.    end;
  139.    Label2.Visible := False;
  140.    Edit2.Visible := False;
  141.    Edit2.Text := '';
  142. end;
  143.  
  144. procedure TForm2.Button1Click(Sender: TObject);
  145. begin
  146.    TreeView1.Selected.Delete;
  147. end;
  148.  
  149. procedure TForm2.Button2Click(Sender: TObject);
  150. begin
  151.    Flag := 3;
  152.    AddBt.Caption := 'Изменить';
  153.    Label1.Visible := True;
  154.    Label2.Visible := True;
  155.    Edit1.Visible := True;
  156.    Edit2.Visible := True;
  157.    AddBt.Visible := True;
  158. end;
  159.  
  160. procedure TForm2.Button3Click(Sender: TObject);
  161. begin
  162.    TreeView1.AlphaSort;
  163. end;
  164.  
  165. procedure TForm2.Button4Click(Sender: TObject);
  166. begin
  167.    Flag := 4;
  168.    AddBt.Caption := 'Найти';
  169.    Label1.Visible := True;
  170.    Edit1.Visible := True;
  171.    AddBt.Visible := True;
  172. end;
  173.  
  174. procedure TForm2.Button5Click(Sender: TObject);
  175. begin
  176.    Flag := 5;
  177.    AddBt.Caption := 'Найти';
  178.    Label1.Visible := True;
  179.    Edit1.Visible := True;
  180.    AddBt.Visible := True;
  181. end;
  182.  
  183. procedure TForm2.NewSubTerminClick(Sender: TObject);
  184. begin
  185.    Flag := 2;
  186.    Label1.Visible := True;
  187.    Label2.Visible := True;
  188.    Edit1.Visible := True;
  189.    Edit2.Visible := True;
  190.    AddBt.Visible := True;
  191. end;
  192.  
  193. procedure TForm2.NewTerminClick(Sender: TObject);
  194. begin
  195.    Flag := 1;
  196.    Label1.Visible := True;
  197.    Label2.Visible := True;
  198.    Edit1.Visible := True;
  199.    Edit2.Visible := True;
  200.    AddBt.Visible := True;
  201. end;
  202.  
  203. end.
Add Comment
Please, Sign In to add comment