Help

Обсуждение ПО и железа

Модератор: Taifun

Ответить
Andrey
Сообщения: 11
Зарегистрирован: Вс, 02 мар 2003 19:56:01
Откуда: BIYSK
Контактная информация:

Help

Сообщение Andrey »

Как можно обратиться к порту (COM2)
Через Delphi 6




(надо напрямую, через порт РАБОТАТЬ С МОДЕМОМ)
(Или как правильно работать со тандартным МОДЕМОМ)

подскажите, дайте исходники! ..... :( :( :( :(

ОТПРАВЬТЕ В ЛИЧКУ ...
Аватара пользователя
Dmitry
Сообщения: 1044
Зарегистрирован: Пт, 28 фев 2003 10:06:48
Откуда: Biysk

Re: Help

Сообщение Dmitry »

Andrey писал(а):Как можно обратиться к порту (COM2)
Через Delphi 6




(надо напрямую, через порт РАБОТАТЬ С МОДЕМОМ)
(Или как правильно работать со тандартным МОДЕМОМ)

подскажите, дайте исходники! ..... :( :( :( :(

ОТПРАВЬТЕ В ЛИЧКУ ...
Если писать от и до то у тебя получиться долго изучать что и как. Проще зайди на www.torry.net - там есть компоненты от простых (для прямого обращения к COM) до уже готовых компонентов для работы с голосовыми функциями и факсами всякими...
Astarot, the demon
Аватара пользователя
Executor
Сообщения: 2642
Зарегистрирован: Пт, 07 мар 2003 20:41:08
Контактная информация:

Re: Help

Сообщение Executor »

Andrey писал(а):Как можно обратиться к порту (COM2)
Через Delphi 6




(надо напрямую, через порт РАБОТАТЬ С МОДЕМОМ)
(Или как правильно работать со тандартным МОДЕМОМ)

подскажите, дайте исходники! ..... :( :( :( :(

ОТПРАВЬТЕ В ЛИЧКУ ...
Ничего сложного тут нет... Можно конечно скачать какието компоненты, которые тебе облегчат жизнь, но я сторонник того, чтобы писать самому...

procedure CreateAndWrite;
var
hCOM: THandle;
Buf: array[0..127] of Char;
begin
hCOM:=CreateFile('COM1', GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0);
if hCOM=INVALID_HANDLE_VALUE then raise EAbort.CreateFmt('Ошибка открытия порта: %d', [GetLastError]);
Buf:='ATDP321717'+#13+#10;
WriteFile(hCOM, Buf, SizeOf(Buf), N, nil);
end;

procedure Close;
begin
CloseHandle(hCOM);
end;

З.Ы. Толком этим не занимался - не было необходимости, так что детально помочь не смогу... А чтение осуществляется с помощью ReadFile... Работа анологичная как с обычными файлами...
Аватара пользователя
Dmitry
Сообщения: 1044
Зарегистрирован: Пт, 28 фев 2003 10:06:48
Откуда: Biysk

Re: Help

Сообщение Dmitry »

Executor писал(а): Ничего сложного тут нет... Можно конечно скачать какието компоненты, которые тебе облегчат жизнь, но я сторонник того, чтобы писать самому...

procedure CreateAndWrite;
var
hCOM: THandle;
Buf: array[0..127] of Char;
begin
hCOM:=CreateFile('COM1', GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0);
if hCOM=INVALID_HANDLE_VALUE then raise EAbort.CreateFmt('Ошибка открытия порта: %d', [GetLastError]);
Buf:='ATDP321717'+#13+#10;
WriteFile(hCOM, Buf, SizeOf(Buf), N, nil);
end;
Один раз оно тебе даже позвонит, а второй нет - нужно еще команды инициализации и очистки писать, в большинстве они специфичны для каждого модема. А если работать с голосом и факсом то вообще будет засада. Комманды для модемов найти мягко говоря сложновато (исключения OMNI - они пихают полное описание на CD с дровами).

В тему: никто не занимался созданием АОН'ов? Как ни странно callerID, который можно стянуть стандартными коммандами всегда пуст. Все русские описания рассчитаны либо на Currier'ы либо на OMNI. Вот и интересно: при каких условиях модем вообще может распознать номер?
Astarot, the demon
Аватара пользователя
Executor
Сообщения: 2642
Зарегистрирован: Пт, 07 мар 2003 20:41:08
Контактная информация:

Re: Help

Сообщение Executor »

Dmitry писал(а):Один раз оно тебе даже позвонит, а второй нет - нужно еще команды инициализации и очистки писать, в большинстве они специфичны для каждого модема. А если работать с голосом и факсом то вообще будет засада. Комманды для модемов найти мягко говоря сложновато (исключения OMNI - они пихают полное описание на CD с дровами).
Я ему привёл пример как с этим работать... А уже узнавать команды, и глубже в этом разбираться - это его проблемы... Не буду же я ему тут код ВентаФакса писать... :)
Я вообщето думал, что команды у всех модемов одинаковые, стандартные - AT команды!
Аватара пользователя
Dmitry
Сообщения: 1044
Зарегистрирован: Пт, 28 фев 2003 10:06:48
Откуда: Biysk

Re: Help

Сообщение Dmitry »

Executor писал(а):Не буду же я ему тут код ВентаФакса писать... :)
А что есть? Если есть - дай знать, мне бы не помешал :)
Executor писал(а):Я вообщето думал, что команды у всех модемов одинаковые, стандартные - AT команды!
Ну это Вы погорячились ;) Войсовые (я с ними работал) вобще почти у каждого свои... :-|
Astarot, the demon
Аватара пользователя
Executor
Сообщения: 2642
Зарегистрирован: Пт, 07 мар 2003 20:41:08
Контактная информация:

Re: Help

Сообщение Executor »

Dmitry писал(а):А что есть? Если есть - дай знать, мне бы не помешал :)
Я имел ввиду, что не буду же я за него всю программу сидеть писать, делать второй ВентаФакс и выкладывать сюда... А как бы самого кода Венты у мя нет, я имел ввиду подобный код...
По работе с модемами у мя инфы нет никакой...
Ну это Вы погорячились ;) Войсовые (я с ними работал) вобще почти у каждого свои... :-|
Вполне возможно... Я просто не увлекался модемами както... :)
И работа через ком порт осуществлялась с другими устройствами, не с модемами, на модемах я только тестил, правильно ли отсылка и чтение работает или нет...
Ответить

Вернуться в «Software & hardware»