Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > C/C++ > C/C++
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.09.2012, 23:12
gosha_msh gosha_msh вне форума
Прохожий
 
Регистрация: 19.09.2012
Сообщения: 2
Репутация: 10
По умолчанию Помогите перевести из С++ в Delphi

Есть маленькая программка работы с библиотекой dll, это для весового терминала, написана на С++, я ничего не понимаю, может кто поможет перевести в Delphi ?? ПЛИЗЗЗ ОООчень надо.

Вот текст описания dll и пример на С++:
------------------------------------------------------
Перед работой необходимо зарегистрировать библиотеку с помощью утилиты regsvr32.
Библиотека содержит три свойства:
NumberOfCom – номер com порта.(целое, 32бита)
Weight – содержит вес.(строка)
Stab – стабилен ли вес. (целое, 32бита) 0 – стабилен, 1 – не стабилен, 2 – перегруз.
Библиотека содержит три функции:
Open – необходимо вызвать для начала работы с библиотекой.
Close – необходимо вызвать по завершению работы с библиотекой.
Update – обновляет свойства Weight и Stab.

Алгоритм работы:
1. Установить NumberOfCom
2. Open
3. Update
4. Чтение переменных Weight и Stab
5. Если требуется узнать ещё данные, то вернутся к шагу 3.
6. Close


Пример программы работы с библиотекой.

Пример написан на языке C++:
Код:
// Test.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
using namespace std;

#import "C:\D\mega_proj\COM_DLL\Ci2001A\Ci2001A\Ci2001A\Ci2001A\Debug\Ci2001A.dll"


int _tmain(int argc, _TCHAR* argv[])
{
	CoInitialize(0);

	try
	{
		Ci2001ALib::IIndicPtr p("Ci2001A.Indic");
	
		p->NumberOfCom = 1;
		p->Open();

		// Читаем данные
		p->Update();
		cout << p->Weight;
		cout << p->Stab;

		// Ждем пять сек.
		Sleep(5000);

		// Читаем данные
		p->Update();
		cout << p->Weight;
		cout << p->Stab;


		p->Close();
	}
	catch( _com_error &e )
	{
		MessageBox( 0, e.Description(), L"F", MB_OK );
		MessageBox( 0, e.ErrorMessage(), L"F", MB_OK );
	}

	CoUninitialize();

	return 0;
}
Bargest: Правила форума нужно читать, а не просто тыкать галочку "согласен". Код должен быть оформлен тегами, в соответствии с правилами форума!

Заранее спасибо.

Последний раз редактировалось Bargest, 19.09.2012 в 23:23.
Ответить с цитированием
 


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:15.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter