📄 unit1.~pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus, DB, ADODB, Grids, DBGrids, ComCtrls, ExtCtrls,
XPMan, XPManifest1, WinSkinData, WinSkinStore;
type
Tfrmmain = class(TForm)
MainMenu1: TMainMenu;
S1: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
N22: TMenuItem;
N23: TMenuItem;
N24: TMenuItem;
N25: TMenuItem;
Label1: TLabel;
rb1: TRadioButton;
rb2: TRadioButton;
Search: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Label2: TLabel;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
ado: TADOQuery;
StatusBar1: TStatusBar;
Timer1: TTimer;
XPManifest11: TXPManifest1;
ResultList: TListBox;
SourceList: TListBox;
PrintDialog1: TPrintDialog;
procedure Timer1Timer(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure SearchChange(Sender: TObject);
procedure ResultListClick(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure N24Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmmain: Tfrmmain;
implementation
uses Unit2;
{$R *.dfm}
procedure Tfrmmain.Timer1Timer(Sender: TObject);
begin
statusbar1.Panels[3].Text:='当前时间 '+timetostr(now);
end;
procedure Tfrmmain.N1Click(Sender: TObject);
begin
{application.MessageBox}messagedlg('怎样查询公交线路?'+#13+
'要查询XX路,请在文本框中输入XX;'+#13+
'要查询XX路B线,请在文本框中输入XXB;'+#13+
'要查询XX路(线)区间车/大站车/支线车,请在文本框中输入XX(线)区/大站/支线;'+#13+
'要查询隧道/大桥/机场X线,请在文本框中输入隧道/大桥/机场X线;'+#13+
'要查询地铁/旅游X号线,请在文本框中输入地铁/旅游X号线;'+#13+
'要查询XX(专)线,请在文本框中输入XX(专)线。'+#13+
'输入完毕后,再单击“查询”按钮即可。 '+#13+
'对于文字线路,您还可以输入拼音首字母(不分大小写)来查询,例如:输入“dqys”,再单击“精确查询”按钮即可查到“大桥一线”;输入“d”、“dq”、“qy”、“yx”或“dqy”,再单击“模糊查询”按钮也可查到“大桥一线”。'+#13+
'怎样修改记录?'+#13+#13+
'先查询,若有该条记录,再执行“编辑”菜单中的“修改”命令,然后在“修改记录”对话框中输入数据并保存。'+#13+
'怎样删除记录?'+#13+#13+
'先查询,若有该条记录,再执行“编辑”菜单中的“删除”命令,然后在弹出的对话框中选择“是”即可。'+#13+
'怎样查询经过某个车站的所有线路?'+#13+
'打开“换乘查询”窗口,在“目的地”一栏中输入文字,再单击“查询”按钮,即可查到所有经过该车站的公交线路,您还可以单击“模糊查询目的地”按钮来查询与“目的地”相似的车站,并可以查询经过这些名称相似的车站的线路,如果您想了解这些线路的具体情况,'+#13+
'还可以单击“下行/上行直达线路信息”按钮来查看。'+#13+
'怎样查询所在区县不同但名称相同或相似的车站?'+#13+
'您可以尝试在“目的地”中的文字后面加上区县名称,如:塘桥(浦东)、塘桥(宝山),再单击“查询”按钮查询;您也可以在“目的地”中输入文字后,单击“模糊查询目的地”按钮,然后在下拉列表框中选择相应的车站,再单击“查询”按钮查询。'+#13+
'换乘查询技巧:'+#13+
'请不要输入门牌号,否则是不可能查到结果的。'+#13+
'当您发现查询结果不准确时,您可以在“出发地”、“中转站”或“目的地”中的文字前面和后面都加上一个英文半角的空格,然后再查询。'+#13+
'另外,“换乘查询”中如果下拉列表框为空,则按“目的地”中的内容查询,否则按下拉列表框中的内容查询。'+#13+
'“换乘查询”时,您可以单击“换乘查询”对话框后面的表格来返回主窗口。'+#13+
'目前可以查到的重要设施有:上海火车站、东方绿舟、上海博物馆、上海大剧院、上海大舞台、上海游泳馆、上海体育馆(场)、上海鲜花港、市X医院、中山医院、胸科医院、'+#13+
'肺科医院、新华医院、肿瘤医院、眼耳鼻喉科医院、妇幼保健院、第二结核病医院、儿科医院、儿童医学中心、新国际博览中心、豫园(城隍庙)、文庙、上海老街、上海大学、上海海事大学、二工大浦东校区、华东理工大学、上海师范大学、交通大学、'+#13+#13+
'复旦大学(包括浦东校区)、中山公园、襄阳公园、世纪公园、上海电视台、东方电视台、美罗城、港汇广场等等。',
mtinformation,[mbok],0);
end;
procedure Tfrmmain.Button1Click(Sender: TObject);
//var shu:string;
begin
if Search.Text=''
then
application.MessageBox('请输入查询内容!','提示',0+64)
else
BEGIN
if rb1.Checked=true
then
begin
ado.Close;
ado.SQL.Clear;
ado.SQL.Add('select *from bbgj where xlm=:ming');
ado.Parameters.ParamValues['ming']:=strtoint(Search.Text);
ado.Open;
//dbgrid1.Refresh;
// shu:=ado.FieldValues['start'];
// if shu=''
// then application.MessageBox('没有查询到该线路!','提示',0+64);
//Search.Text:=ado.FieldValues['price'];
//ado.Close;
end
else
begin
end
end
end;
function GetPYIndexChar( hzchar:string):char;
begin
case WORD(hzchar[1]) shl 8 + WORD(hzchar[2]) of
$B0A1..$B0C4 : result := 'A';
$B0C5..$B2C0 : result := 'B';
$B2C1..$B4ED : result := 'C';
$B4EE..$B6E9 : result := 'D';
$B6EA..$B7A1 : result := 'E';
$B7A2..$B8C0 : result := 'F';
$B8C1..$B9FD : result := 'G';
$B9FE..$BBF6 : result := 'H';
$BBF7..$BFA5 : result := 'J';
$BFA6..$C0AB : result := 'K';
$C0AC..$C2E7 : result := 'L';
$C2E8..$C4C2 : result := 'M';
$C4C3..$C5B5 : result := 'N';
$C5B6..$C5BD : result := 'O';
$C5BE..$C6D9 : result := 'P';
$C6DA..$C8BA : result := 'Q';
$C8BB..$C8F5 : result := 'R';
$C8F6..$CBF9 : result := 'S';
$CBFA..$CDD9 : result := 'T';
$CDDA..$CEF3 : result := 'W';
$CEF4..$D188 : result := 'X';
$D1B9..$D4D0 : result := 'Y';
$D4D1..$D7F9 : result := 'Z';
else
result := char(0);
end;
end;
function SearchByPYIndexStr
( SourceStrs:TStrings;
PYIndexStr:string):string;
label NotFound;
var
i, j :integer;
hzchar :string;
begin
for i:=0 to SourceStrs.Count-1 do
begin
for j:=1 to Length(PYIndexStr) do
begin
hzchar:=SourceStrs[i][2*j-1]
+ SourceStrs[i][2*j];
if (PYIndexStr[j]<>'?') and
(UpperCase(PYIndexStr[j]) <>
GetPYIndexChar(hzchar)) then goto NotFound;
end;
if result='' then result := SourceStrs[i]
else result := result + Char
(13) + SourceStrs[i];
NotFound:
end;
end;
procedure Tfrmmain.N3Click(Sender: TObject);
begin
CLOSE;
end;
procedure Tfrmmain.SearchChange(Sender: TObject);
var ResultStr:string;
begin
Resultlist.Visible:=true;
ResultStr:='';
ResultList.Items.Text := SearchByPYIndexStr
(Sourcelist.Items, Search.Text);
end;
procedure Tfrmmain.ResultListClick(Sender: TObject);
var i:integer;
begin
for i:=0 to resultlist.Items.Count-1 do
if resultlist.selected[i] then
begin
search.Text:=resultlist.items[i];
resultlist.Visible:=false;
exit;
end;
end;
procedure Tfrmmain.N5Click(Sender: TObject);
begin
frmappend:=tfrmappend.Create(self);
frmappend.Show;
end;
procedure Tfrmmain.N9Click(Sender: TObject);
begin
ado.Close;
ado.SQL.Clear;
ado.SQL.Add('select *from bbgj order by xlm');
//ado.Parameters.ParamValues['ming']:=strtoint(Search.Text);
ado.Open;
end;
procedure Tfrmmain.N10Click(Sender: TObject);
begin
ado.Close;
ado.SQL.Clear;
ado.SQL.Add('select *from bbgj order by xlm desc');
//ado.Parameters.ParamValues['ming']:=strtoint(Search.Text);
ado.Open;
end;
procedure Tfrmmain.N11Click(Sender: TObject);
begin
ado.Close;
ado.SQL.Clear;
ado.SQL.Add('select *from bbgj order by startbus');
//ado.Parameters.ParamValues['ming']:=strtoint(Search.Text);
ado.Open;
end;
procedure Tfrmmain.N12Click(Sender: TObject);
begin
ado.Close;
ado.SQL.Clear;
ado.SQL.Add('select *from bbgj order by startbus desc');
//ado.Parameters.ParamValues['ming']:=strtoint(Search.Text);
ado.Open;
end;
procedure Tfrmmain.N13Click(Sender: TObject);
begin
ado.Close;
ado.SQL.Clear;
ado.SQL.Add('select *from bbgj order by startend');
//ado.Parameters.ParamValues['ming']:=strtoint(Search.Text);
ado.Open;
end;
procedure Tfrmmain.N14Click(Sender: TObject);
begin
ado.Close;
ado.SQL.Clear;
ado.SQL.Add('select *from bbgj order by startend desc');
//ado.Parameters.ParamValues['ming']:=strtoint(Search.Text);
ado.Open;
end;
procedure Tfrmmain.N15Click(Sender: TObject);
begin
ado.Close;
ado.SQL.Clear;
ado.SQL.Add('select *from bbgj order by endbus');
//ado.Parameters.ParamValues['ming']:=strtoint(Search.Text);
ado.Open;
end;
procedure Tfrmmain.N16Click(Sender: TObject);
begin
ado.Close;
ado.SQL.Clear;
ado.SQL.Add('select *from bbgj order by endbus desc');
//ado.Parameters.ParamValues['ming']:=strtoint(Search.Text);
ado.Open;
end;
procedure Tfrmmain.N17Click(Sender: TObject);
begin
ado.Close;
ado.SQL.Clear;
ado.SQL.Add('select *from bbgj order by endend');
//ado.Parameters.ParamValues['ming']:=strtoint(Search.Text);
ado.Open;
end;
procedure Tfrmmain.N18Click(Sender: TObject);
begin
ado.Close;
ado.SQL.Clear;
ado.SQL.Add('select *from bbgj order by endend desc');
//ado.Parameters.ParamValues['ming']:=strtoint(Search.Text);
ado.Open;
end;
procedure Tfrmmain.N24Click(Sender: TObject);
begin
//ado.
end;
procedure Tfrmmain.FormCreate(Sender: TObject);
begin
ado.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+extractfilepath(application.ExeName)+'bbgj.mdb;Persist Security Info=False';
ado.Active:=true;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -