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

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

Интересный вопрос по работе с COM портом [D5, D6, Win95/98, Win2k]


nickn ©   (2003-03-10 13:45:00) 

Известно, что с портом возможна работа как с обычным файлом
через API.
А можно ли работать с ним стандартными средствами DELPHI
Т.е читать/писать с помощью read/write и есть ли какая либо
процедурка устанавливающая параметры обмена, т.е
скорость и т.д и т.п


Anatoly Podgoretsky   (2003-03-13 16:28:00) [1]

pasha676 (11.03.03 17:48)
Это если у тебя есть желание получить место для публикации статьи, то предлагай ее для публикации.


nickn   (2003-03-13 14:43:00) [2]

Ребята, всем конечно спасибо, но
проблема как раз в том чтобы эту прогу(которая работает с com-портом) можно было безболезненно перенести на Linux


Ну   (2003-03-13 02:01:00) [3]

ты (pasha676 (11.03.03 17:48)), блин даешь!
Если есть желание и возможности, пиши статейку и высылай ее. Какой заинтересованности авторов сайта ты ждешь? Сайт функционирует на безвозмездной основе. Создателям и сопровождающим никто не платит. Так что не жди, что тебя попросят, проявляй сам инициативу.


jack128   (2003-03-12 21:02:00) [4]

Апи учить надо - не спорю, а насчет компонентов это ты зря, много времени экономят.. К тому же по их(компонентов) исходникам удобно апи изучать(например TCommPortDriver - очень удобный компонент, с исходниками)

А статью я бы с удовольствием почитал...


pasha676   (2003-03-11 17:48:00) [5]

2jack128

Как бы API предоставляет хорошие возможности - например эвент по приходу символа возврат каретки или по освобождению входного буфера. Или например выставить DTR. Реализовать это в данной терминологии - невозможно.
Компоненты, имхо, тоже использовать не стоит. Лучше выучить API - это не сложно (это очень просто!!!), а потом на долго пригодиться.

Модераторам и отцам основателям сайта!!!

Есть задел небольшой статейки с примерчиком. Там вкратце, на примере описано как работать с com-портом (в т.ч. организация эвентов и паралельных потоков для этой цели). Меня эти вопросы уже достали. Если есть желание - давайте доделаю статейку, размещу на вашем сайте. Ну надоело уже на это безобразие смотреть! Если есть заинтересованность напишите, плиз.


jack128   (2003-03-11 17:25:00) [6]

2 pasha676

> А можно ли работать с ним стандартными средствами DELPHI
> Т.е читать/писать с помощью read/write и есть ли какая либо
>

>Нет.

var f : file;
begin
AssignFile(f,"\\.\co;ok;em1");
reset(f,1);
closefile(f);
end;

все нормально работает...
и read(), и write() тоже будут работать - эти функции это ж теже CreateFile(), ReadFile, WriteFile() - только замаскированные...

Но работать так дейсвительно не стоит, лудше какой нить компонент узать, благо их навалом...


pasha676   (2003-03-11 14:45:00) [7]


> Известно, что с портом возможна работа как с обычным файлом
> через API.

Я бы не сказал, что как с обычным файлом. CreateFile, Read,Write - и пожалуй на этом все и заканчивается. У файлов нет ни DCB ни эвентов на приход символов, ни скорости передачи.


> А можно ли работать с ним стандартными средствами DELPHI
> Т.е читать/писать с помощью read/write и есть ли какая либо
>

Нет. Работаешь средствами API или через ассемблер или через процедуры и компоненты которые работают через API или ассемблер.
Все функции устанавливающие параметры порта приведены в хелпе по SDK.


Фрол   (2003-03-11 12:21:00) [8]

Использовал в свое время компоненту AsyncPro.
Рекомендую ! Тем более подходит для работы с нестандартным железом.


Forint   (2003-03-11 10:19:00) [9]

Не ищи проблем на свою голову. Все равно все настройки порта будешь делать через API. Нет никакой необходимости в такой постановке задачи. Ну а если разбираться лень - найди готовый компонент (а они бывают и весьма кривые...)


jack128   (2003-03-10 23:32:00) [10]

Если надумаешь таки юзать функции Read, Write, то хендл порта можно получить так
var F : File; h : THandle;
begin
h := TFileRec(F).Handle;
end;


y-soft   (2003-03-10 17:32:00) [11]

Работать действительно можно всеми теми функциями, которые используются для работы с файлами. А вот для настройки используются совсем другие функции, и тонкостей там много.
Так что либо MSDN читать, либо готовые компоненты использовать


int64   (2003-03-10 15:10:00) [12]

Как я понимаю: "стандартными средствами DELPHI" - это кликнуть мышкой по форме?
Есть таких средств, дохрена. Только они не совсем стандартные - в Delphi не входят.
Смотри на торри и по кладовкам.


Наверх

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