Advertisement
Gray1Wanderer

unit1

May 25th, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.98 KB | None | 0 0
  1. unit Unit1;
  2.  
  3. {$mode objfpc}{$H+}
  4.  
  5. interface
  6.  
  7. uses
  8.   Classes, SysUtils, Forms, Controls, Graphics, Dialogs, Menus, Grids, Unit3, Unit2,
  9.   StdCtrls;
  10.  
  11. type
  12.  
  13.   { TForm1 }
  14.  
  15.   TForm1 = class(TForm)
  16.     Add: TButton;
  17.     INFO: TButton;
  18.     Del: TButton;
  19.     Edit1: TEdit;
  20.     NEd: TEdit;
  21.     MEd: TEdit;
  22.     Razmer: TButton;
  23.     MainMenu1: TMainMenu;
  24.     MenuItem1: TMenuItem;
  25.     Open: TMenuItem;
  26.     Save: TMenuItem;
  27.     OpD: TOpenDialog;
  28.     Grid: TStringGrid;
  29.     Grid1: TStringGrid;
  30.     SvD: TSaveDialog;
  31.     procedure AddClick(Sender: TObject);
  32.     procedure DelClick(Sender: TObject);
  33.     procedure FormCreate(Sender: TObject);
  34.     procedure INFOClick(Sender: TObject);
  35.     procedure OpenClick(Sender: TObject);
  36.     procedure RazmerClick(Sender: TObject);
  37.     procedure SaveClick(Sender: TObject);
  38.   private
  39.  
  40.   public
  41.     fname:string[50];
  42.   end;
  43.  
  44. var
  45.   Form1: TForm1;
  46.  
  47. implementation
  48.  
  49. {$R *.lfm}
  50.  
  51. { TForm1 }
  52.  
  53. procedure TForm1.OpenClick(Sender: TObject);
  54. var tmp: zap;
  55.     f:tfile;
  56.     i,k:integer;
  57. begin
  58.   i:=1;
  59.   if opd.Execute and fileexists(opd.FileName) then
  60.   begin
  61.     fname:=opd.FileName;
  62.     assignfile(f,fname);
  63.     reset(f);
  64.     grid.clean;
  65.     while not eof(f) do
  66.     begin
  67.      read(f,tmp);
  68.      grid.RowCount:=i+1;
  69.      grid.cells[1,i]:=inttostr(tmp.nom);
  70.      grid.cells[2,i]:=tmp.ost;
  71.      grid.cells[3,i]:=inttostr(tmp.mest);
  72.      inc(i);
  73.     end;
  74.   end;
  75.   grid.cells[1,0]:='Nomer';
  76.   grid.cells[2,0]:='Ostanovki';
  77.   grid.cells[3,0]:='Mesta';
  78.   closefile(f);
  79. end;
  80.  
  81. procedure TForm1.razmerClick(Sender: TObject);
  82. var k: integer;
  83. begin
  84.  if trystrtoint(edit1.text,k) then
  85.  grid.rowcount:=k+1;
  86. end;
  87.  
  88. procedure TForm1.FormCreate(Sender: TObject);
  89. begin
  90.  
  91. end;
  92.  
  93. procedure TForm1.INFOClick(Sender: TObject);
  94. var tmp,str,ll:string;
  95.     i,j,n,k: integer;
  96. begin
  97.   if TryStrToInt(NEd.Text,k) then
  98.   n:=k;
  99.   for i:=1 to grid.RowCount-1 do
  100.   begin
  101.   tmp:=grid.Cells[2,i];
  102.   obrab(tmp);
  103.    while length(tmp)<>0 do
  104.    begin
  105.      j:=pos(' ',tmp);
  106.      str:=copy(tmp,1,j-1);
  107.      delete(tmp,1,j);
  108.      TryStrToInt(grid.Cells[3,i],k);
  109.      ll:=med.text;
  110.      if (ll=str) and (n<k) then
  111.      begin
  112.        grid1.Cells[1,i]:=grid.Cells[1,i];
  113.        grid1.Cells[2,i]:=grid.Cells[2,i];
  114.        grid1.Cells[3,i]:=grid.Cells[3,i];
  115.      end;
  116.    end;
  117.   end;
  118. end;
  119.  
  120. procedure TForm1.AddClick(Sender: TObject);
  121. begin
  122.  
  123. end;
  124.  
  125. procedure TForm1.DelClick(Sender: TObject);
  126. var n:integer;
  127. begin
  128.   if Opd.execute and fileexists(opd.filename) then
  129.       DeleteZap(opd.filename);
  130. end;
  131.  
  132.  
  133. procedure TForm1.SaveClick(Sender: TObject);
  134. var f:tfile;
  135.     tmp:zap;
  136.     i,k:integer;
  137. begin
  138.   if svd.Execute then
  139.   begin
  140.     assignfile(f,svd.FileName);
  141.     rewrite(f);
  142.     for i:=1 to grid.RowCount-1 do
  143.     begin
  144.      if trystrtoint(grid.Cells[1,i],k) then
  145.      tmp.nom:=k;
  146.      tmp.ost:=grid.Cells[2,i];
  147.      if trystrtoint(grid.Cells[3,i],k) then
  148.      tmp.mest:=k;
  149.      write(f,tmp);
  150.     end;
  151.     closefile(f);
  152.   end;
  153. end;
  154.  
  155. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement