Гость Опубликовано 11 января, 2015 Поделиться Опубликовано 11 января, 2015 NullAlex, оно не будет через ReadProcessMemory читать сразу Double, оно будет читать байты. Байты нужно преобразовать в Double после прочтения, а уже Double - в текстовую строку.Ну, для того и написано SizeOf(), но в новых Delphi уже есть возможность получения Double значения в буфер, автору темы просто осталось это применить на практике, немного почитав про свою версию IDE. Ссылка на комментарий Поделиться на другие сайты Поделиться
∟DarkPan Опубликовано 11 января, 2015 Автор Поделиться Опубликовано 11 января, 2015 Я вообще нифига не понимаю, выводит тип 4 байта, что делать - хзвот функция: function Debugger(GameHandle: THandle; const Address: Pointer): DWORD;var ReadValue: SIZE_T; ViewValue: DWORD;begin ReadProcessMemory(GameHandle, Address, @ViewValue, SizeOf(ViewValue), ReadValue); Result := ViewValue;end; Вот как формаляю код в прогрммеvar Address: Double;begin GHandle := OpenProcess($001FFFFF, False, pID); Address := BlackScanner.Debugger(GHandle, Pointer($003E9468)); SpinEdit1.Text := FloatToStr(Address);выводит поганых 4 байта Ссылка на комментарий Поделиться на другие сайты Поделиться
Vlad2 Опубликовано 11 января, 2015 Поделиться Опубликовано 11 января, 2015 function ReadFloat(Address: Cardinal): Single;varReaden: Cardinal;Data: Double;begin ReadProcessMemory(PidHandle, Pointer(Address), @Data, SizeOf(Data), Readen); result:=Data;end;Вывод : Edit1.Text := FloatToStr(readFloat(Adress)); Ссылка на комментарий Поделиться на другие сайты Поделиться
∟DarkPan Опубликовано 11 января, 2015 Автор Поделиться Опубликовано 11 января, 2015 (изменено) function ReadFloat(Address: Cardinal): Single;varReaden: Cardinal;Data: Double;begin ReadProcessMemory(PidHandle, Pointer(Address), @Data, SizeOf(Data), Readen); result:=Data;end;Вывод : Edit1.Text := FloatToStr(readFloat(Adress)); Во! у тебя единственный норм вариант, и то:есть погрешность-- Оригинал: 1.62500044514339в едит выводит так: 1,62500047683716============ВСЁ, спасибо всем, и владу, извините те, кому вынес мозг сегодня, прошу удалить тему Изменено 11 января, 2015 пользователем ∟DarkPan Ссылка на комментарий Поделиться на другие сайты Поделиться
Vlad2 Опубликовано 11 января, 2015 Поделиться Опубликовано 11 января, 2015 В твоей задаче это так принципиально?) Ссылка на комментарий Поделиться на другие сайты Поделиться
∟DarkPan Опубликовано 11 января, 2015 Автор Поделиться Опубликовано 11 января, 2015 В твоей задаче это так принципиально?)Я уже всё сделал Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 11 января, 2015 Поделиться Опубликовано 11 января, 2015 Закрыто. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения