![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Интересный вопрос по работе с 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 не входят.
Смотри на торри и по кладовкам.