程序设计思路
首先确定起始站点,在公交总表中(Form2.Table1)以起点为索引查找过此站点的车次,列为Form3Table1。其次确定终点,同样在公交总表中(Form2.Table1)以终点为索引查找过此站点的车次,列为Form4Table1。比较Form3Table1和Form4Table1中是否有车次相同,若有则为直达车,输出结果。若没有则选取Form3Table1中的第一行车次,将它的所有经过站点列为Form3.Table2。 再选取Form4Table1中的第一行车次,将它的所有经过站点列为Form4.Table2。比较Form3.Table2和Form4.Table2中站点是否有重复,若有,则输出Form3Table1和Form4Table1中当前车次,转车站点为Form3.Table2和Form4.Table2中重复的站点。若没有,将Form4Table1中取下一行车次,将过此车次的站点列为Form4。Table2,重复以上过程直到Form4Table1的最后一行车次。将Form3Table1取下一行车次,将过此车次的站点列为Form3.Table2, Form4Table1取最前一项,重复以上过程直到Form3Table1最后一行车次。
--------------------------------
我自己按他的思路做了一些修改就是用ADO连接的数据库但做到"比较Form3Table1和Form4Table1中是否有车次相同,若有则为直达车,输出结果"的时候就卡住了 教程提供的原码是    :"其作用为判断用户输入站名是否存在于总站点表中,若存在,则将当前光标指向Table1过滤后最前一行的车次,否则就输出“您输入的站点不存在,请重新输入”提示用户错误并重新输入。同时还可完成过滤的刷新作用。
对于Form4的操作基本与之相同,只有Botton2是用于在起点终点都确定的情况下完成出行线路选择并输出功能的,有别于Form3。对于Botton2的OnClick事件响应编写代码如下:
procedure TForm4。Button2Click(Sender: TObject);
begin
Form5.Label1.Caption:=”;
Form5.Show;
Form4.Hide;Form3.Table1.last;
Form4.Table1.last;
last1:=Form3.table1.Fields[1].AsString;
last2:=Form4.Table1.Fields[1].AsString;
Form3.Table1.First;
repeat
Form4.Table1.First;
repeat
if  Form3.Table1.Fields[1].AsString=Form4.Table1.Fields[1].AsString
then
begin
Form5.Label1.Caption:=Form5.Label1.Caption+Form4.Table1.Fields[1]。AsString+’,’;
end;"
我只是把TABLE改成了ADOTABLE 当写到ADOTABLE.后想写Fields[1].AsString;就出错
 [错误] Unit4.pas(58): Undeclared identifier: 'last1' 我还是出学 这个LAST是什么意思  是哪出错了.??