Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.044 c
3-1091623615
stud
2004-08-04 16:46
2004.08.29
преобразования типов


14-1092204784
ИМХО
2004-08-11 10:13
2004.08.29
Мираж


1-1092297320
AlexFe
2004-08-12 11:55
2004.08.29
Изменение размера ComboBox


1-1092217249
cvg
2004-08-11 13:40
2004.08.29
Передать в функцию массив из структуры -- как???


14-1091986370
VID
2004-08-08 21:32
2004.08.29
Через 15 минут по ОРТ фильм "Враг у ворот"




   Наверх