Главная страница
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.022 c
9-1084221010
Werwolf
2004-05-11 00:30
2004.08.29
Ворпос на засыпку....


8-1086699491
Ruslan
2004-06-08 16:58
2004.08.29
Формат IMA ADPCM wav файла


6-1087963813
Furyous
2004-06-23 08:10
2004.08.29
Проблема с разрывом socket соединения


14-1092221483
Кириешки
2004-08-11 14:51
2004.08.29
Два вопроса.


14-1092019326
kos
2004-08-09 06:42
2004.08.29
Что так никто и не скажет как заставить работать прогу на другом