Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.20;
Скачать: CL | DM;

Вниз

Сохранять данные о позициях курсора в файл   Найти похожие ветки 

 
MaximatorVeter ©   (2002-06-08 16:14) [40]

Да сядь и напиши ты эту программу, главное начать!


 
Big Daddy ©   (2002-06-08 16:20) [41]

Да понимаете, это не мне надо, а брат попросил помочь. Ему нужно написать программу в школу на информатику. А он обратился за помощью ко мне. А я то сам и программировать толком не умею. Вот что теперь делать не знаю. К кому обратиться...


 
Big Daddy ©   (2002-06-08 16:41) [42]

Вот такая вот ситуация. Но всё равно спасибо, что пытались мне объяснить принцип работы!


 
MBo ©   (2002-06-08 17:00) [43]

дел-то на 15 минут


TForm1 = class(TForm)
start: TButton;
replay: TButton;
stop: TButton;
Memo1: TMemo;
view: TButton;
save: TButton;
Button2: TButton;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
list:=tlist.create;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
list.free;
end;

procedure TForm1.startClick(Sender: TObject);
begin
list.Clear;
rec:=true;
end;


procedure TForm1.stopClick(Sender: TObject);
begin
rec:=false;
end;

procedure TForm1.viewClick(Sender: TObject);
var i:integer;
begin
memo1.clear;
if not rec then
for i:=0 to list.count-1 do
memo1.lines.add(inttostr(integer(list[i]) and $3FF)+
#9+inttostr( (integer(list[i]) shr 10) and $3FF)+
#9+inttostr(integer(list[i]) shr 16));
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var ct:cardinal;
begin
if rec then begin
if list.count<>0 then
ct:=((gettickcount-t) shr 4 ) shl 20
else ct:=0;
list.add(pointer(x or (y shl 10) or ct ));
t:=gettickcount;
caption:=inttostr(list.count);
end;

end;

procedure TForm1.replayClick(Sender: TObject);
var i,x,y,tt:integer;
p,pp:tpoint;
begin
if not rec then begin
getcursorpos(pp);
for i:=0 to list.count-1 do begin
x:=integer(list[i]) and $3FF;
y:=(integer(list[i]) shr 10) and $3FF;
tt:=integer(list[i]) shr 16;
p:=point(x,y);
p:=clienttoscreen(p);
setcursorpos(p.x,p.y);
sleep(tt);
end;
setcursorpos(pp.x,pp.y);
end;
end;

procedure TForm1.saveClick(Sender: TObject);
var f:file of integer;
i,j:integer;
begin
if (not rec) and (list.count>0) then begin
assignfile(f,"c:\mov.dat");
rewrite(f);
write(f,list.count);
for i:=0 to list.count-1 do begin
j:=integer(list[i]);
write(f,j);
end;
closefile(f);
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var f:file of integer;
i,j,l:integer;
begin
if (not rec) then begin
assignfile(f,"c:\mov.dat");
reset(f);
read(f,l);
list.clear;
list.Capacity:=l;
for i:=0 to l-1 do begin
read(f,j);
list.add(pointer(j));
end;
closefile(f);
end;
end;


 
Big Daddy ©   (2002-06-08 17:04) [44]

MBo, спасибо!
Можно сказать, аттестат брату спас!
Ещё раз спасибо!


 
MBo ©   (2002-06-08 17:08) [45]

update Pack ;)

procedure TForm1.viewClick(Sender: TObject);
var i:integer;
begin
memo1.clear;
if not rec then
for i:=0 to list.count-1 do
memo1.lines.add(inttostr(integer(list[i]) and $3FF)+
#9+inttostr( (integer(list[i]) shr 10) and $3FF)+
#9+inttostr((integer(list[i]) shr 20) shl 4));
end;

procedure TForm1.replayClick(Sender: TObject);
var i,x,y,tt:integer;
p,pp:tpoint;
begin
if not rec then begin
getcursorpos(pp);
for i:=0 to list.count-1 do begin
x:=integer(list[i]) and $3FF;
y:=(integer(list[i]) shr 10) and $3FF;
tt:=(integer(list[i]) shr 20) shl 4;
p:=point(x,y);
p:=clienttoscreen(p);
setcursorpos(p.x,p.y);
sleep(tt);
end;
setcursorpos(pp.x,pp.y);
end;
end;


 
Денис Рачдченко   (2002-06-09 08:33) [46]

GetCursorPos()



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

Текущий архив: 2002.06.20;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.013 c
14-65242
XeN
2002-05-18 23:01
2002.06.20
Гыгыгыгы


1-65160
Igit
2002-06-07 20:36
2002.06.20
цикл repeat..until false. Как параллельно с ним че-нить делать.


1-65052
kioto
2002-06-10 08:44
2002.06.20
Как отловить нажатие кнопок-стрелок ?


8-65179
Val
2002-02-04 18:31
2002.06.20
Прозрачность формы и TImage


3-64934
fishka
2002-05-24 12:05
2002.06.20
INTERBASE и CONSTRAINT