![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Простой вопрос: C -> Pascal [D6]
TEXHAPb © (2004-08-11 16:08:00)str=(char*)((char*)struct + struct->dwLineNameOffset)
Как это сделать на Паскале? Получить указатель на строку, которая хранится по данному смещению от начала структуры (recorda)?
афвуд (2004-08-11 21:13:00) [1]C Батонами я переборщил. Щас открыл Дельфю попробовал. Вот этот код точно ест.
type fr=record
jk:integer;
end;
type ufr=^fr;
.....
var br:ufr;
.....
br.jk:=34;
br^.jk:=34;
jack128 (2004-08-11 21:08:00) [2]
> Неоднозначность. Глядя на код нельзя понять то ли это структура,
> то ли это указатель на структуру
а в этой строке тебе нужно это понимание?
jack128 (2004-08-11 21:07:00) [3]
> Да какая разница. Написал как-то код в детстве. То так писал,
> то так и нигде ничё не ругался компилер. Всё заглотил
в пятой версии ругается.
Если версия старая и было что нить типа такого
TSameObj = object(TParentObj)
...
end;
PSameObj = ^TSameObj;
var
SameVar: PSameVar;
begin
..
SaneVar^.SameProc();
end;
То в чем проблема? Все по аналогии с записями..
афвуд (2004-08-11 21:01:00) [4]
> это ты где такой синтаксис увидел?
Да какая разница. Написал как-то код в детстве. То так писал, то так и нигде ничё не ругался компилер. Всё заглотил.
> Когда нет статики для классов - почему дебилизм?
Неоднозначность. Глядя на код нельзя понять то ли это структура, то ли это указатель на структуру. ИМХО это плохо.
Alx2 (2004-08-11 20:53:00) [5]>афвуд (11.08.04 20:50) [4]
Когда нет статики для классов - почему дебилизм?
jack128 (2004-08-11 20:52:00) [6]
> Почему будет правильно и Button1.Caption и Button1^.Caption
>
это ты где такой синтаксис увидел?
афвуд (2004-08-11 20:50:00) [7]
> Паскаль - строгий язык
По мне так потерял строгость.
Почему будет правильно и Button1.Caption и Button1^.Caption ? При чём означать будет одно и то же. Вот по моему и есть настоящий дебилизм.
Digitman (2004-08-11 16:30:00) [8]
> TEXHAPb (11.08.04 16:23) [2]
> Мне почему-то начало казаться
не то чтобы казаться - натурально так и есть !
Паскаль - строгий язык и дебилизма этого не допускает
TEXHAPb (2004-08-11 16:23:00) [9]Точно! Спасибо! Мне почему-то начало казаться, что в Паскале вообще нельзя было указатели складывать ;)
KSergey (2004-08-11 16:13:00) [10]Не совсем уверен, не силен в синтаксисе паскалевых указателей, каюсь...
struct - это уже указатель, верно?
:= PChar(struct) + struct.dwLineNameOffset
Правда, вернет PChar, а не строку, что вообще-то соответствует оригиналу, но для паскаля.. Впрочем, преобразуете.