Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 10.08.2013, 08:58
fora1983 fora1983 вне форума
Прохожий
 
Регистрация: 02.08.2013
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию ошибка checkbox1

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,IdUDPServer,IniFiles, TlHelp32, StdCtrls, ExtCtrls, Gauges,
   IdBaseComponent, IdComponent, IdUDPBase, IdUDPClient, ComCtrls, mmsystem,
  XPMan, Buttons;

type
  TForm1 = class(TForm)
      Gauge1: TGauge;
    Timer1: TTimer;
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    Label7: TLabel;
    Edit3: TEdit;
    Timer2: TTimer;
    Label9: TLabel;
    CheckBox1: TCheckBox;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);


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

var
  wideChars   : array[0..11] of WideChar;
  myString    : String;
  Form1: TForm1;
  //i,rw:DWord;
  ch:WideChar;
  wch:array[0..255] of WideChar;
  KlientWindow:HWND; //Handle клиента
  ProcessId:Integer;
  hProcess:Integer; //Идентификатор объекта
  HPMinValue:Integer; //Минимальное значение ХП (из Edit1)
//  MPMinValue:Integer; //Минимальное значение МП (из Edit2)
  L:Integer;           // уров
//Nik:TListItem;          //ник
//  M:Integer;           //бабло
//Nik : String;
//  Nik : Integer ;
//  ID:Integer;
  sss:  String;
//  key:string;
data,rw:dword;
str:string;

implementation

{$R *.dfm}

procedure TForm1.Timer2Timer(Sender: TObject);
begin
if
Gauge1.Progress = 0    then
	begin
 PlaySound('bietsa.wav', 0, SND_ASYNC);
    Label9.Caption:='Сдох (x_x)';
	end
	else
begin
Label9.Caption:='Живой (^_^)';
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
  hSnap,hProc :THandle;
  pe:TProcessEntry32;
begin


    sss:=edit3.text;
  KlientWindow := FindWindow(nil, PChar(sss)) ;//Находим Handle окна
  GetWindowThreadProcessId(KlientWindow,@ProcessId); //Получаем И.П.
  hProcess := OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId); //Открываем процесс с возможностью записи

  Timer1.Enabled := True;
  Timer2.Enabled := True;
end;



procedure TForm1.Button2Click(Sender: TObject);

begin
PlaySound('c:\1.wav', 0, SND_ASYNC);
Timer1.Enabled := False;
Timer2.Enabled := False;

end;

procedure TForm1.CheckBox1Click(Sender: TObject);
var
  hSnap,hProc :THandle;
  pe:TProcessEntry32;
begin
if checkbox1.Checked
 then
  sss:=edit3.text;
  KlientWindow := FindWindow(nil, PChar(sss)); //Находим Handle окна
  GetWindowThreadProcessId(KlientWindow,@ProcessId); //Получаем И.П.
  hProcess := OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId); //Открываем процесс с возможностью записи
  Timer1.Enabled := True;
  Timer2.Enabled := True
   else
   Timer1.Enabled := False;
Timer2.Enabled := False;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
function GetPlayerName(Local_hProc:dword):string;
var HP,HPMax,MP,MPMax:Integer;
    WHP,WHPMax,L,WMP,WMPMax,Lvl,Nikname,Nik,M,Money,IDs,str,data,ID,Opit,O,Omax,Om,NoB:DWord;

 begin
try//На всякий случай заключаем в try...except, дабы в случай релога не засыпать пользователя ошибками
   ReadProcessMemory (hProcess, Pointer($00B9029C), @WHP, sizeof(WHP), NoB);
   ReadProcessMemory (hProcess, Pointer(WHP+$34), @WHP, sizeof(WHP), NoB);
    ReadProcessMemory (hProcess, Pointer(WHP+$0494), @WHP, sizeof(WHP), NoB); //Читаем значение HP
    HP := Integer(WHP); //Переводим Integer
    ReadProcessMemory (hProcess, Pointer($00B9029C), @WHPMax, sizeof(WHPMax), NoB);
    ReadProcessMemory (hProcess, Pointer(WHPMax+$34), @WHPMax, sizeof(WHPMax), NoB);
    ReadProcessMemory (hProcess, Pointer(WHPMax+$04DC), @WHPMax, sizeof(WHPMax), NoB); //Читаем значение MaxHP
    HPMax := Integer(WHPMax); //Переводим Integer
    Gauge1.Progress := round(HP * 100 / HPMax);  //Присваиваем процентное значение HP Gauge1
     ReadProcessMemory (hProcess, Pointer($00B9029C), @Lvl, sizeof(Lvl), NoB);
    ReadProcessMemory (hProcess, Pointer(Lvl+$34), @Lvl, sizeof(Lvl), NoB);
    ReadProcessMemory (hProcess, Pointer(Lvl+$048C), @Lvl, sizeof(Lvl), NoB);
    L := Integer(Lvl); //Переводим Integer
    Label7.Caption := IntToStr(L);
   except
end;
end;
var HP,HPMax,MP,MPMax:Integer;
    WHP,WHPMax,L,WMP,WMPMax,Lvl,Nikname,Nik,Local_hProc,Result,M,Money,IDs,str,data,ID,Opit,O,Omax,Om,NoB:DWord;

BEGIN
try//На всякий случай заключаем в try...except, дабы в случай релога не засыпать пользователя ошибками
    ReadProcessMemory (hProcess, Pointer($00B9029C), @WHP, sizeof(WHP), NoB);
    ReadProcessMemory (hProcess, Pointer(WHP+$34), @WHP, sizeof(WHP), NoB);
    ReadProcessMemory (hProcess, Pointer(WHP+$0494), @WHP, sizeof(WHP), NoB); //Читаем значение HP
    HP := Integer(WHP); //Переводим Integer
    ReadProcessMemory (hProcess, Pointer($00B9029C), @WHPMax, sizeof(WHPMax), NoB);
    ReadProcessMemory (hProcess, Pointer(WHPMax+$34), @WHPMax, sizeof(WHPMax), NoB);
    ReadProcessMemory (hProcess, Pointer(WHPMax+$04DC), @WHPMax, sizeof(WHPMax), NoB); //Читаем значение MaxHP
    HPMax := Integer(WHPMax); //Переводим Integer
    Gauge1.Progress := round(HP * 100 / HPMax);  //Присваиваем процентное значение HP
     ReadProcessMemory (hProcess, Pointer($00B9029C), @Lvl, sizeof(Lvl), NoB);
    ReadProcessMemory (hProcess, Pointer(Lvl+$34), @Lvl, sizeof(Lvl), NoB);
    ReadProcessMemory (hProcess, Pointer(Lvl+$048C), @Lvl, sizeof(Lvl), NoB);
    L := Integer(Lvl); //Переводим Integer
    Label7.Caption := IntToStr(L);
EXCEPT
end;

end;
end.

1)ошибка 
[DCC Error] Unit1.pas(118): E2029 'END' expected but 'ELSE' found
[DCC Fatal Error] Project1.dpr(9): F2063 Could not compile used unit 'Unit1.pas'
не могу понять в чем ошибка весь интернет пересмотрел все варианты указанные в интеренете не подходят.
2) хотелось бы узнать почему кодReadProcessMemory (hProcess, Pointer($00B9029C),
требуется 2 раза повторять или писать в пустую
begin
end;
end;
begin
end;
end.
Админ: Пользуемся тегами для оформления кода!

после этого ошибка проподала (в данном случае избавился он нее повторением кода в очередной begin)

Последний раз редактировалось Admin, 10.08.2013 в 11:01.
Ответить с цитированием
  #2  
Старый 10.08.2013, 11:25
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

разберитесь с секцией try ... end в procedure TForm1.Timer1Timer(Sender: TObject); У вас там все перемешалось и функция вложенная и try
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 10.08.2013, 19:33
fora1983 fora1983 вне форума
Прохожий
 
Регистрация: 02.08.2013
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

[quote=Страдалецъ]разберитесь с секцией try ... end в procedure TForm1.Timer1Timer
Спасибо там исправил осталось проблема с checkbox1
при установке изначально галки все работает но после того как была убрана программа необходимо чтоб прекращала работу в данном коде ошлика не могу решить ее (
Ответить с цитированием
  #4  
Старый 11.08.2013, 21:08
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Есть подозрение, что в CheckBox1Click вы begin end для условия не поставили.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:07.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025