AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.10.2008, 17:23   #1  
Gihar is offline
Gihar
Участник
 
31 / 10 (1) +
Регистрация: 04.08.2005
Цитата:
Сообщение от Rimantas Посмотреть сообщение
В том и беда , кто никто несобираеться покупать новые - они работают на старой системе , значит они должны работать и на Ахапте ... Деньги считать при замедленной економике полезно ...
Ну, просто как то странно, если допустим у вас используется десять старых сканеров, что в моем понимании и есть "несколько". Тогда стоимость новых будет $1000.
Стоимость "допиливания" Аксапты на работу c компортовым сканером равна стоимости времени потраченному на эту доработку, и вполне может превысить эту $1000.
Старый 02.10.2008, 09:05   #2  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Вот несколько функций для работы с com портом на С++ Builder.
Мож что пригодиться.
X++:
DCB dcb;
HANDLE hComm;

//Установка настроек com-порта
bool __fastcall InstallComm(int iPort) //номер порта
{
  BOOL fSuccess;
  char szCommPattern[8];
  if (iPort == 0)
    return false;
  sprintf(szCommPattern, "COM%d", iPort);
  hComm = CreateFile(szCommPattern,
      GENERIC_READ | GENERIC_WRITE,0,0,
      OPEN_EXISTING,0,0);
  if (hComm == INVALID_HANDLE_VALUE)
    return false;
  fSuccess = GetCommState(hComm, &dcb);
  if (!fSuccess)
    return false;
  dcb.BaudRate = CBR_57600;
  dcb.ByteSize = 8;
  dcb.fParity = FALSE;
  dcb.Parity = NOPARITY;
  dcb.StopBits = TWOSTOPBITS;
  dcb.fOutxCtsFlow = FALSE;
  dcb.fOutxDsrFlow = FALSE;
  dcb.fDtrControl = DTR_CONTROL_DISABLE;
  dcb.fDsrSensitivity = FALSE;
  dcb.fRtsControl = RTS_CONTROL_DISABLE;
  fSuccess = SetCommState(hComm, &dcb);
  if (!fSuccess)
    return false;
  SetupComm(hComm, 1024, 1024);
  COMMTIMEOUTS TO;
  TO.ReadIntervalTimeout = 80;// 50
  TO.ReadTotalTimeoutMultiplier = 1;  ///1
  TO.ReadTotalTimeoutConstant = 100; ///500
  TO.WriteTotalTimeoutMultiplier = 200; ///10
  TO.WriteTotalTimeoutConstant = 2000; ///100
  SetCommTimeouts(hComm, &TO);
  return true;
}
//Запись в com-порт
bool __fastcall WriteBuffer(byte* lpBufWrite,DWORD dwToWrite)
{
DWORD dwWritten;
GetCommState(hComm,&dcb);
dcb.fDtrControl=DTR_CONTROL_DISABLE;
SetCommState(hComm,&dcb);
GetCommState(hComm,&dcb);
dcb.fDtrControl=DTR_CONTROL_ENABLE;
SetCommState(hComm,&dcb);
  for(unsigned i=0;i<dwToWrite;i++)
  {
    if (i==dwToWrite-1)
    {
      GetCommState(hComm,&dcb);
      dcb.fDtrControl=DTR_CONTROL_DISABLE;
      SetCommState(hComm,&dcb);
    }
    WriteFile(hComm,lpBufWrite+i,1,&dwWritten,NULL);
    Sleep(1);
  }
  return true;
}

//-------------------------------------------------------------------------------
//Чтение из com-порта
int __fastcall ReadBuffer(byte* lpBufRead,DWORD dwToRead)
{
  DWORD dwRead=0;
  Sleep(2);
  ReadFile(hComm,lpBufRead,dwToRead,&dwRead,NULL);//Читаем буффер
  PurgeComm(hComm,PURGE_RXCLEAR);//Очищаем буффер
  return dwRead;
}

//Использование

DWORD dwBytesReceived;
byte  buf[64];
dwBytesReceived = ReadBuffer((char *)buf,13);

byte OutText[22];
  OutText[0]=adr;
-----------------
  OutText[22]= X;
WriteBuffer(OutText,22);
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.
Старый 02.10.2008, 12:53   #3  
Rimantas is offline
Rimantas
Участник
 
304 / 16 (1) ++
Регистрация: 30.04.2004
Адрес: Utena , Lithuania
Цитата:
Сообщение от Gihar Посмотреть сообщение
Ну, просто как то странно, если допустим у вас используется десять старых сканеров, что в моем понимании и есть "несколько". Тогда стоимость новых будет $1000.
Стоимость "допиливания" Аксапты на работу c компортовым сканером равна стоимости времени потраченному на эту доработку, и вполне может превысить эту $1000.
... ну вы и даёте ... Моя месячная зарплата ~ 1000 еур . Ведь небудет мне платить 1000 $ за несколько дней ... Так что ничего неотстаёться - надо сделать чтение ш/к из СОМ портов ...
Теги
com port, rs232, winapi, ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
COM / RS232 simple intergation project EVGL DAX: База знаний и проекты 10 18.03.2014 15:04
Kurt Hatlevik: Sneak preview of the WMS E&E Blog bot DAX Blogs 0 20.11.2008 01:10
msdynamicsax: VB script that test the com connector for Dynamics Ax 4.0 Blog bot DAX Blogs 0 25.08.2008 18:05
Solutions Monkey: Enterprise Portal Screencasts at Channel9.msdn.com Blog bot DAX Blogs 6 01.07.2008 19:38

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:47.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.