![]() |
Модераторы: volvo877, Snowy, MetalFan |
![]() ![]() ![]() |
|
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: нет Всего: 5 |
Припустим у меня есть указатель P. Мне надо увидеть (string, integer...) што в ньом записано. И Потом перетворить обратно з "видемого" типа в укразель. ТОпто я хочу читать и вручную укразевать даные для укрателя.
|
|||
|
||||
vadims |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 8.6.2005 Репутация: нет Всего: 17 |
Что значит 'увидеть' ???
-------------------- Cpu not found ! Press any key for software emulation. |
|||
|
||||
Guest |
|
|||
Unregistered |
ShowMessage(DWord(P))
|
|||
|
||||
TP@MB@Y |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 18.12.2004 Где: Москва Репутация: нет Всего: 4 |
Diesel Draft
Если допустим у тебя есть указатель на произвольный тип (т.е. любой):
То чтобы обратиться к информации на которую он указывает надо: p^ т.е. если info имеет тип Type, то чтобы присвоить значение на которое ссылается указатель p надо так:
|
||||
|
|||||
Chrisstoff |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 28.5.2005 Где: Hell... жудкое ме сто Репутация: нет Всего: 1 |
Мыж таки русские люди должны понимать друг друга ... но это ... ну вощем ладно ...
ну а чём проблема то ... я так понимаю что когда афтор говорит "указатель P"... то подрузамевается указатель на не определённый тип ... тобишь Pointer. Вот ну а прокастовать его уже к указателю на конкретный тип помом ничё сложного ....
|
|||
|
||||
Romtek |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 7.12.2004 Где: Холон Репутация: нет Всего: 4 |
Для типизированных указателей же всё проще: никакого кастинга вообще не надо.
--------------------
Romiras HomeLab - материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и пр. |
||||||
|
|||||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: нет Всего: 5 |
припустим указател указевает на адрес 11223344
мне надо увидеть или вручную указать куда имено он указевает |
|||
|
||||
TP@MB@Y |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 18.12.2004 Где: Москва Репутация: нет Всего: 4 |
Diesel Draft
Т.е. тебя интересут сам адрес? Если так, то он содержится непосредственно в указателе (как это не парадоксально) - 4 байта. Присваивай какой хочешь адрес и выводи на экран если хочешь посматреть. В чем проблема? ![]() |
|||
|
||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: нет Всего: 5 |
Как мне увидеть какой имено там адрес?
|
|||
|
||||
TP@MB@Y |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 18.12.2004 Где: Москва Репутация: нет Всего: 4 |
Diesel Draft
Походу просто так не вывести. Попробуй поюзать функции определения сегмента и смещения. Seg() Ofs() |
|||
|
||||
Chrisstoff |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 28.5.2005 Где: Hell... жудкое ме сто Репутация: нет Всего: 1 |
TP@MB@Y
Если я ничего не путаю то присваивать указателю "какой хочешь адрес" нельзя! |
|||
|
||||
TP@MB@Y |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 18.12.2004 Где: Москва Репутация: нет Всего: 4 |
Chrisstoff
Проверил в паскале. Действительно нельзя. Diesel Draft Если не секрет, для чего вам надо знать конкретный адрес? Если вы хотите работать с памятью на низком уровне - юзайте асемблер (встроенный в паскаль). |
|||
|
||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: нет Всего: 5 |
У меня меню создано на основе TWebBrozer
припусти я хочу удалить елемент з списка созданого на основе указалелей. Так как список постоянно загружаетса и сортуетса я не можу работать припустим з порядковыми нолмерамы. Я ести я передам з браузера даные припустим "Del FF7812" и приму их то вся проблема решена |
|||
|
||||
TP@MB@Y |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 18.12.2004 Где: Москва Репутация: нет Всего: 4 |
Diesel Draft
Насколько я понял, вы "копаете не там где надо" ![]() Для работы с динамической цепочкой не нужно знать физический адрес, содержащийся в указателе какогото звена. Все делается намного проще. Вот модуль, написанный мной, для работы с динамической цепочкой:
Там он привязан к типу Elem, но ты можешь заменть на любой - принцип работы остается неизменным. |
|||
|
||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: нет Всего: 5 |
Ето простой стандартный список. Такой так и у меня. а мне надо
ПРистутим Припустим у нас есть указатель Р и любая переменная М. Р := @М; как мне узнать какой имено адрес знаходетса в Р. Надо прочетать не значение М а только адрес. Надо перевести его в стринг или в интеджер |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi" | |
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |