Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

Приведение левой части к типу   Найти похожие ветки 

 
Cobalt ©   (2004-08-12 12:06) [0]

Увидел тут такую вот конструкцию:

if Win32Platform = VER_PLATFORM_WIN32_NT then
PWideChar(MSGBOXPARAMS.lpszIcon) := "MAINICON"
else
MSGBOXPARAMS.lpszIcon := "MAINICON";

(см.  http://delphimaster.net/view/4-1092250514/ )

Никогда с таким не сталкивался, что левую часть тоже можно приводить, обычно считал, что приводят только правую часть.

Скажите, в каких случаях удобнее использовать левосторонее приведение?


 
Sandman25 ©   (2004-08-12 12:08) [1]

Когда приводить левую часть удобнее, чем правую :)


 
Cobalt ©   (2004-08-12 12:16) [2]

Такая вот вещь:
1) Msg.lpszIcon:= PWideChar("MAINICON");
Не приводится (ну, это понятно - lpszIcon: PAnsiChar;)

2) PWideChar(Msg.lpszIcon):= "MAINICON";
Так приводится.

Выходит, что приведение левой части необходимо в тех случаях, когда необходимо в переменную некоего типа требуется положить данные другого формата. Так?


 
Sandman25 ©   (2004-08-12 12:19) [3]

Как насчет
1) Msg.lpszIcon:= PAnsiChar("MAINICON")?

Если
P: Pointer;
I: Cardinal;
то
1)Cardinal(P) := I;
2)P := Pointer(I);


 
Cobalt ©   (2004-08-12 12:31) [4]

2 Sandman25 ©   (12.08.04 12:19) [3]
1) А тогда иконка не показывается :) (см. ветку из WinAPI)

2) ИМХО, тут нагляднее будет такой пример:

var
arr: array[1..10] of byte;
FloatVar: Extended;
begin
 Extended(arr) := FloatVar;



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

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.052 c
1-1092643707
an-na2002
2004-08-16 12:08
2004.08.29
Возврат к проверке


1-1092570397
mOOx
2004-08-15 15:46
2004.08.29
Выделение цветом в ListView


14-1091915615
ikivio
2004-08-08 01:53
2004.08.29
Просто борьба с одиночеством.


1-1092374912
COOLer
2004-08-13 09:28
2004.08.29
TPanel & Drag


4-1090241608
Григорьев Антон
2004-07-19 16:53
2004.08.29
Изменение порядка сообщений в очереди