7. Григас Г. – Начала програмируванье. – М.,1987
8. Грогоно П. – Програмируванье на языке паскаль.
9. Спірідонов В.І. – Обчислювальна техніка і програмування.
10. Глинський Я.М. – Основи інформатики та обчислювальної техніки.
11. Абрамов С.А – Начала програмируванья на языке Паскаль.
12. Фаронов В.В. – Delphi 5 учебный курс.
13. Черняхівський В.В – Сучасна технологія візуального програмування.
14. Немнюгин – Turbo Pascal.
15. Климов – Pascal 7.0
16. Юрий Гурский – Трюки и эффекты в Delphi 7.
17. Род Стивенс – Delphi. Готовые алгоритмы.
18. Виктор Пестриков, Артур Маслобоев – Delphi на примерах.
19. Михаил Фленов – Программирование в Delphi глазами хакера.
Додаток А
unit Unit1;
interface
uses
Windows, Messages,SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, Grids, Menus, ToolWin, ActnMan,
ActnCtrls, ActnMenus, CheckLst, OleCtrls, AcroPDFLib_TLB, Buttons;
type
TForm1 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Panel1: TPanel;
ScrollBox1: TScrollBox;
Image1: TImage;
MainMenu1: TMainMenu;
N1: TMenuItem;
N5: TMenuItem;
N8: TMenuItem;
N7: TMenuItem;
N10: TMenuItem;
N14: TMenuItem;
N6: TMenuItem;
N16: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
Timer1: TTimer;
Button1: TButton;
ComboBox1: TComboBox;
Button2: TButton;
ComboBox2: TComboBox;
TreeView1: TTreeView;
N15: TMenuItem;
N17: TMenuItem;
Button3: TButton;
Label1: TLabel;
ComboBox3: TComboBox;
AcroPDF1: TAcroPDF;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
CheckBox1: TCheckBox;
Label2: TLabel;
Label3: TLabel;
N9: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure TreeView1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);
procedure N15Click(Sender: TObject);
procedure ComboBox3Change(Sender: TObject);
procedure ComboBox3KeyPress(Sender: TObject; var Key: Char);
procedure Panel1Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Type Vul=Record
Name:string[35];
X,Y,X1,Y1,X2,Y2,X3,Y3:Integer;
X4,Y4,X5,Y5,X6,Y6,X7,Y7:Integer;
X8,Y8,X9,Y9,X10,Y10,X11,Y11,X12,Y12,X13,Y13:Integer;
end;
var
Form1: TForm1;
A:array[1..313] of vul;
F:file of Vul;
an, ani: byte;
k: integer;
implementation
uses Unit2, Unit3, Unit4, Unit5;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
AcroPDF1.LoadFile ('Дані\Карта\Khmelnitskiy Map.pdf');
ComboBox2.Items.Add('Виставка');
ComboBox2.Items.Add('Гречани');
ComboBox2.Items.Add('Ракове');
ComboBox2.Items.Add('Лезневе');
ComboBox2.Items.Add('Дубове');
ComboBox2.Items.Add('Ружична');
ComboBox2.Items.Add('Катіон');
ComboBox2.Items.Add('Книжківці');
ComboBox2.Items.Add('Центр');
ComboBox2.Items.Add('Озерна');
Button1.Enabled:=false;
Button2.Enabled:=false;
Button3.Enabled:=false;
TreeView1.Enabled:=false;
RadioButton1.Checked:=true;
AssignFile(F, 'Дані/Вулиці/Координати вулиць.DKH');
Reset(F);
for i:=1 to 313 do begin
Read(F,A[i]);
ComboBox1.Items.Add(A[i].Name);
ComboBox3.Items.Add(A[i].Name);
end;
CloseFile(f);
Image1.Picture.LoadFromFile('Дані/Карта/Карта Хмельницького2.bmp');
Image1.AutoSize:=false;
end;
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
znaydeno: boolean;
begin
PatBlt(Image1.Canvas.Handle, 0, 0, Image1.ClientWidth, Image1.ClientHeight, WHITENESS);
znaydeno:=false;
for I:=1 to 313 do
if ComboBox3.Text=A[i].Name Then begin K:=I;
Image1.Align:=alNone;
znaydeno:=true;
ani:=1;
Image1.Picture.LoadFromFile('Дані/Карта/Карта Хмельницького2.bmp');
Image1.AutoSize:=true;
Image1.Canvas.Pen.Mode:=Pmxor;
Image1.Canvas.Pen.Color :=$af;
Image1.Canvas.Pen.Width := 6;
ScrollBox1.HorzScrollBar.Position:=a[k].X-160;
ScrollBox1.VertScrollBar.Position:=a[k].Y-380;
if znaydeno=false then begin
ShowMessage('Ведіть правильну назву вулиці!');
ComboBox3.Clear;
ComboBox3.SetFocus;
ComboBox3.SelectAll;
end;
end;
end;
procedure TForm1.N5Click(Sender: TObject);
begin
RadioButton1.Checked:= true;
ComboBox3.SetFocus;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
Halt;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Image1.Canvas.Pen.Mode:=Pmxor;
if(ani=1)or(an=1) then begin
Image1.Canvas.MoveTo(a[k].x,a[k].y);
Image1.Canvas.LineTo(a[k].x1,a[k].y1);
Image1.Canvas.MoveTo(a[k].X1,a[k].y1);
Image1.Canvas.LineTo(a[k].X2,a[k].Y2);
Image1.Canvas.MoveTo(a[k].X2,a[k].y2);
Image1.Canvas.LineTo(a[k].X3,a[k].Y3);
Image1.Canvas.MoveTo(a[k].X3,a[k].y3);
Image1.Canvas.LineTo(a[k].X4,a[k].Y4);
Image1.Canvas.MoveTo(a[k].X4,a[k].y4);
Image1.Canvas.LineTo(a[k].X5,a[k].Y5);
Image1.Canvas.MoveTo(a[k].X5,a[k].y5);
Image1.Canvas.LineTo(a[k].X6,a[k].Y6);
Image1.Canvas.MoveTo(a[k].X6,a[k].y6);
Image1.Canvas.LineTo(a[k].X7,a[k].Y7);
Image1.Canvas.MoveTo(a[k].X7,a[k].y7);
Image1.Canvas.LineTo(a[k].X8,a[k].Y8);
Image1.Canvas.MoveTo(a[k].X8,a[k].y8);
Image1.Canvas.LineTo(a[k].X9,a[k].Y9);
Image1.Canvas.MoveTo(a[k].X9,a[k].y9);
Image1.Canvas.LineTo(a[k].X10,a[k].Y10);
Image1.Canvas.MoveTo(a[k].X10,a[k].y10);
Image1.Canvas.LineTo(a[k].X11,a[k].Y11);
Image1.Canvas.MoveTo(a[k].X11,a[k].y11);
Image1.Canvas.LineTo(a[k].X12,a[k].Y12);
Image1.Canvas.MoveTo(a[k].X12,a[k].y12);
Image1.Canvas.LineTo(a[k].X13,a[k].Y13);
end;
if an=0 then an:=1 else an:=0;
end;
procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
PatBlt(Image1.Canvas.Handle, 0, 0, Image1.ClientWidth, Image1.ClientHeight, WHITENESS);
for I:=1 to 313 do
if ComboBox1.Text=A[i].Name Then begin K:=I;
Image1.Align:=alNone;
ani:=1;
Image1.Picture.LoadFromFile('Дані/Карта/Карта Хмельницького2.bmp');
Image1.AutoSize:=true;
Image1.Canvas.Pen.Mode:=Pmxor;
Image1.Canvas.Pen.Color :=$af;
Image1.Canvas.Pen.Width := 6;
ScrollBox1.HorzScrollBar.Position:=a[k].X-160;
ScrollBox1.VertScrollBar.Position:=a[k].Y-380;
end;
end;
procedure TForm1.N3Click(Sender: TObject);
begin
Form2.ShowModal;
end;
procedure TForm1.N10Click(Sender: TObject);
begin
Image1.AutoSize:=false;
Image1.Align:=alClient;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
TabSheet1.Show;
end;
procedure TForm1.N16Click(Sender: TObject);
begin
TabSheet2.Show;
end;
procedure TForm1.N13Click(Sender: TObject);
begin
RadioButton2.Checked:= true;
ComboBox1.SetFocus;
ComboBox1.DroppedDown := True
end;
procedure TForm1.N4Click(Sender: TObject);
begin
AboutBox.ShowModal;
end;
procedure TForm1.TreeView1Click(Sender: TObject);
var i:integer;
begin
PatBlt(Image1.Canvas.Handle, 0, 0, Image1.ClientWidth, Image1.ClientHeight, WHITENESS);
for I:=1 to 313 do
if TreeView1.Selected.Text=A[i].Name Then begin K:=I;
Image1.Align:=alNone;
ani:=1;
Image1.Picture.LoadFromFile('Дані/Карта/Карта Хмельницького2.bmp');
Image1.AutoSize:=true;
Image1.Canvas.Pen.Mode:=Pmxor;
Image1.Canvas.Pen.Color :=$af;
Image1.Canvas.Pen.Width := 6;
ScrollBox1.HorzScrollBar.Position:=a[k].X-160;
ScrollBox1.VertScrollBar.Position:=a[k].Y-380;
end;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
if ComboBox1.Text<>'' then Button2.Enabled:=true;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if ComboBox2.Text<>'' then
TreeView1.Enabled:=true;
if ComboBox2.Text='Виставка' then begin
TreeView1.Items.Clear;
TreeView1.Items.Add(nil,a[2].name);
TreeView1.Items.Add(nil,a[3].name);
TreeView1.Items.Add(nil,a[4].name);
TreeView1.Items.Add(nil,a[5].name);
TreeView1.Items.Add(nil,a[6].name);
TreeView1.Items.Add(nil,a[7].name);
TreeView1.Items.Add(nil,a[8].name);
TreeView1.Items.Add(nil,a[9].name);
TreeView1.Items.Add(nil,a[10].name);
TreeView1.Items.Add(nil,a[11].name);
TreeView1.Items.Add(nil,a[12].name);
TreeView1.Items.Add(nil,a[13].name);
TreeView1.Items.Add(nil,a[26].name);
TreeView1.Items.Add(nil,a[27].name);
End;
if ComboBox2.Text='Озерна' then begin
TreeView1.Items.Clear;
TreeView1.Items.Add(nil,a[14].name);
TreeView1.Items.Add(nil,a[15].name);
TreeView1.Items.Add(nil,a[16].name);
TreeView1.Items.Add(nil,a[17].name);
TreeView1.Items.Add(nil,a[18].name);
TreeView1.Items.Add(nil,a[19].name);
TreeView1.Items.Add(nil,a[20].name);
TreeView1.Items.Add(nil,a[21].name);
TreeView1.Items.Add(nil,a[22].name);
TreeView1.Items.Add(nil,a[23].name);
TreeView1.Items.Add(nil,a[24].name);
TreeView1.Items.Add(nil,a[25].name);
TreeView1.Items.Add(nil,a[28].name);
End;
if ComboBox2.Text='Лезневе' then begin
TreeView1.Items.Clear;
TreeView1.Items.Add(nil,a[29].name);
TreeView1.Items.Add(nil,a[30].name);
TreeView1.Items.Add(nil,a[31].name);
TreeView1.Items.Add(nil,a[32].name);
TreeView1.Items.Add(nil,a[33].name);
TreeView1.Items.Add(nil,a[34].name);
TreeView1.Items.Add(nil,a[35].name);
TreeView1.Items.Add(nil,a[36].name);
TreeView1.Items.Add(nil,a[37].name);
TreeView1.Items.Add(nil,a[38].name);
TreeView1.Items.Add(nil,a[39].name);
TreeView1.Items.Add(nil,a[40].name);
TreeView1.Items.Add(nil,a[41].name);
TreeView1.Items.Add(nil,a[42].name);
TreeView1.Items.Add(nil,a[43].name);
TreeView1.Items.Add(nil,a[44].name);
TreeView1.Items.Add(nil,a[45].name);
TreeView1.Items.Add(nil,a[46].name);
TreeView1.Items.Add(nil,a[47].name);
TreeView1.Items.Add(nil,a[48].name);
TreeView1.Items.Add(nil,a[49].name);
TreeView1.Items.Add(nil,a[50].name);
TreeView1.Items.Add(nil,a[51].name);
TreeView1.Items.Add(nil,a[52].name);
TreeView1.Items.Add(nil,a[53].name);
TreeView1.Items.Add(nil,a[54].name);
TreeView1.Items.Add(nil,a[55].name);
TreeView1.Items.Add(nil,a[56].name);
TreeView1.Items.Add(nil,a[57].name);
TreeView1.Items.Add(nil,a[58].name);
TreeView1.Items.Add(nil,a[59].name);
TreeView1.Items.Add(nil,a[60].name);
TreeView1.Items.Add(nil,a[61].name);
TreeView1.Items.Add(nil,a[62].name);
TreeView1.Items.Add(nil,a[63].name);
TreeView1.Items.Add(nil,a[64].name);
TreeView1.Items.Add(nil,a[65].name);
TreeView1.Items.Add(nil,a[66].name);
End;
if ComboBox2.Text='Центр' then begin
TreeView1.Items.Clear;
TreeView1.Items.Add(nil,a[67].name);
TreeView1.Items.Add(nil,a[68].name);
TreeView1.Items.Add(nil,a[69].name);
TreeView1.Items.Add(nil,a[70].name);
TreeView1.Items.Add(nil,a[71].name);
TreeView1.Items.Add(nil,a[72].name);
TreeView1.Items.Add(nil,a[73].name);
TreeView1.Items.Add(nil,a[74].name);
TreeView1.Items.Add(nil,a[75].name);
TreeView1.Items.Add(nil,a[76].name);
TreeView1.Items.Add(nil,a[77].name);
TreeView1.Items.Add(nil,a[78].name);
TreeView1.Items.Add(nil,a[79].name);
TreeView1.Items.Add(nil,a[80].name);
TreeView1.Items.Add(nil,a[81].name);
TreeView1.Items.Add(nil,a[82].name);
TreeView1.Items.Add(nil,a[83].name);
TreeView1.Items.Add(nil,a[84].name);
TreeView1.Items.Add(nil,a[85].name);
TreeView1.Items.Add(nil,a[86].name);
TreeView1.Items.Add(nil,a[98].name);
TreeView1.Items.Add(nil,a[99].name);
TreeView1.Items.Add(nil,a[100].name);
TreeView1.Items.Add(nil,a[101].name);
TreeView1.Items.Add(nil,a[102].name);
End;
if ComboBox2.Text='Ракове' then begin
TreeView1.Items.Clear;
TreeView1.Items.Add(nil,a[87].name);
TreeView1.Items.Add(nil,a[88].name);
TreeView1.Items.Add(nil,a[89].name);
TreeView1.Items.Add(nil,a[90].name);
TreeView1.Items.Add(nil,a[91].name);
TreeView1.Items.Add(nil,a[92].name);
TreeView1.Items.Add(nil,a[93].name);
TreeView1.Items.Add(nil,a[94].name);
TreeView1.Items.Add(nil,a[95].name);
TreeView1.Items.Add(nil,a[96].name);
TreeView1.Items.Add(nil,a[97].name);
TreeView1.Items.Add(nil,a[112].name);
TreeView1.Items.Add(nil,a[113].name);
TreeView1.Items.Add(nil,a[114].name);
TreeView1.Items.Add(nil,a[115].name);
TreeView1.Items.Add(nil,a[116].name);
TreeView1.Items.Add(nil,a[116].name);
TreeView1.Items.Add(nil,a[117].name);
TreeView1.Items.Add(nil,a[118].name);
TreeView1.Items.Add(nil,a[119].name);
TreeView1.Items.Add(nil,a[313].name);
TreeView1.Items.Add(nil,a[120].name);
TreeView1.Items.Add(nil,a[121].name);
TreeView1.Items.Add(nil,a[122].name);
TreeView1.Items.Add(nil,a[123].name);
TreeView1.Items.Add(nil,a[124].name);
TreeView1.Items.Add(nil,a[125].name);
TreeView1.Items.Add(nil,a[126].name);
TreeView1.Items.Add(nil,a[127].name);
TreeView1.Items.Add(nil,a[128].name);
TreeView1.Items.Add(nil,a[129].name);
TreeView1.Items.Add(nil,a[130].name);
TreeView1.Items.Add(nil,a[131].name);
TreeView1.Items.Add(nil,a[132].name);
TreeView1.Items.Add(nil,a[133].name);
TreeView1.Items.Add(nil,a[134].name);
TreeView1.Items.Add(nil,a[135].name);
TreeView1.Items.Add(nil,a[136].name);
TreeView1.Items.Add(nil,a[137].name);
TreeView1.Items.Add(nil,a[138].name);
TreeView1.Items.Add(nil,a[154].name);
TreeView1.Items.Add(nil,a[155].name);
TreeView1.Items.Add(nil,a[156].name);
TreeView1.Items.Add(nil,a[157].name);
TreeView1.Items.Add(nil,a[158].name);
TreeView1.Items.Add(nil,a[159].name);
TreeView1.Items.Add(nil,a[160].name);
TreeView1.Items.Add(nil,a[161].name);
TreeView1.Items.Add(nil,a[162].name);
TreeView1.Items.Add(nil,a[163].name);
TreeView1.Items.Add(nil,a[164].name);
TreeView1.Items.Add(nil,a[213].name);
TreeView1.Items.Add(nil,a[214].name);
TreeView1.Items.Add(nil,a[215].name);
TreeView1.Items.Add(nil,a[216].name);
TreeView1.Items.Add(nil,a[217].name);
TreeView1.Items.Add(nil,a[218].name);
TreeView1.Items.Add(nil,a[219].name);
End;
if ComboBox2.Text='Ружична' then begin
TreeView1.Items.Clear;
TreeView1.Items.Add(nil,a[165].name);
TreeView1.Items.Add(nil,a[166].name);