Главная страница
    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.49 MB
Время: 0.047 c
1-1083822876
Girder
2004-05-06 09:54
2004.05.23
Проблемма с отладчиком в Delphi 7


14-1083257601
DVM
2004-04-29 20:53
2004.05.23
Волшебство. Ярлыки появляются сами.


6-1081004226
Mistic
2004-04-03 18:57
2004.05.23
ClosedGracefully


6-1080809140
-=Mr. Cold=-
2004-04-01 12:45
2004.05.23
Поиск сервера!


3-1083044591
Goida
2004-04-27 09:43
2004.05.23
Выскакивает сообщение о том, что не вызвана CoInitialize...





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