Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];

Вниз

Что такое ^P?   Найти похожие ветки 

 
AlexKniga ©   (2006-08-14 12:23) [0]

var P: Pointer;
P^ то куда указывает P.
А что такое ^P ?


 
AlexKniga ©   (2006-08-14 12:24) [1]

Компилятор съедает это ^P, но прога дает AV.


 
Elen ©   (2006-08-14 12:28) [2]

You can declare a pointer to any type, using the syntax

type pointerTypeName = ^type

Кажись такая запись используется только в обьявлениях переменных
А что за код?


 
Ega23 ©   (2006-08-14 12:28) [3]

P^ - значение, которое лежит по тому адресу, на который указывает P.


 
Сергей М. ©   (2006-08-14 12:29) [4]


> что такое ^P ?


Указатель на указатель.


 
Lamer@fools.ua ©   (2006-08-14 12:51) [5]

>А что такое ^P ?

Недопустимая конструкция. "Крышка" (^) указывается либо перед типом (указатель на тип), либо после переменной (разыменование).


 
MBo ©   (2006-08-14 13:00) [6]

>А что такое ^P ?
>Недопустимая конструкция

Ну почему же недопустимая ;)
^P - Это один из способов ввода символа #16 (DLE) (подобно ^C = Ctrl-C = #3 = ETX)


 
AlexKniga ©   (2006-08-14 13:00) [7]

Elen, Lamer@fools.ua
Код уже затер. Возпроизвести момент когда это ^P компилировалось не смог (много воды утекло). Но Watch list этот ^P съедает.


 
AlexKniga ©   (2006-08-14 13:14) [8]

Попробовал несколько вариантов, НЕ получается скомпилировать это ^P. Ситуация когда ^P компилировалась, была в пятницу. После выходных уже не вспомнить. ^P компилировалось скорее всего из-за явного преобразования типов. Повторяю: счас мне не удалось это повторить.


 
AlexKniga ©   (2006-08-14 13:15) [9]

Тема закрыта.


 
Elen ©   (2006-08-14 13:15) [10]


> Ситуация когда ^P компилировалась

Компилировалась в выполнении кода или при обьявлениях переменных или типов? код приведи сегодняшний


 
Elen ©   (2006-08-14 13:16) [11]

Ну закрыта так закрыта


 
AlexKniga ©   (2006-08-14 13:51) [12]

Elen
Компилировалась в выполнении кода.

Счас
var pMemMap: Pointer;
...
FillChar(pMemMap^, 1024, #0);

Было примерно так:
var pMemMap: Типа специализированный указатель;
...
FillChar(Pointer(^pMemMap), 1024, #0);


 
Сергей М. ©   (2006-08-14 13:57) [13]


> Было примерно так


Скорее всего было так

FillChar(Pointer(pMemMap^), 1024, #0);

А поскольку Pointer здесь лишний, то можно еще короче

FillChar(pMemMap^, 1024, #0);


 
Zeqfreed ©   (2006-08-14 14:10) [14]

Вот вполне компилирующийся код :)

var
 s : String;
begin
 s := ^P;


P.S. Кто знает где данная фича описана в документации (или других, возможно не официальных, источнииках), пожалуйста, поделитесь информацией. А то никак не могу найти.


 
MBo ©   (2006-08-14 14:38) [15]

>Кто знает где данная фича описана в документации (или других, возможно не официальных, источнииках),

Это поддерживаемое для совместимости наследие старинного Паскаля (уже в руководстве по языку TP7 такой способ задания символьных констант не упоминался)

http://www.codenet.ru/progr/other/lpas1.php


 
Zeqfreed ©   (2006-08-14 15:30) [16]

> [47] MBo ©   (14.08.06 14:38)

Спасибо :) А то я всю документацию к Delphi перерыл, так и не нашёл.


 
AlexKniga ©   (2006-08-14 16:10) [17]

Вот к чему приводят однобуквенные имена:
var
 P: ^Integer;
 B: Integer;
begin
 GetMem(P, 4);
 P^ := 123;
 B := Integer(^P);    // B = 16
{... с помощью конструкции вида ^C, где C - код соответствущего управ-
ляющего  символа, при этом  значение  C должно быть на 64 больше
кода управляющего символа.}

 B := Integer(P^);    // B = 123
 FreeMem(P);
end;


 
Anatoly Podgoretsky ©   (2006-08-14 16:34) [18]

Тип типизированый указатель, используется только для указания типа в объявление типа.
Это документировано начиная с 1971 года.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.041 c
2-1155644178
Кирей
2006-08-15 16:16
2006.09.03
Перехват клавиатуры


2-1155242845
Ryan_12
2006-08-11 00:47
2006.09.03
как развить алгоритм


15-1155219308
top12
2006-08-10 18:15
2006.09.03
Подскажите windows socks server


2-1155544801
lllEl
2006-08-14 12:40
2006.09.03
RAVE REPORT


15-1154502103
Суслик
2006-08-02 11:01
2006.09.03
Удобный клиент для новостных групп (ищу)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский