Показать сообщение отдельно
Старый 25.09.2009, 16:42
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 6  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Во флэше, видимо так должно быть:
Код:
function readCardID():String{
  var result:String = DLL485.call("string","ReadID");
  return result;
}
В длл типа такого :
Код:
extern "C" __dllspec(dllexport) char* ReadID() /*оберточная функция для сишной ReadIDaui(id)*/
{
unsigned char id[8];
int result = ReadIDaui(id);// эта функция в длл у вас уже есть, как я понял? или ее надо импортировать.
if(!result)
{
// формируем строку из массива  и возвращаем ее return'ом
}else
{
// формируем строку с собщекнием об ошибке и возвращаем ее return'ом
}
}
Формировать строку из массива можно пробежавшись в цикле по массиву. На каждой итерации конвертировать элемент в строку, строку конкатенировать (прибавлять в конец) к строке-будущему ответу. см _itoa_s() и strcat_s()

Так цинк вроде с ком-портом работать может сам?

Добавлено через 41 минуту
Вот пример конвертации массива в строку:
Код:
....
// типа у нас есть заполненный массив из одно- двух- или трехзначных чисел
int id[8] = {255,2,333,4,52,6,7,8};
char* stringFROMarray = getStringFromArray(id);
printf(stringFROMarray);
....

char* getStringFromArray(int* id)
{
	// резервируем память под строку
	// 8 по три байта + 8 запятых плюс 0 в кнце = всего 33 байта.
	char* buf = (char*)calloc(sizeof(char),8*3+8+1);
	// буфер под конвертацию одного элемента массива
	char ibuf[4];
	for(int i=0; i<8;i++)
	{
		_itoa_s(id[i],ibuf,4,10);
		strcat_s(buf,33,ibuf);
		strcat_s(buf,33,",");
	}
	return buf;
}


Последний раз редактировалось alexcon314; 25.09.2009 в 17:27.