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

Вниз

Простой вопрос: C -> Pascal   Найти похожие ветки 

 
TEXHAPb   (2004-08-11 16:08) [0]

str=(char*)((char*)struct + struct->dwLineNameOffset)

Как это сделать на Паскале? Получить указатель на строку, которая хранится по данному смещению от начала структуры (recorda)?


 
KSergey ©   (2004-08-11 16:13) [1]

Не совсем уверен, не силен в синтаксисе паскалевых указателей, каюсь...

struct - это уже указатель, верно?

:= PChar(struct) + struct.dwLineNameOffset

Правда, вернет PChar, а не строку, что вообще-то соответствует оригиналу, но для паскаля.. Впрочем, преобразуете.


 
TEXHAPb   (2004-08-11 16:23) [2]

Точно! Спасибо! Мне почему-то начало казаться, что в Паскале вообще нельзя было указатели складывать ;)


 
Digitman ©   (2004-08-11 16:30) [3]


> TEXHAPb   (11.08.04 16:23) [2]


> Мне почему-то начало казаться


не то чтобы казаться - натурально так и есть !
Паскаль - строгий язык и дебилизма этого не допускает


 
афвуд   (2004-08-11 20:50) [4]


> Паскаль - строгий язык

По мне так потерял строгость.

Почему будет правильно и Button1.Caption и Button1^.Caption ? При чём означать будет одно и то же. Вот по моему и есть настоящий дебилизм.


 
jack128 ©   (2004-08-11 20:52) [5]


> Почему будет правильно и Button1.Caption и Button1^.Caption
>
это ты где такой синтаксис увидел?


 
Alx2 ©   (2004-08-11 20:53) [6]

>афвуд   (11.08.04 20:50) [4]
Когда нет статики для классов - почему дебилизм?


 
афвуд   (2004-08-11 21:01) [7]


> это ты где такой синтаксис увидел?

Да какая разница. Написал как-то код в детстве. То так писал, то так и нигде ничё не ругался компилер. Всё заглотил.


> Когда нет статики для классов - почему дебилизм?

Неоднозначность. Глядя на код нельзя понять то ли это структура, то ли это указатель на структуру. ИМХО это плохо.


 
jack128 ©   (2004-08-11 21:07) [8]


> Да какая разница. Написал как-то код в детстве. То так писал,
> то так и нигде ничё не ругался компилер. Всё заглотил
в пятой версии ругается.

Если версия старая и было что нить типа такого

TSameObj = object(TParentObj)
...
end;

PSameObj = ^TSameObj;

var
SameVar: PSameVar;
begin
..
SaneVar^.SameProc();  
end;
То в чем проблема? Все по аналогии с записями..


 
jack128 ©   (2004-08-11 21:08) [9]


> Неоднозначность. Глядя на код нельзя понять то ли это структура,
> то ли это указатель на структуру
а в этой строке тебе нужно это понимание?


 
афвуд   (2004-08-11 21:13) [10]

C Батонами я переборщил. Щас открыл Дельфю попробовал. Вот этот код точно ест.

type fr=record
 jk:integer;
 end;
type ufr=^fr;
.....
var br:ufr;
.....
br.jk:=34;
br^.jk:=34;



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

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

Наверх




Память: 0.49 MB
Время: 0.051 c
14-1091837479
Xerx
2004-08-07 04:11
2004.08.29
Doom3


14-1091971686
Cerberus
2004-08-08 17:28
2004.08.29
Опрос


3-1091517554
NorthMan
2004-08-03 11:19
2004.08.29
AdoStoredProc


14-1092300234
SSSSS
2004-08-12 12:43
2004.08.29
Люди! Где взять лицензионную 5-ю Дельфу?


1-1092245844
mouse_web
2004-08-11 21:37
2004.08.29
Как прервать работу процедуры?