Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

Соответствие описания в C и Delphi   Найти похожие ветки 

 
AndrewVolkov   (2004-05-08 21:30) [0]

Добрый вечер.
Подскажите пожалуйста

в С хххх.н

выглядит след. образом

#define STATUS_C                   "C"

и все это DWord;

я пишу в Delphi в юните так,

 STATUS_C = ORD("C");
 {$EXTERNALSYM STATUS_C}


правильно ли это?


 
AndrewVolkov   (2004-05-08 22:03) [1]

Сишники есть?


 
Romkin ©   (2004-05-08 22:11) [2]

STATUS_C: DWORD = ORD("C");
Как минимум...


 
AndrewVolkov   (2004-05-08 22:15) [3]

>>Romkin
а то что у меня, разве не подойдет?


 
Gero ©   (2004-05-08 22:26) [4]


> а то что у меня, разве не подойдет?

А иначе 1 байт будет.
Это никак не DWORD.


 
AndrewVolkov   (2004-05-08 22:30) [5]

а так тоже он как 1 байт поймет?

STATUS_C = $43;


 
AndrewVolkov   (2004-05-08 22:33) [6]

Я пораскинул мозгами и не понял, почему один байт будет. Разве он оставшиеся нулями не добьет до 4 байтов?

В С же тоже только

#define STATUS_C                   "C"


 
AndrewVolkov   (2004-05-08 23:20) [7]

Знатоки Си???


 
Gero ©   (2004-05-08 23:24) [8]


> Знатоки Си???

Вы ошиблись.
Здесь обитают преимущественно знатоки Delphi.


 
AndrewVolkov   (2004-05-08 23:41) [9]

Обычно знают. ;-)


 
Игорь Шевченко ©   (2004-05-08 23:59) [10]

Да зачем так орать-то?

#define STATUS_C                   "C"


Это не DWORD и не байт, это вообще нисколько.

Читай [2]


 
AndrewVolkov   (2004-05-09 00:03) [11]

Извините, не понял - что читать???

И в смысле - нисколько?


 
Alex Konshin ©   (2004-05-09 00:26) [12]

А с чего ты решил, что в C кто-то "добьет" до 4 байт? У тебя же просто макрос, даже не константа. В Delphi макросов нет, можешь определить константу, как тебе говорят.


 
AndrewVolkov   (2004-05-09 00:31) [13]

Сорри  не дописал, что я его и определяю как константу.
Просто я не пойму

unit OplUnit;

interface

uses
 Windows;
type
...
...
const

STATUS_C: DWORD = ORD("C");

или

STATUS_C = ORD("C");

есть разница или нету. Если да, то в чем?


 
Игорь Шевченко ©   (2004-05-09 00:58) [14]


> const
>
> STATUS_C: DWORD = ORD("C");
>
> или
>
> STATUS_C = ORD("C");
>
> есть разница или нету. Если да, то в чем?


Открываем F1 на топиках True Constants и Typed Constants и внимательно читаем.

Кстати, приведи пример использования этой константы, вполне вероятно, что никакой разницы нету.


 
AndrewVolkov   (2004-05-09 01:05) [15]

есть функция. Входной параметр - указатель на структуру.

Структура (Запись )имеет вид
  Struct=record
   Handle:THandle;
   Specifications:DWORD;

вот эти спецификайшенсы описаны в подключаемом модуле как const
в Си это выглядит как

#define STATUS_C                   "C"

а я хочу уточнить, как это будет правильно в Delphi


 
Игорь Шевченко ©   (2004-05-09 01:20) [16]


> а я хочу уточнить, как это будет правильно в Delphi


Может быть, так:

type
 Struct = record
   Handle: THandle;
   Specifications: DWORD;
 end;

const
 Status_C = Ord("C");
 Struct1: Struct = (Handle: 0; Specifications: Status_C);


 
TUser ©   (2004-05-09 05:48) [17]


> Status_C = Ord("C");

Тогда это byte. Надо указать тип.


 
AndrewVolkov   (2004-05-09 13:29) [18]

Но если я dword:=byte он же будет работать.

Почему тогда в Си не определяют его Dword, а просто пишут

#define STATUS_C                   "C"

то что он потом будет вх.данным в запись
type
Struct = record
  Handle: THandle;
  Specifications: DWORD;
end;
где его кинут в DWORD он же не знает.
Значит реально его можно описывать как Byte?


 
Игорь Шевченко ©   (2004-05-09 14:15) [19]

[18] AndrewVolkov   (09.05.04 13:29)

Все-таки Help иногда надо читать...


 
AndrewVolkov   (2004-05-09 15:14) [20]

to Игорь Шевченко

Да почитал я. То - насколько моего англ. хватило я и переспрашиваю в пред. топике.

Толи я вообще понял?



Страницы: 1 вся ветка

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.03 c
1-1084140499
CraKerX
2004-05-10 02:08
2004.05.23
Как менять свойства объекта созданного динамически?


4-1080579089
ботинок
2004-03-29 20:51
2004.05.23
окно типа аськи


3-1082608192
Layner
2004-04-22 08:29
2004.05.23
Как скинуть все данные таблицы в виде SQL скрипта (INSERT...)


1-1084129036
kas-t
2004-05-09 22:57
2004.05.23
Экономия ресурсов системы...


4-1081332764
rimd
2004-04-07 14:12
2004.05.23
path in 9x