Форум программистов, компьютерный форум, киберфорум
C/C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C/C++ Visual Studio Express 2012 C++ подключение к 1С V82.COMConnector (COM) объекту Хочу подключиться через com зарегистрированную библиотеку к 1С серверу. С VS совсем не работал ... В Qt есть такой пакет ActiveQT: ::OleInitialize(0); //инициализирую ole QAxObject * ax = new QAxObject("V82.COMConnector"); //подключаюсь к нужной библиотеки QAxObject * ac = ax->querySubObject("Connect(\"Srvr=\"172.0.0.100\";Ref=\"base1\";Usr=\"1C-Bot\";Pwd=\"56q\";\")"); // в результате... https://www.cyberforum.ru/ c-cpp/ thread934384.html Изменить данные в ячейке файла EXCEL C/C++
Есть прога создает и пишет в созданный файл EXCEL данные (Visual Studio 10, Office 2003). Помогите изменить код, что бы прога получала уже существующий файл и изменяла данные в ячейке. Прога из www.firststeps.ru Шаг 397 - Автоматизация приложений MS Office. Часть 4. И преобразована для работы с Visual Studio 10, Office 2003. Код кнопки: void CExcelTestDlg::OnBnClickedTest() { ...
C/C++ Книги по технологии OLE на С++ https://www.cyberforum.ru/ c-cpp/ thread930405.html
Всем привет. Подскажите пожалуйста литературу по этой теме, в гугле ничего не нашел. Интересует создание своего COM и OLE серверов/клиентов с нуля!
C/C++ Получить указатель на данные, хранящиеся в SafeArray (не на сам SafeArray) https://www.cyberforum.ru/ c-cpp/ thread930275.html
Есть некий SafeArray, о котором заранее известно, что это одномерный массив байт. То есть структура его проста и неизменна. Надеюсь, это облегчит следующую задачу: передать эти данные в программу, не понимающую SafeArray. Насколько я знаю, SafeArray - это структура, в начале которой служебная информация (прежде всего длина), а затем собственно данные типа Variant. Таким образом, можно просто...
Форматы данных в ячейках Excel C/C++
Здравствуйте! Подскажите пожалуйста, возможно ли сделать так, чтобы одновременно выполнялись 4 условия: 1) Формат текста в ячейках excel текстовый. 2) В ячейки вносятся числа типа double из программы написанной на Cpp Builder. 3) Excel показывает пользователю значения этих ячеек с округленной дробной частью по правилам математики до 3х знаков, если дробная часть есть. 4) При считывании...
C/C++ Cpp builder-Ole-Excel. WideString пишет в ячейку Excel минус перед нулем Здравствуйте! Посмотрите пожалуйста: Когда аргумент val == 0, в ячейку Excel пишется "-0". Без WideString все нормально - в ячейку помещается нуль без знаков. Администратор форума говорил, что при вставке данных в ячейки Excel - WideString необходим. Формат ячеек Excel - текстовый. vVarCell = vVarCells.OlePropertyGet("Item", i,j); vVarCell.OlePropertySet("Value", WideString(val)); Как... https://www.cyberforum.ru/ c-cpp/ thread929380.html
C/C++ Создание массива BSTR https://www.cyberforum.ru/ c-cpp/ thread929093.html
Как преобразовать нижеследующий код, чтобы строки не выводились, а создавался массив? Количество BSTR заранее неизвестно, но их будет не более 10. Таким образом, можно создать массив размерностью 11, а в качестве признака, что строк больше нет, использовать NULL. Но если есть способ лучше или проще, то я буду только рад. int listVMs(IVirtualBox *virtualBox) { HRESULT rc; /* ...
Cpp Builder / Excel C/C++
Здравствуйте! Пишу приложение "C++ Builder - OLE Excel" Написал такой код для прорисовки таблицы: vVarCell = vVarCells.OlePropertyGet("Range", "B2:B4"); vVarCell.OlePropertyGet("Select"); for(l = 7; l <= 12; l++){ vVarCell.OlePropertyGet("Borders", l).OlePropertySet("LineStyle",1); vVarCell.OlePropertyGet("Borders", l).OlePropertySet("ColorIndex",1); ...
C/C++ sapi and C++ builder XE4 Всем привет. Пишу на билдере прогу которая будет читать текст. ::CoInitialize(NULL); if( SUCCEEDED( hr ) ) { Word Saved8087CW = Default8087CW; Set8087CW(0x133f); pVoice->Speak(Edit1->Text.c_str(),SPF_DEFAULT, NULL ); https://www.cyberforum.ru/ c-cpp/ thread920166.html C/C++ Работа с OLE (создать документ Access) пытаюсь создать документ access, но выдаёт ошибку. vVarApp=CreateOleObject("Access.Application"); AnsiString vAsCurDir=GetCurrentDir(); AnsiString vAsCurDir1=vAsCurDir+"\\my.mdb"; ShowMessage(vAsCurDir1); vVarDoc.OleProcedure("SaveAs",vAsCurDir1.c_str()); vVarApp.OleProcedure("Quit"); https://www.cyberforum.ru/ c-cpp/ thread913694.html
подключение и выполнение C/C++
Решил я использовать OLEDB для работы через C++ с Microsodt SQL Server 2008 Express, ничего сложного не нужно, нужно выполнять простейшие вещи, вызвать сохранённую процедуру(Stored Procedure), потом ещё понадобиться поискать совпадения что бы не записать данные которые уже пристутствую и все, тобишь запустить поиск по 2-3 полям, и если равно 0, то завписать, ну а если >0 то уже есть(должна быть...
C/C++ Документация ActiveX Доброго всем вечера! Заранее прошу прощение, если данная тема уже поднималась. Необходимо сделать небольшой доклад по ActiveX. Несколько часов поиска в интернете дали небольшие результаты, хотелось
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
08.08.2013, 09:31 0

Связь по COM порту - C/C++ - Ответ 4927431

08.08.2013, 09:31. Показов 1582. Ответов 2
Метки (Все метки)

Лучший ответ Сообщение было отмечено IREK_84 как решение

Решение

Ну вот тебе пример для открытия COM порта.... ну а дальше в сети масса примеров....

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
BOOL m_bPortReady2 = TRUE; // всё OK
    m_hCom = CreateFile(m_sComPort,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); // null template
    
    overlapped.hEvent = CreateEvent(NULL, true, true, NULL);
    SetCommMask(m_hCom, EV_RXCHAR);
 
    if (m_hCom == INVALID_HANDLE_VALUE)
    {
        m_bPortReady2 = FALSE;
        dwError = GetLastError();
        LPVOID lpMsgBuf;
        lpMsgBuf = NULL;
        dwRC = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,dwError,MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),(LPTSTR) &lpMsgBuf,0,NULL);
        if (dwRC && lpMsgBuf)
        {
            CString str;str.Format("COM open failed: Port=%s Error=%d - %s",m_sComPort.GetBuffer(), dwError,(char*)lpMsgBuf);
            m_pDlg->SetLog(str);
        }
        else
        {
            CString str;str.Format("COM open failed: Port=%s Error=%d ",m_sComPort.GetBuffer(), dwError);
            m_pDlg->SetLog(str);
        } 
        if (dwRC && lpMsgBuf){LocalFree( lpMsgBuf );}
    } 
    if (m_bPortReady2)//Устанавливаем размеры буферов
    {
        m_bPortReady2 = SetupComm(m_hCom,1600, 1600);
        
        if (!m_bPortReady2)
        {
            dwError = GetLastError();
            CString str;str.Format("SetupComm failed: Port=%s Error=%d",m_sComPort.GetBuffer(), dwError);
            m_pDlg->SetLog(str);
        } 
    } 
    if (m_bPortReady2)//Читаем структуру параметров
    {
        m_bPortReady2 = GetCommState(m_hCom, &m_dcb);
        if (!m_bPortReady2)
        {
            dwError = GetLastError();
            CString str;str.Format("GetCommState failed: Port=%s Error=%d",m_sComPort.GetBuffer(), dwError);
            m_pDlg->SetLog(str);
        } 
    } 
    if (m_bPortReady2)//Устанавливаем структуру параметров
    {
 
            m_dcb.BaudRate = 115200;
            m_dcb.ByteSize = 8;
            m_dcb.Parity = NOPARITY;
            m_dcb.StopBits = ONESTOPBIT;
            m_dcb.fAbortOnError = FALSE;
        
 
        m_bPortReady2 = SetCommState(m_hCom, &m_dcb);
        if (!m_bPortReady2)
        {
            dwError = GetLastError();
            CString str;str.Format("SetCommState failed: Port=%s Error = %d",m_sComPort.GetBuffer(), dwError);
            m_pDlg->SetLog(str);
        }
    } 
    if (m_bPortReady2)//Читаем таймауты
    {
        m_bPortReady2 = GetCommTimeouts(m_hCom, &m_CommTimeouts);
        if (!m_bPortReady2)
        {
            dwError = GetLastError();
            CString str;str.Format("GetCommTimeouts failed: Port=%s Error = %d",m_sComPort.GetBuffer(), dwError);
            m_pDlg->SetLog(str);
        } 
        
            m_CommTimeouts.ReadIntervalTimeout = MAXDWORD;
            m_CommTimeouts.ReadTotalTimeoutConstant = 10;
            m_CommTimeouts.ReadTotalTimeoutMultiplier = 10;//0
            m_CommTimeouts.WriteTotalTimeoutConstant = 5;//5
            m_CommTimeouts.WriteTotalTimeoutMultiplier = 5;//5
        
        m_bPortReady2 = SetCommTimeouts (m_hCom, &m_CommTimeouts);
        if (!m_bPortReady2)
        {
            dwError = GetLastError();
            CString str;str.Format("SetCommTimeouts failed: Port=%s Error = %d",m_sComPort.GetBuffer(), dwError);
            m_pDlg->SetLog(str);
        } 
 
    }
    BOOL mask=SetCommMask(m_hCom, EV_RXCHAR);
    overlappedwr.InternalHigh=0;
    overlappedwr.Offset=0;
    overlappedwr.OffsetHigh=0;
 
    overlapped.InternalHigh=0;
    overlapped.Offset=0;
    overlapped.OffsetHigh=0;
 
    overlappedwr.hEvent = CreateEvent(NULL, true, true, NULL);
 
        if (m_bPortReady2==TRUE) {PurgeComm(m_hCom, PURGE_RXCLEAR);m_bPortReady =TRUE; return TRUE;}
    else {m_bPortReady =FALSE; return FALSE;}

Не по теме:

Кстати COM & OLE к COM порту не имеют отношения



Вернуться к обсуждению:
Связь по COM порту C/C++
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.08.2013, 09:31
Готовые ответы и решения:

Определяет ли связь, в частности современная связь, структуру государственного управления?
Определяет ли связь, в частности современная связь, структуру государственного управления, а также...

связь CPU-314SC и WINDOWS где посмотреть обмен данными и вообще связь
между двумя системами.

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

Подключение к COM - порту
Добрый день, делаю подключение платы к программе на c#, общение должно происходить по RS-485, по...

2
08.08.2013, 09:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.08.2013, 09:31
Помогаю со студенческими работами здесь

Передача по COM-порту
Доборого времени суток! имеется задачка по Паскалю: Реализация программы на паскале со втавками...

Работа с МК по COM-порту
Господа! Помогите создать прогу для передачи данных на микроконтроллер по com-порту.Имеется...

Запретить обращение к порту
Доброго времени суток. Установлено так: сервер Apache крутится на 80-ом порту, Plone – на 8080,...

Telnet не connect к порту
Telnet не connect к порту 1338 при запущенном сервере от администратора. Отключены все стены и...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru