📄 unit_gz_bus.~pas
字号:
unit Unit_GZ_BUS;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
TFlatButtonUnit, StdCtrls, TFlatEditUnit, TFlatHintUnit, ExtCtrls,
TFlatPanelUnit, TFlatGroupBoxUnit, TFlatTitlebarUnit,
TFlatSpeedButtonUnit, TFlatCheckBoxUnit, TFlatRadioButtonUnit, Mask,
TFlatMaskEditUnit, TFlatSpinEditUnit, TFlatMemoUnit, TFlatProgressBarUnit;
type
BUSType=record
BusID:String;
Num:Byte;
ZH:array [1..30] of string;
end;
type
TForm1 = class(TForm)
FlatPanel1: TFlatPanel;
FlatEdit1: TFlatEdit;
FlatEdit2: TFlatEdit;
Label1: TLabel;
Label2: TLabel;
FlatButton1: TFlatButton;
FlatButton2: TFlatButton;
FlatEdit3: TFlatEdit;
Label3: TLabel;
OpenDialog1: TOpenDialog;
FlatButton3: TFlatButton;
FlatButton4: TFlatButton;
FlatButton5: TFlatButton;
FlatEdit4: TFlatEdit;
FlatButton6: TFlatButton;
FlatMemo1: TFlatMemo;
procedure FlatButton3Click(Sender: TObject);
procedure FlatButton5Click(Sender: TObject);
procedure FlatButton4Click(Sender: TObject);
procedure FlatButton6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const strDiv=',';
strOver=';';
var
Form1: TForm1;
Bus:array [1..500] of BUSTYPE;
implementation
{$R *.DFM}
function Explode(Var target:String):String;
var h:integer; temp:String;
begin
h:=pos(strDiv,target);
if h>0 then
begin
temp:=copy(target,1,h-1);
delete(target,1,h);
Explode:=temp;
end
else
begin
h:=pos(strOver,target);
if h>0 then
begin
temp:=copy(target,1,h-1);
delete(target,1,Length(target));
Explode:=temp;
end;
end;
end;
procedure ExplodeBus(target:String; Var B:BusType);
var h:integer;
T:array [1..30] of string;
begin
B.BusID:=Explode(target);
Form1.FlatMemo1.Lines.Add(B.BusID);
h:=1;
Repeat
T[h]:=Explode(target);
//// Form1.FlatMemo1.Lines.Add(t[h]);
Inc(h);
until target='';
B.Num:=h-1;
for h:=1 to B.Num do B.ZH[h]:=T[h];
end;
procedure Bus_Init;
var fp:TEXT;
Temp:String;
h:integer;
begin
fillchar(Bus,sizeof(Bus),0);
assign(fp,Form1.FlatEdit3.Text);
reset(fp);
h:=1;
Repeat
Readln(fp,Temp);
if Temp<>'' then
begin
ExplodeBus(Temp,BUS[h]);
Inc(h);
end;
Until Eof(fp) or (h>500);
close(fp);
end;
procedure SearchBus(inner,outter:String;var BusID:String);
//var h,i,j:integer;
begin
end;
procedure TForm1.FlatButton3Click(Sender: TObject);
begin
OpenDialog1.Execute;
if OpenDialog1.FileName<>'' then
FlatEdit3.Text:=OpenDialog1.FileName;
end;
procedure TForm1.FlatButton5Click(Sender: TObject);
begin
Bus_Init;
end;
procedure TForm1.FlatButton4Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.FlatButton6Click(Sender: TObject);
var h,i:integer;
begin
FlatMemo1.Clear;
with Bus[StrToInt(FlatEdit4.Text)] do
begin
FlatMemo1.Lines.Add('BusID: '+BusID);
for i:=1 to Num do FlatMemo1.Lines.Add(ZH[i]);
FlatMemo1.Lines.Add('Total: '+InttoStr(Num));
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -