Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2008, 19:13   #11
knight
Дон Кихот
Форумчанин
 
Аватар для knight
 
Регистрация: 17.01.2008
Сообщений: 130
По умолчанию

Ставиш таймер на форму, кликаешь по нему 2 раза, он создает событие OnTimer, а уже в нем пишешь вызов функции нажатия клавиши...
knight вне форума Ответить с цитированием
Старый 04.12.2008, 19:16   #12
knight
Дон Кихот
Форумчанин
 
Аватар для knight
 
Регистрация: 17.01.2008
Сообщений: 130
По умолчанию

кнопки доп. клавы
VK_DECIMAL - точка
VK_MULTIPLY - умножить
VK_NUMPAD0..VK_NUMPAD9 - цифры
VK_DIVIDE - делить
и тд
knight вне форума Ответить с цитированием
Старый 04.12.2008, 19:38   #13
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Цитата:
Сообщение от Дикий Посмотреть сообщение
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Interval(Edit1.Text);
end;
в принципе знал я что это будет ошибкой...

как правильно будет??
Вам надо присваивать значение так:
Код:
Procedure TForm1.Button1Click(Sender: TObject);
Begin
Timer1.Interval:=StrToInt(Edit1.Text);
End;
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 04.12.2008, 21:46   #14
Дикий
Пользователь
 
Аватар для Дикий
 
Регистрация: 10.05.2008
Сообщений: 89
По умолчанию

Build
[Error] Unit1.pas(35): Statement expected but 'FUNCTION' found
[Error] Unit1.pas(37): Undeclared identifier: 'TBuffer'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
//Функция нахождения кода окна по части имени
function soaFindWindow(ATitle: string): THandle;
var hwnd : integer;
    Buffer : ^TBuffer;
    count  : integer;
Соррриии.. .ну простите нуба
...у зверя свобода её лишь ищи...

Дикий 21.08.2005
Дикий вне форума Ответить с цитированием
Старый 04.12.2008, 22:17   #15
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Цитата:
Сообщение от Дикий Посмотреть сообщение
Build
[Error] Unit1.pas(35): Statement expected but 'FUNCTION' found
[Error] Unit1.pas(37): Undeclared identifier: 'TBuffer'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
//Функция нахождения кода окна по части имени
function soaFindWindow(ATitle: string): THandle;
var hwnd : integer;
    Buffer : ^TBuffer;
    count  : integer;
Соррриии.. .ну простите нуба
Функции в таймер не ставят) Их обычно вызывают. К примеру:
Код:
//Функция нахождения кода окна по части имени
function soaFindWindow(ATitle: string): THandle;
var hwnd : integer;
    Buffer : ^TBuffer;
    count  : integer;
...
procedure TForm1.Timer1Timer(Sender: TObject);
begin
soaFindWindow('AAA');
End;
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 05.12.2008, 01:32   #16
Дикий
Пользователь
 
Аватар для Дикий
 
Регистрация: 10.05.2008
Сообщений: 89
По умолчанию

Плин.. .я тормоз.. не ругайтесь пож... просто хочу разобраться - кому не в падлу!!

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  soaFindWindow: THandle;
  soaPressEnter: integer;

implementation

{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
  begin
    Timer1.Interval:=StrToInt(Edit1.Text);
  end;

procedure TForm1.Timer1Timer(Sender: TObject);
  begin
    soaFindWindow(ATitle: string); //[Error] Unit1.pas(40): Missing operator or semicolon
  end;

//Функция нахождения кода окна по части имени
function soaFindWindow(ATitle: string): THandle; //[Error] Unit1.pas(44): Identifier redeclared: 'soaFindWindow'
var hwnd : integer;
    Buffer : ^TBuffer; //[Error] Unit1.pas(46): Undeclared identifier: 'TBuffer'
    count  : integer;
begin

 New(Buffer);
 hwnd := GetTopWindow(0);
 count := 0;
 while hwnd <> 0 do
  begin
       hwnd := GetNextWindow(hwnd, GW_HWNDNEXT);
       GetWindowText(hwnd, Buffer^, 254);
       if (Buffer^ = ATitle)
         then begin
           Result := hwnd;
           Exit;
         end;
    if count >= 100 then Break;
  end;
  Dispose(Buffer);
  Result := 0;
end;
//Жмет [[ на окно с именем  ATitle
function soaPressEnter(ATitle: string): integer; //[Error] Unit1.pas(68): Identifier redeclared: 'soaPressEnter'
var hwnd: THandle;
begin
  hwnd := soaFindWindow(ATitle); //[Error] Unit1.pas(71): Missing operator or semicolon
  if hwnd > 0 then
    begin
       PostMessage(hwnd, WM_KEYDOWN, VK_NUMPAD8, 0);
       PostMessage(hwnd, WM_KEYUP, VK_NUMPAD8, 0);
       Result := 1;
    end
  else Result := 0;
end;


end.

просто хочется видеть всё, где я ступил.... так что прошу помощи... а то я пол дня долблюсь... и до этого три дня сам пытался...(правда не так напористо :-[)

И еще надо бы сделать что бы после того, как сработал таймер, всё повторялось снова на автомате...
...у зверя свобода её лишь ищи...

Дикий 21.08.2005

Последний раз редактировалось Дикий; 05.12.2008 в 02:07.
Дикий вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Таймер в С# kommunist Общие вопросы .NET 3 02.06.2008 12:11
ТАЙМЕР ratibor32 Общие вопросы C/C++ 1 26.12.2007 19:02
таймер Романнн Общие вопросы Delphi 19 19.12.2007 15:33
таймер darkcoder Общие вопросы Delphi 5 06.12.2007 06:14
Таймер Stanislav Общие вопросы Delphi 3 26.11.2007 06:52