ExportPicturefile2: TMenuItem; N4: TMenuItem; procedure PaintBox1DragDropSender, Source: TObject; X, Y: Integer; procedure PaintBox1DragOverSender, Source: TObject; X, Y: Integer; State
Trang 1PHẦN PHỤ LỤC
Phụ lục 1
Unit chứa khai báo các cấu trúc dữ liệu cho đồ thị
và cài đặt thủ tục tìm đường đi ngắn nhất theo thuật toán unit Func_DoThi;
Trang 2S[X]:=1;Dist[X].VoCung:=False;Dist[X].Gia:=0;K:=2; {Dua X vao S}
while k<M do {Xac dinh M-1 duong di}
Trang 3((Dist[w].VoCung)or(Dist[w].Gia>(Dist[u].Gia+Cost[u,w].Gia))) then
Trang 4G.SoDinh :=0;G.SoCanh:=0;
END
Thiết kế giao diện cho chương trình (Form 2)
Với các đối tượng được gồm:
Các khai báo và cài đặt cho chương form2:
Trang 6ExportPicturefile2: TMenuItem;
N4: TMenuItem;
procedure PaintBox1DragDrop(Sender, Source: TObject; X, Y: Integer); procedure PaintBox1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
Procedure DrawPaint(PaintBox:TPaintBox;Bitmap:TBitmap);
procedure FormResize(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure MaskEdit1Change(Sender: TObject);
procedure MaskEdit2Change(Sender: TObject);
procedure PaintBox1Paint(Sender: TObject);
procedure imduongdingannhat2Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure FormDestroy(Sender: TObject);
procedure Rename1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
procedure Delete1Click(Sender: TObject);
procedure DeleteAll1Click(Sender: TObject);
procedure Save1Click(Sender: TObject);
procedure Open1Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure New1Click(Sender: TObject);
procedure ExportPicturefile2Click(Sender: TObject);
Trang 7procedure
Vecung(Pic:Tbitmap;T1,T2:TypeToaDo;Gia:Real;Line:Boolean;LineColor,TextColor:Tcolor);
Procedure VeDoThi(G:TypeDothi;Pic:Tbitmap;Imagelist:Timagelist);
Function Delen(x,y,Width,Height:integer;DinhDown:integer):boolean;
Procedure
Veline(T1,T2:TypeToaDo;Gia:real;Pic:Tbitmap;LineColor:Tcolor;TimeDelay:TdateTime);
Trang 8while (i>P)and(st[i]='0') do i:=i-1;
If st[i]='.' then i:=i-1;
Trang 9If Line then
begin pic.Canvas.MoveTo(T1.x,T1.y); pic.Canvas.LineTo(T2.x,T2.y) end;
Pic.Canvas.Polygon([point(T2.x,T2.y),point(Q1.x,Q1.y),point((T2.x+P.x) div 2,(T2.y+P.y) div 2),point(Q2.x,Q2.y)]);
Trang 101),RGB(255,255,255));
Trang 11If G.DSDinh[i].MucKichHoat=1 then D1:=i else D2:=i;
If count=2 then i:=G.SoDinh
catzerothua(st);
maskedit1.Text:=(st);
Trang 13if {(Sender is TListBox) and} (Source is Timage) then
If Timage(Source).Name ='Image1' then
Trang 15procedure TForm2.MaskEdit1Change(Sender: TObject);
var D1,D2,ChiSo,Loi:integer; X:real;
Trang 16var D1,D2,ChiSo,Loi:integer; X:real;
Trang 17
Pic.Canvas.BrushCopy(rect(x,y-1),RGB(255,255,255));
for i:=0 to high(DuongDi)-1 do
SubPic.Free;
DrawPaint(PaintBox1,Pic);
showmessage(st);
Trang 19If Start=-1 then Start:=N;
If DinhDau>DinhDown then DinhDau:=DinhDau-1;
If DinhCuoi>DinhDown then DinhCuoi:=DinhCuoi-1;
Trang 20SaveDialog1.Filter:='Graph data file (*.GRD)|*.GRD';
If not SaveDialog1.Execute then exit;
AssignFile(F,SaveDialog1.FileName);
Rewrite(F);
Try
Writeln(f,G.Sodinh,' ',G.Socanh);
For i:=0 to G.SoDinh-1 do
Writeln(F,G.DSDinh[i].ToaDo.x,' ',G.DSDinh[i].ToaDo.y,' ',G.DSDinh[i].Ten);
For i:=0 to G.SoCanh-1 do
OpenDialog1.Filter:='Graph data file (*.GRD)|*.GRD';
If not OpenDialog1.Execute then exit;
Trang 21Readln(F,G.DSDinh[i].ToaDo.x,G.DSDinh[i].ToaDo.y,G.DSDinh[i].Ten); G.DSDinh[i].Ten:=trimleft(G.DSDinh[i].Ten);