Вниз
Скачать: 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.023 c
3-1091686564
strelok-47
2004-08-05 10:16
2004.08.29
Об отрисовке grid а


1-1092216941
Evgeniy
2004-08-11 13:35
2004.08.29
Random от 1 до 100


3-1091538379
DBUser
2004-08-03 17:06
2004.08.29
Как вернуть значение в хранимой процедуре


6-1088540567
S-Viper
2004-06-30 00:22
2004.08.29
локальные сети, IP...


1-1092288096
Марат
2004-08-12 09:21
2004.08.29
Изменение StringGrid




   Наверх