![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Мне надо такую функцию, что б в нее вводились некоторые координаты, а она проводила над ними некоторые операции с ними, выдовала их.
Я ни в чем никогда не уверен... И в этом тоже... ![]() |
#2
|
||||
|
||||
![]() Код:
procedure someproc(var x,y:integer); т.е. значения в процедуру передаются не по значению, а по ссылке. Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#3
|
|||
|
|||
![]() Боюсь меня неправильно поняли...
Есть 2 точки; Одна из них по этой процедуре должна перемещаться к другой; значит процедура получает 4 числа (координаты 1 и 2 точки), а выдает уже 2 (новые координаты первой точки)... Как это сделать? Если можно то напишите код проги которая будет использовать эту процку. Зарание спасибо... Я ни в чем никогда не уверен... И в этом тоже... ![]() |
#4
|
|||
|
|||
![]() Цитата:
Код:
Type TPoint=record x,y: integer; end; var Point1, Point2: TPoint function MovePoint(P1, P2: TPoint):TPoint; begin // тут код перемещения P1 Result:=P1; end; |
#5
|
|||
|
|||
![]() Все понял!
![]() Я ни в чем никогда не уверен... И в этом тоже... ![]() |
#6
|
|||
|
|||
![]() Написал такой код:
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Buttons; type TPoint=record x,y: integer; end; TForm1 = class(TForm) Timer1: TTimer; s: TSpeedButton; procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var i : integer; Form1: TForm1; implementation {$R *.dfm} function MovePointRound(x1,y1,x2,y2,l,i : Integer): TPoint; begin x1 := x2+Round(l*cos(i)); y1 := y2+Round(l*sin(i)); end; procedure TForm1.Timer1Timer(Sender: TObject); var p : Tpoint; begin p := MovePointRound(s.Left,s.Top,500,500,79,i); s.Left := p.x; s.Top := p.y; i := i + 10; end; procedure TForm1.FormCreate(Sender: TObject); begin i := 10; end; end. ![]() Я ни в чем никогда не уверен... И в этом тоже... ![]() |
#7
|
|||
|
|||
![]() Код:
..... var ..... p:TPoint .... procedure TForm1.FormCreate(Sender: TObject); begin i := 10; p.x:=500; p.y:=500; end; procedure TForm1.Timer1Timer(Sender: TObject); begin p := MovePointRound(79,i,p); s.Left := p.x; s.Top := p.y; i := i + 10; end; function MovePointRound(l,i : Integer;P1:TPoint): TPoint; begin result.x:=P1.x+Round(l*cos(i)); result.y:=P1.y+Round(l*sin(i)); end; Последний раз редактировалось k@Z@k, 29.01.2009 в 15:51. |