Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

найдите пожалуйста ошибку   Найти похожие ветки 

 
Мурад Севзиханов   (2010-04-15 21:45) [0]

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ExtCtrls, Menus, XPMan;

type
 TForm1 = class(TForm)
   RadioGroup1: TRadioGroup;
   SaveDialog1: TSaveDialog;
   OpenDialog1: TOpenDialog;
   MainMenu1: TMainMenu;
   file1: TMenuItem;
   N1: TMenuItem;
   N2: TMenuItem;
   N3: TMenuItem;
   XPManifest1: TXPManifest;

   procedure FormCreate(Sender: TObject);
   procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
     Shift: TShiftState; X, Y: Integer);
   procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
     Shift: TShiftState; X, Y: Integer);
   procedure FormPaint(Sender: TObject);

   procedure FormResize(Sender: TObject);
   procedure N1Click(Sender: TObject);
   procedure N2Click(Sender: TObject);
   procedure N3Click(Sender: TObject);
   procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
     Y: Integer);

 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
var
e:array of record e1,e2:integer; end;
v:array of record vx,vy:integer; end;
f1,f2:textfile;
r,o,x1,y1,x2,y2,b:integer;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
o:=1;
canvas.Brush.Color:=RGB(0,255,255);
canvas.Pen.Color:= RGB(0,255,255);

end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
 var
 i:integer;
begin
b:=-1;
for i:=o to length(v)-1 do

if (x>v[i].vx-10) and (x<v[i].vx+10) and (y>v[i].vy-10)
and (y<v[i].vy+10) and (radiogroup1.ItemIndex=2) and (ssleft in shift) then b:=i;

if radiogroup1.ItemIndex=0 then
begin
canvas.Ellipse(x+10,y+10,x-10,y-10);
canvas.TextOut(x-3,y-5,inttostr(o));
inc(o);
 setlength(v,length(v)+1);
    v[length(v)-1].vx:=x;
    v[length(v)-1].vy:=y;
end;

if radiogroup1.ItemIndex=1 then
for i:=0 to length(v)-1 do
if (x>v[i].vx-10) and (x<v[i].vx+10) and (y>v[i].vy-10) and (y<v[i].vy+10) then
begin
  setlength(e,length(e)+1);
  e[length(e)-1].e2:=i;
  canvas.MoveTo(v[i].vx,v[i].vy);
end;
if radiogroup1.ItemIndex=3 then
for i:=0 to length(v)-1 do
if (x>v[i].vx-10) and (x<v[i].vx+10) and (y>v[i].vy-10) and (y<v[i].vy+10) then
begin
x1:=v[i].vx;
y1:=v[i].vy;
end;

end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
   var
 i:integer;
   begin
b:=-1;
 if radiogroup1.ItemIndex=1  then
   begin
 for i:=0 to length(v)-1 do
 if (x>v[i].vx-10) and (x<v[i].vx+10) and (y>v[i].vy-10) and (y<v[i].vy+10) then
   begin
 canvas.LineTo(v[i].vx,v[i].vy);
 e[length(e)-1].e1:=i;

end;
end;

if radiogroup1.ItemIndex=3 then
begin
  for i:=0 to length(v)-1 do
   if (x>v[i].vx-10) and (x<v[i].vx+10) and (y>v[i].vy-10) and (y<v[i].vy+10) then
 begin
   x2:=v[i].vx;
   y2:=v[i].vy;
 end;
   for i:=0 to length(e)-1 do
    if (v[e[i].e1].vx>x2-10) and (v[e[i].e1].vx<x2+10) and
       (v[e[i].e1].vy>y2-10) and (v[e[i].e1].vy<y2+10) and
       (v[e[i].e2].vx>x1-10) and (v[e[i].e2].vx<x1+10) and
       (v[e[i].e2].vy>y1-10) and (v[e[i].e2].vy<y1+10) then
  begin
   e[i].e1:=0;
   e[i].e2:=0;
  end;
   for i:=0 to length(e)-1 do
    if (v[e[i].e2].vx>x2-10) and (v[e[i].e2].vx<x2+10) and
       (v[e[i].e2].vy>y2-10) and (v[e[i].e2].vy<y2+10) and
       (v[e[i].e1].vx>x1-10) and (v[e[i].e1].vx<x1+10) and
       (v[e[i].e1].vy>y1-10) and (v[e[i].e1].vy<y1+10) then
  begin
   e[i].e1:=0;
   e[i].e2:=0;
  end;
begin
   for i:=0 to length(v)-1 do
 begin
   repaint;
   canvas.Ellipse(v[i].vx-10,v[i].vy-10,v[i].vx+10,v[i].vy+10);
   canvas.TextOut(v[i].vx-3,v[i].vy-5,inttostr(i+1));
 end;
   for i:=0 to length(e)-1 do
 begin
   canvas.MoveTo(v[e[i].e2].vx,v[e[i].e2].vy);
   canvas.LineTo(v[e[i].e1].vx,v[e[i].e1].vy);
 end;
end;
end;
end;

procedure TForm1.FormPaint(Sender: TObject);
var
 i:integer;
begin
  for i:=0 to length(v)-1 do
 begin
   canvas.Ellipse(v[i].vx-10,v[i].vy-10,v[i].vx+10,v[i].vy+10);
   canvas.TextOut(v[i].vx-3,v[i].vy-5,inttostr(i+1));
 end;
  for i:=0 to length(e)-1 do
 begin
   canvas.MoveTo(v[e[i].e2].vx,v[e[i].e2].vy);
   canvas.LineTo(v[e[i].e1].vx,v[e[i].e1].vy);
 end;
end;

procedure TForm1.FormResize(Sender: TObject);
begin
 radiogroup1.Left:=form1.ClientWidth-radiogroup1.Width-5;
end;

procedure TForm1.N1Click(Sender: TObject);
var
i:integer;
begin
 if savedialog1.Execute then
begin
 assignfile(f1,savedialog1.FileName+".grf");
 rewrite(f1);
   for i:=0 to length(v)-1 do
 begin
 write(f1, inttostr(v[i].vx)+" "+inttostr(v[i].vy)+" ");
 end;
 writeln(f1);
  for i:=0 to length(e)-1 do
 begin
 write(f1, inttostr(e[i].e1)+" "+inttostr(e[i].e2)+" ");
 end;
 closefile(f1);
end;
end;

procedure TForm1.N2Click(Sender: TObject);
var
i:integer;
begin
i:=0;
if opendialog1.Execute then
begin
canvas.Brush.Color:=RGB(255,255,255);
canvas.Rectangle(0,0,width,height);
canvas.Brush.Color:=RGB(0,255,255);
assignfile(f2,opendialog1.FileName);
reset(f2);
setlength(v,0);
 begin
 repeat
  begin
   setlength(v,length(v)+1);
   read(f2, v[i].vx, v[i].vy);
   inc(i);
  end;
  until eoln(f2);
   setlength(v,length(v)-1);
end;
  reset(f2);
  i:=0;
  setlength(e,0);
  readln(f2);
  begin
 repeat
  begin
   setlength(e,length(e)+1);
   read(f2, e[i].e1, e[i].e2);
   inc(i);
  end;
  until eoln(f2);
   setlength(e,length(e)-1);
end;
 setlength(v,length(v)-length(e));
 for i:=0 to length(e)-1 do
 begin
   canvas.MoveTo(v[e[i].e2].vx,v[e[i].e2].vy);
   canvas.LineTo(v[e[i].e1].vx,v[e[i].e1].vy);
 end;
   for i:=0 to length(v)-1 do
 begin
   canvas.Ellipse(v[i].vx-10,v[i].vy-10,v[i].vx+10,v[i].vy+10);
   canvas.TextOut(v[i].vx-3,v[i].vy-5,inttostr(i+1));
 end;

end;
end;

procedure TForm1.N3Click(Sender: TObject);
begin
setlength(v,0);
setlength(e,0);
canvas.Brush.Color:=RGB(255,255,255);
canvas.Rectangle(0,0,width,height);
canvas.Brush.Color:=RGB(0,255,255);
o:=1;

end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
 var
 j:integer;
 begin
if (ssleft in shift) and (b<>-1)  then
begin
v[b].vx:=x;
v[b].vy:=y;
canvas.Brush.Color:=RGB(255,255,255);
canvas.Rectangle(0,0,width,height);
canvas.Brush.Color:=RGB(0,255,255);
   for j:=0 to length(e)-1 do
 begin
   canvas.MoveTo(v[e[j].e2].vx,v[e[j].e2].vy);
   canvas.LineTo(v[e[j].e1].vx,v[e[j].e1].vy);
 end;
   for j:=0 to length(v)-1 do
 begin
   canvas.Ellipse(v[j].vx-10,v[j].vy-10,v[j].vx+10,v[j].vy+10);
   canvas.TextOut(v[j].vx-3,v[j].vy-5,inttostr(j+1));
 end;

end;

end;
end.


 
Ega23 ©   (2010-04-15 21:47) [1]

344 рубля.


 
Мурад Севзиханов   (2010-04-15 21:47) [2]

в процедурах TForm1.FormMouseMove, TForm1.FormMouseUp, TForm1.FormMousedown где участвует переменная b есть ошибка только не пойму какая, пожалуйста если кто видет скажите


 
Игорь Шевченко ©   (2010-04-15 21:58) [3]

я вижу только неуважение к отвечающим



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.062 c
15-1269457611
Petr V. Abramov
2010-03-24 22:06
2010.08.27
Белка и Стрелка 3D


4-1234276707
Serafim
2009-02-10 17:38
2010.08.27
Не получается записать во входной буфер консоли WriteConsoleInput


2-1267226371
Дима
2010-02-27 02:19
2010.08.27
Загрузка текст.файла по индексу ListBox.


2-1270565008
Heckfy1990
2010-04-06 18:43
2010.08.27
SQL запрос на сумму


2-1274176649
Rail
2010-05-18 13:57
2010.08.27
связать бд с приложением





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский