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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.12.2010, 11:45   #11
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

выдернул из OPSTRING.PAS

Код:
{*********************************************************}
{*                  OPSTRING.PAS 1.21                    *}
{*     Copyright (c) TurboPower Software 1987, 1992.     *}
{*                 All rights reserved.                  *}
{*********************************************************}

type
  OS =
    record
      O, S : Word;
    end;
  Long =
    record
      LowWord, HighWord : Word;
    end;
const
  Digits : array[0..$F] of Char = '0123456789ABCDEF';


  function HexW(W : Word) : string;
    {-Return hex string for word}
  begin
    HexW[0] := #4;
    HexW[1] := Digits[hi(W) shr 4];
    HexW[2] := Digits[hi(W) and $F];
    HexW[3] := Digits[lo(W) shr 4];
    HexW[4] := Digits[lo(W) and $F];
  end;


  function HexPtr(P : Pointer) : string;
    {-Return hex string for pointer}
  begin
    {HexPtr := HexW(Seg(P^))+':'+HexW(Ofs(P^));}   {!!.20}
    HexPtr := HexW(OS(P).S)+':'+HexW(OS(P).O);     {!!.20}
  end;


Хотя, мне кажется, Вы "странного" хотите...
Ну зачем Вам адрес переменной?
Просто из чистого любопытства?

Последний раз редактировалось Serge_Bliznykov; 30.12.2010 в 11:50.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.12.2010, 11:52   #12
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

О, отлично, спасибо, тему можно закрыть.

Цитата:
Хотя, мне кажется, Вы "странного" хотите...
Ну зачем Вам адрес переменной?
Просто из чистого любопытства?
Ну как. Просто интересно, по какому адресу находится переменная. Вот просто недавно нашёл в учебнике по С++ как найти адрес переменной. Стало интересно, как это сделать на Паскале.
_-Re@l-_ вне форума Ответить с цитированием
Старый 30.12.2010, 11:52   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Всё равно таким образом адрес переменной не получить, только значение!
Бегом матчасть учить!!! Немедленно!!!
Заклюют тебя за такие вопросы, как пить дать заклюют.
Цитата:
Результатом будет шестнадцатеричное число
16-ричное число к адресу не имеет никакого отношения. абсолютно никакого. просто в истории повелось та что адресация для программистов в связи с удобопонимаемостью пишется в 16-ричном виде, не более.
Переведи integer(P) в HEX и радуйся. Я правда не помню как это в Паскале делается, но перевести можно, и примеры перевода тут уже обсуждались.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.12.2010, 11:55   #14
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
16-ричное число к адресу не имеет никакого отношения. абсолютно никакого. просто в истории повелось та что адресация для программистов в связи с удобопонимаемостью пишется в 16-ричном виде, не более.
Переведи integer(P) в HEX и радуйся. Я правда не помню как это в Паскале делается, но перевести можно, и примеры перевода тут уже обсуждались.
Это я понял.
Цитата:
Бегом матчасть учить!!! Немедленно!!!
Заклюют тебя за такие вопросы, как пить дать заклюют.
Да при чём здесь матчасть?
_-Re@l-_ вне форума Ответить с цитированием
Старый 30.12.2010, 11:57   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Да при чём здесь матчасть?
А при том что ней написано как работать с указателями в Паскале и что это вообще такое указатели.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.12.2010, 11:59   #16
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
А при том что ней написано как работать с указателями в Паскале и что это вообще такое указатели.
Stilet, уж поверьте - я знаю что такое указатели и как с ними работать. Вот только не знал как адрес получить.
_-Re@l-_ вне форума Ответить с цитированием
Старый 30.12.2010, 12:02   #17
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
я знаю что такое указатели и как с ними работать.
Дружище, когда я изучал указатели по советским книгам это первое что было описано в ней. Именно механизм указателей прям в начале главы и разбирался (жаль книгу не помню...).
Так что считай что это ты основу упустил, потому и говорю - наверстывай.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Адрес переменной _-Re@l-_ Общие вопросы .NET 3 25.12.2010 16:58
Адрес переменной kostyan777 Общие вопросы C/C++ 4 11.07.2010 22:16
Адрес переменной: Вопрос Black-Sparkle Общие вопросы C/C++ 11 11.08.2009 14:59
Снова про адрес переменной Pedro Общие вопросы Delphi 2 17.12.2008 21:53
Адрес переменной Pedro Общие вопросы Delphi 11 16.12.2008 13:03