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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2010, 10:29   #1
yuta_86
Пользователь
 
Регистрация: 06.12.2010
Сообщений: 99
По умолчанию Структура DCB

Описание структуры
typedef struct _DCB { // dcb
DWORD DCBlength; // Размер DCB
DWORD BaudRate; // Скорость пересылки данных в бодах;
// текущая скорость в бодах
DWORD fBinary: 1; // binary mode, no EOF check
// двоичный режим , не проверять конец
// данных (по умолчанию значение = 1)
DWORD fParity: 1; // Включить проверку четность (по умолчанию
// значение = 1)
DWORD fOutxCtsFlow:1; // CTS управление потоком выхода
DWORD fOutxDsrFlow:1; // DSR управление потоком выхода
DWORD fDtrControl:2; // DTR Тип управления потоком скорости
// передачи данных
DWORD fDsrSensitivity:1; // DSR sensitivity (чувствительность)
DWORD fTXContinueOnXoff:1; // XOFF continues Tx (стоп-сигнал
// продалжает выполнение)
DWORD fOutX: 1; // XON/XOFF out flow control (СТАРТ-
// СИГНАЛ / СТОП-СИГНАЛ для управления
// выходящим потоком (по умолчанию
// значение = 1)
DWORD fInX: 1; // XON/XOFF in flow control (СТАРТ-
// СИГНАЛ / СТОП-СИГНАЛ для управления
// входящим потоком (по умолчанию
// значение = 1)
DWORD fErrorChar: 1; // enable error replacement (включить
// проверку погрешностей по умолчанию=1)
DWORD fNull: 1; // enable null stripping (отвергать
// пустой поток данных (по умолчанию=1))
DWORD fRtsControl:2; // RTS управление потоком данных
DWORD fAbortOnError:1; // abort reads/writes on error
// (проверять операции чтения/записи
// по умолчанию=1)
DWORD fDummy2:17; // reserved ЗАРЕЗЕРВИРОВАНО
WORD wReserved; // not currently used НЕ ДЛЯ
// ИСПОЛЬЗОВАНИЯ
WORD XonLim; // transmit XON threshold (порог
// чувствительности старт-сигнала)
WORD XoffLim; // transmit XOFF threshold (порог
// чувствительности стоп-сигнала)
BYTE ByteSize; // Бит в байте (обычно 8)
BYTE Parity; // 0-4=no,odd,even,mark,space
// (четность байта)
BYTE StopBits; // 0,1,2 = 1, 1.5, 2 (стоповые биты)
char XonChar; // Tx and Rx XON character (вид
// старт сигнал в потоке)
char XoffChar; // Tx and Rx XOFF character (вид
// стоп сигнал в потоке)
char ErrorChar; // error replacement character (какой
// сигнал погрешности,его вид)
char EofChar; // end of input character (сигнал
// окончания потока)
char EvtChar; // received event character РЕЗЕРВ
WORD wReserved1; // reserved; do not use НЕ ДЛЯ
// ИСПОЛЬЗОВАНИЯ
} DCB;

мой код:

dcb : TDCB; //структура для общей инициализации порта DCB

dcb.BaudRate:=CBR_9600 ; //задаём скорость передачи 9600 бод
dcb.fBinary:=TRUE; //включаем двоичный режим обмена


В итоге при компиляции выдаёт ошибку, Undeclared Identifier :fBinarа
почему такого параметра нет в структуре DCB в делфи? почему в Си есть а в Делфи нет? как быть ?
yuta_86 вне форума Ответить с цитированием
Старый 20.12.2010, 10:37   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Undeclared Identifier :fBinarа
опечатка тут иль в коде?
Цитата:
почему такого параметра нет в структуре DCB в делфи? почему в Си есть а в Делфи нет?
1)кривое портирование
2)названа иначе
Цитата:
как быть ?
посмотрите на саму структуру в Делфи(по щелчку с нажатым контрол на названии типа)
если уж совсем безнадега то портируйте сами.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.12.2010, 10:45   #3
yuta_86
Пользователь
 
Регистрация: 06.12.2010
Сообщений: 99
По умолчанию

структура в Делфи не такая как в Си

_DCB = packed record
DCBlength: DWORD;
BaudRate: DWORD;
Flags: Longint;
wReserved: Word;
XonLim: Word;
XoffLim: Word;
ByteSize: Byte;
Parity: Byte;
StopBits: Byte;
XonChar: CHAR;
XoffChar: CHAR;
ErrorChar: CHAR;
EofChar: CHAR;
EvtChar: CHAR;
wReserved1: Word;

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
если уж совсем безнадега то портируйте сами.
не совсем понял
yuta_86 вне форума Ответить с цитированием
Старый 20.12.2010, 10:47   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

кстати, заметил, на С++ использованы битовые поля.

просто надо поставить нужный флаг в поле Flags.
посмотрите в Д какие есть и выберите нужный вам.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.12.2010, 10:57   #5
yuta_86
Пользователь
 
Регистрация: 06.12.2010
Сообщений: 99
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
просто надо поставить нужный флаг в поле Flags.
каким образом?
как узнать какой флаг чему соответствует?
yuta_86 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Структура Superlotles Помощь студентам 5 14.09.2009 23:29
Com-порт. DCB ccolg Работа с сетью в Delphi 2 15.07.2009 10:38
структура hungry Общие вопросы C/C++ 11 25.06.2009 20:31
структура Cpluser Общие вопросы C/C++ 4 16.06.2009 17:42
Структура IF в С++ lebrosha Помощь студентам 3 22.05.2009 00:09