Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Вниз

Простой вопрос: 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.045 c
3-1091592599
ydv
2004-08-04 08:09
2004.08.29
Хитрый sql-запрос


3-1091681955
Марат
2004-08-05 08:59
2004.08.29
Счетчик DBGrid


1-1092302440
BillyJeans
2004-08-12 13:20
2004.08.29
WordWrap для TListView в режиме vsReport это возможно?


4-1089931040
sashapont
2004-07-16 02:37
2004.08.29
Добавление пункта в стартовое меня


4-1090178018
Петр
2004-07-18 23:13
2004.08.29
Hello world Используя ReadFile при отключенном девайсе от порта





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский