⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.~pas

📁 利用delphi 开发了有关激光测距的程序
💻 ~PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;

type
  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    OpenDialog1: TOpenDialog;
    Edit1: TEdit;
    Label1: TLabel;
    Edit2: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Edit3: TEdit;
    BitBtn3: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
  private
    { Private declarations }
    procedure WMMOVE(var Msg:Tmessage);message WM_MOVE;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
var
  time: array of string;
  zimu1,zimu2,zimu3,zimu4: array of string;
  juli:array of real;
  num1,num2,num3:array of integer;
  changdu,number:integer;       //  number:数据行数

{$R *.dfm}

procedure TForm1.WMMOVE(var Msg:Tmessage);
begin
  inherited;
  if Form1.Left<20 then
     Form1.Left:=0;
  if Form1.Top<20 then
     Form1.Top:=0;
  if (Screen.Width-Form1.Left-Form1.Width)<20 then
     Form1.Left:=Screen.Width-Form1.Width;
  if (Screen.Height-Form1.Top-Form1.Height)<20 then
     Form1.Top:=Screen.Height-Form1.Height;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  ff: Textfile;
  a:string[13];
  b,c,d,e:string[2];
  f,g,h:integer;
  lin1,lin2,lin3,lin4:string[1];//临时变量
  i:integer;
  o:string;
begin
  //changdu:=0;
  changdu:=strtoint(edit2.Text);
  setlength(time,changdu);
  setlength(zimu1,changdu);
  setlength(zimu2,changdu);
  setlength(zimu3,changdu);
  setlength(zimu4,changdu);
  setlength(num1,changdu);
  setlength(num2,changdu);
  setlength(num3,changdu);
  for i := 0 to changdu-1 do time[i]:=o;
  for i := 0 to changdu-1 do zimu1[i]:=o;
  for i := 0 to changdu-1 do zimu2[i]:=o;
  for i := 0 to changdu-1 do zimu3[i]:=o;
  for i := 0 to changdu-1 do zimu4[i]:=o;
  for i := 0 to changdu-1 do num1[i]:=100;
  for i := 0 to changdu-1 do num2[i]:=100;
  for i := 0 to changdu-1 do num3[i]:=100;
  if OpenDialog1.Execute then
  begin
    //showmessage('数据读取中…………');
    AssignFile(ff, OpenDialog1.FileName);
    reset(ff);
    for i := 0 to changdu-1 do
    begin
     if not Eof(ff) then
     begin
      readln(ff, a,lin1,b,lin2,c,lin3,d,lin4,e,f,g,h);
      time[i]:=a;
      zimu1[i]:=b;
      zimu2[i]:=c;
      zimu3[i]:=d;
      zimu4[i]:=e;
      num1[i]:=f;
      num2[i]:=g;
      num3[i]:=h;
     end
     else break;
    end;
  number:=0;
  for i := 0 to changdu-1 do
  if num1[i]=100 then
  begin
     number:=i;
     break;
  end;
  edit1.text:=inttostr(number);
  closefile(ff);
  end;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
var
  i:integer;
  xishu:real;
  filename:string;
  f1: Textfile;
begin
  xishu:=strtofloat(edit3.text);
  setlength(juli,number);
  for i:=0 to number-1 do
    juli[i]:=0;
  for i:=0 to number-1 do
  begin
    juli[i]:=num1[i]*10000+num2[i]*100+num3[i];
    juli[i]:=juli[i]*xishu;
  end;
    Filename := ExtractFilePath(Application.ExeName) + ExtractFilename(OpenDialog1.FileName)+'处理结果' + '.txt';
    AssignFile(f1, filename);
    ReWrite(f1);
    for i := 0 to number-1 do
      writeln(f1,time[i],' ',zimu1[i],' ',zimu2[i],' ',zimu3[i],' ',zimu4[i],'',juli[i]);
    CloseFile(f1);
    bitbtn3.Enabled:=true;
end;

procedure TForm1.BitBtn3Click(Sender: TObject);
var
  i,m:integer;
  filename:string;
  f1: Textfile;
begin
    m:=0;
    Filename := ExtractFilePath(Application.ExeName) + ExtractFilename(OpenDialog1.FileName)+'处理结果清零' + '.txt';
    AssignFile(f1, filename);
    ReWrite(f1);
    for i := 0 to number-1 do
    if juli[i]>0 then
    begin
      writeln(f1,time[i],' ',zimu1[i],' ',zimu2[i],' ',zimu3[i],' ',zimu4[i],'',juli[i]);
      m:=m+1;
    end;
    writeln(f1,'测试点数:','  ',m);
    CloseFile(f1);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -