Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2011, 11:20   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию c++ в паскаль. Трактовка кода c++ в делфи

Доброго времени суток!

c++ слабоват у меня. Пытаюсь сам трактовать c++ код в delphi.

Что-то получается а что-то нет. А не получается именно обределить какой это тип в делфи и какой вид операции...

Вот что значат вот такие операции:
Код:
	if ((var1 != NULL) ||
	    (var2 != NULL) ||
	    (var3 != NULL) {
я понял, что || - это оператор or. Правильно?
Далее знак:
!= - сравнение.

А вот ещё кусок кода, который для меня непонятен:
Код:
hTheInstance = (HINSTANCE)hInst; ;как это понимать?
Иногда встречаю такое:
var = bool;
Код:
Function(..,.., !var); //как понимать знак ! перед переменной?
Или ещё это:
Код:
Function(..,.., &var);
а этот как понимать?
Код:
if var && var2 {}
По моим представлениям это and.

Ну и последнее что мне не ясно, это:
Код:
const scAlt   = 0x8000;
представление числел в HEX для c++.

В delphi это будет:
Код:
scAlt   = $8000;
?

Вопросы не сложные. Помогите решить=)


Конечно нагло пытаться самостоятельно переписать код c++ на delphi не имея знаний в c++. Но у меня получается. Проблема только с типами и операторами.
Человек_Борща вне форума Ответить с цитированием
Старый 02.07.2011, 11:52   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Код:
if ((var1 != NULL) ||
	    (var2 != NULL) ||
	    (var3 != NULL) {
Код:
if (var1<>nil)or(var2<>nil)or(var3<>nil) then begin
тут может и не nil надо, но я же не знаю какие там типы(ну если что то смените на 0)
Цитата:
Код:
hTheInstance = (HINSTANCE)hInst; ;как это понимать?
приведение типов, в Делфи может и не потребоватся вообще.
ну а если потребуется то
Код:
hTheInstance:=HINSTANCE(hInst);
Цитата:
Код:
Function(..,.., !var); //как понимать знак ! перед переменной?
Код:
Function(..,.., not var);
правда тут опять же автоприведение к bool может сиграть злую роль, если тип целочисленный, то
Код:
Function(..,.., not (var<>0);
Цитата:
Код:
Function(..,.., &var);
взятие адреса, в Делфи используется или var-параметры функций, или же @
Код:
Function(..,.., @var);
Цитата:
Код:
if (var && var2) {}
начнем с того, что тут нет скобок почему то у вас
Код:
if (var<>0)and(var2<>0) then begin end;
в С++ разрешено автоприведение к bool.
Цитата:
Код:
const scAlt   = 0x8000;
Код:
const //раздел констант
    scAlt=$8000;
загнал все в блоки цитирования, а то сливалось.

смотрите насчет 0 и nil, ставьте нужное в зависимости от нужных типов.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 02.07.2011 в 11:56.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод кода с делфи в Builder KARTMAN4149962 Помощь студентам 0 31.05.2010 08:27
Прошу помощи в проверке моего перевода небольшого фрагмента кода от Си к делфи! SkAndrew Общие вопросы Delphi 11 16.08.2009 16:37
Прошу помощи в конвертации на Делфи кода от С++. SkAndrew Общие вопросы Delphi 11 07.08.2009 12:14
Паскаль в Делфи... Vremya-Dengy Общие вопросы Delphi 15 26.01.2009 04:32