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

Вниз

Соответствие описания в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.04 c
3-1082539137
Sirus
2004-04-21 13:18
2004.05.23
Установка Firebird на комп вручную...


3-1082870655
Артем К.
2004-04-25 09:24
2004.05.23
Как программно создать псевдоним базы данных?


14-1083347554
gn
2004-04-30 21:52
2004.05.23
Microsoft будет давать всплывающие уроки по безопасности


14-1083330445
McSimm
2004-04-30 17:07
2004.05.23
Microsoft. Конурс для разработчиков


9-1073572104
ZAROLF
2004-01-08 17:28
2004.05.23
RLE сжатие для TDIB





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский