Смещение как шестнадцатеричное из текстового поля - PullRequest
1 голос
/ 09 февраля 2010

Я использую lpBaseAddress : IntPtr

но ... мне нужно ввести шестнадцатеричное значение: - / как нормальное смещение

как на VB, это может быть что-то вроде:

offset = CLng("&H" + text)

Так что мне нужно взять значение из текстового поля и сделать ту же магию на C # (или Nemerle ^ _)

Ответы [ 2 ]

1 голос
/ 09 февраля 2010

Если вы просто хотите разобрать гекс:

string hex = "0a12cc";
long ptr = Convert.ToInt64(hex, 16);
IntPtr newPtr = new IntPtr(ptr);

Я использовал long здесь для иллюстрации, так как IntPtr может быть 32/64.

1 голос
/ 09 февраля 2010
offset = System.Convert.ToInt64(this.yourTextBox.Text, 16);

Вы уверены, что вам нужен Int64 (Long), а не только Int32 (Int)? Если вы кодер VB6, то вам нужен Int32 (Int), а не Long.

...