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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2013, 14:53   #1
svob
Пользователь
 
Регистрация: 22.11.2012
Сообщений: 47
По умолчанию Кодировка

Здравствуйте, у меня такая проблема :
Я хочу прочитать память процесса и вывести её в edit4. Но выводит символы/цифры/буквы непонятной кодировки. Заметил только одно, то, что если эта ячейка равна например "13" то символ, который будет в edit4 будет alt + 13 (на нумлоке) Как сделать чтобы выводило нормальные цифры


Код:
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var
  a : integer;
  hProc, PID : DWORD;
  hWnd : THandle;
  numberRead : THandle;
  IpBuf :  PWideChar; 
  len : integer;
  ipBase: ^dword; 
  Buf : PChar;
  Write:cardinal;
begin
  hWnd:=findwindow(nil,'Game');
  Edit1.Text:=inttostr(hWnd); 
  GetWindowThreadProcessId(hWnd, @PID); 
  Edit2.Text:=inttostr(PID); 
  hProc:=OpenProcess(PROCESS_ALL_ACCESS, False, PID); 
  if hProc <> 0 then 
  try
    len   := 200;
    ipBuf := AllocMem(len);
    Edit3.Text:=inttostr(hProc); 
    //ipBase:=ptr($0008EBAA);
    ipBase:=ptr($131F4747);
    //ReadProcessMemory(hProc, ipBase, ipBuf, len, numberRead); /
    ReadProcessMemory(hProc, ipBase, ipBuf, len, numberRead);
    Edit4.Text:=FormatFloat ('0', a);
    Edit4.Text:=string(ipbuf); 
    Edit4.MaxLength := 10;
    label1.Caption:=string(ipbuf); 
  finally
    CloseHandle(hProc);
    FreeMem(ipBuf);
  end;
end;
Буду очень благодарен за помощь
svob вне форума Ответить с цитированием
Старый 11.11.2013, 15:14   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Символы и буквы будет выводить правльно.
Для чисел используй IntToStr()
Только в этом случае нужно либо типы приводить к целому, либо что лучше читать именно в переменку типа integer
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.11.2013, 15:28   #3
svob
Пользователь
 
Регистрация: 22.11.2012
Сообщений: 47
По умолчанию

Можно кодом? Мне так проще будет усвоить
svob вне форума Ответить с цитированием
Старый 11.11.2013, 15:58   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
var intt:integer;
...
    ReadProcessMemory(hProc, ipBase, intt, sizeof(intt), numberRead);
    Edit4.Text:=inttostr(intt);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.11.2013, 16:01   #5
svob
Пользователь
 
Регистрация: 22.11.2012
Сообщений: 47
По умолчанию


Вот
svob вне форума Ответить с цитированием
Старый 11.11.2013, 16:04   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Тебе стоит научиться различать параметры передаваемые в процедуру:
@intt
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кодировка kilogram PHP 2 01.07.2012 19:22
кодировка Кристинка89 Общие вопросы Delphi 3 25.08.2011 14:37
Кодировка ExHang Помощь студентам 3 12.01.2011 22:00
Кодировка... Chi HTML и CSS 4 04.01.2009 09:23
Кодировка MAcK Общие вопросы .NET 5 11.11.2008 13:34