Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Связь с АТС


Red Alert ©   (2002-02-25 13:37:00) 

Господа! не поделится ли кто исходняком проги читающей информацию с АТС по com порту? Я написал подобную но идет какой-то косяк, не могу разобраться... Если у кого есть информация по программированию атс (Панасоник) по Com - порту, буду очень признателен..


Red Alert   (2002-03-01 14:27:00) [1]

ev:
код можешь кинуть?
вот мой кусок
hCom := CreateFile("COM2",
(GENERIC_READ and GENERIC_WRITE),
0,
nil,
OPEN_EXISTING,
0,
0); //получение указателя на СОМ
try
fSuccess:= GetCommState(hCom, dcb); // Получение данных о текущих установках СОМ и заполнение
// структуры dcb
dcb.BaudRate:= CBR_9600;
dcb.DCBlength:= Sizeof(DCB);
dcb.ByteSize := 8;
dcb.StopBits := 1;
dcb.Parity:=NOPARITY;

// Установка новых параметров для СОМ
fSuccess := SetCommState(hCom, dcb);

except

ShowMessage("Error connection...");
end;

If not fSuccess then
begin
ShowMessage("Error of initiate ComPort...");
Timer1.Enabled :=False;
Form2.Timer1.Enabled:=False; // Останавливаем иконку
Exit; // вываливаемся из подпрограммы
end
else
begin
GetCommTimeOuts(hCom, SetCommParam);
with SetCommParam do
begin
ReadIntervalTimeout:=0; // Таймоут между чтением данных
ReadTotalTimeoutMultiplier:=0; // регулирует чтение длительности потока
ReadTotalTimeoutConstant:=0; // Спецвеличина для расчетов стоимости трафика
WriteTotalTimeoutMultiplier:=0; //
WriteTotalTimeoutConstant:=0; //
end;
fSuccess := SetCommTimeOuts(hCom, setCommParam);// Тайм оут 50 млс
If not fSuccess Then
begin
ShowMessage("Set communication port parameters failed...");
Exit;
end;
i:= 0;
While i<length(CharArray) do
begin
FSuccess :=ReadFile(hCom, CharArray[i], 1, dwRead, Nil); // чтение одного байта из порта
Application.ProcessMessages; // вызываем процессы
If FSuccess Then Inc(I); // подсчет
If HaltProg Then Exit; // вываливаемся сразу при клике
end;
CloseHandle(hCom);


vigo   (2002-02-26 11:10:00) [2]

Большинство АТС (в частности и Panasonic) работают с com-портом на скорости 9600. Установите скорость порта в значение 9600 в терминале (например term95) и посмотрите, что она вам выдаст.


ev   (2002-02-25 15:43:00) [3]

Как программировать АТС - не пробовал, а LOG с нее считывается нормально.
Опиши поподробнее...


Наверх

Титульная страница Поиск, карта сайта Написать письмо