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

📄 unit_gz_bus.pas

📁 广州公交车查询程序
💻 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 + -