Управление изображением на мониторе через COM порт

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

там очень много вкладок случайный поиск нужного компонента....это до нового года, форма это интерфейс будущей программы я так понял то емть то как она будет выглядеть? тогда там совершенно не нужны лишние компоненты --там только картинка, все остальное " за кадром" и почему не запускается код который я привел? что делаю неправильно?
(\_(\
(=' :') радиоКотЭ
(,('')('')
Реклама
Друг Кота
Сообщения: 6282
Зарегистрирован: Чт май 13, 2010 23:42:03
Откуда: Минск

Сообщение Murlock »

когда Вы с нуля запускаете дельфю, то она Вам делает полностью ГОТОВУЮ к пуску, но пустую программу(окно, которое можно масштабировать и закрыть) там нет ничего лишнего и удалять ничего нельзя. можно только дополнять. добавлять компоненты, менять им свойства
программировать события компонент TTimer, который Вам нужен, находится во вкладке System
компонент TTimer - скрытый. форме он только принадлежит. на форму можно накидать TShape, которые будут индикаторами.
код, который Вы приели, должен находиться внутри процедуры обработки события Timer1.OnTimer
" Если на небе есть ангелы, то, их небесное воинство построено на принципах мафии"
У.Н. Румфорд.
----------------------------------------
http://www.youtube.com/watch?v=qWfIYU9Zzs4 А.К. "Легион"
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

так...

Код: Выделить всё

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

end.
вот что происходит при создании нового проекта , свой код я должен буду писать сразу после этого это не редактировать и не удалять?
можно обойтись без формы?
объект в форме это визуализированный код?
в данном случае тайм будет описывать цикл опроса порта?
(\_(\
(=' :') радиоКотЭ
(,('')('')
Друг Кота
Сообщения: 6282
Зарегистрирован: Чт май 13, 2010 23:42:03
Откуда: Минск

Сообщение Murlock »

можно, но не нужно. эт просто непривычно первое время. под виндой программа без окна - моветон. ну, и лишитесь некоторых удобств. событие Timer1.OnTimer вызывается с периодичностью Timer1.interval
Последний раз редактировалось Murlock Ср дек 22, 2010 21:39:15, всего редактировалось 1 раз.
" Если на небе есть ангелы, то, их небесное воинство построено на принципах мафии"
У.Н. Румфорд.
----------------------------------------
http://www.youtube.com/watch?v=qWfIYU9Zzs4 А.К. "Легион"
Реклама
Эиком - электронные компоненты и радиодетали
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

FRIM@N писал(а): можно обойтись без формы?
Можно, но зачем? Так удобнее и уже привычнее.
Знание - сила!
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

ну это привычно человеку знающему,я вообще не понимаю зачем она нужна----в ней виде алгоритма выстраиваюся нужные компоненты?
я открываю дельфи создаю новый проект \далее нужно отправить на RTS 1 и опросить входы,потом это увидеть--произошел опрос или нет--как это сделать?дайте пару ориентиров
(\_(\
(=' :') радиоКотЭ
(,('')('')
Реклама
Друг Кота
Сообщения: 6282
Зарегистрирован: Чт май 13, 2010 23:42:03
Откуда: Минск

Сообщение Murlock »

Да, безусловно. дельфя сама дописывает за Вас целые куски кода и присваивает процедурам названия по-умолчанию. Вы уже положили на форму компонент Timer1?
" Если на небе есть ангелы, то, их небесное воинство построено на принципах мафии"
У.Н. Румфорд.
----------------------------------------
http://www.youtube.com/watch?v=qWfIYU9Zzs4 А.К. "Легион"
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

да,но не редактировал его,там маленькое окно ввода, как тудв записать код?

на скрине нужно поле ?
Вложения
2010-12-22_220045.jpg
(9.07 КБ) 245 скачиваний
Последний раз редактировалось FRIM@N Ср дек 22, 2010 22:01:38, всего редактировалось 1 раз.
(\_(\
(=' :') радиоКотЭ
(,('')('')
Друг Кота
Сообщения: 6282
Зарегистрирован: Чт май 13, 2010 23:42:03
Откуда: Минск

Сообщение Murlock »

выберите объект Timer1 на форме, перейдите на окно инспектора объектов, откройте вкладку событий (events) кликните поле OnTimer. В окне кода появится новая процедура, туда и вбивайте свой код. да, интервал по умолчанию(1000) - раз в 1000 мсек.
" Если на небе есть ангелы, то, их небесное воинство построено на принципах мафии"
У.Н. Румфорд.
----------------------------------------
http://www.youtube.com/watch?v=qWfIYU9Zzs4 А.К. "Легион"
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

Код: Выделить всё

var
  aa,e:world;

  aa:=0;
  base:=$3F8;


    port:=base+4;
    data:=2;
    outport(port,aa,data);
    sleep(10);
    port:=base+6;
    e:=inport(port) and 16;
    port:=base+4;
    data:=0
    outport(port,aa,Data);

я внес туда то что приводил выше, при запуске красной полосой выделяется "var" я так понимаю это ошибка?

интерваол установил 500 --полсекунды
(\_(\
(=' :') радиоКотЭ
(,('')('')
Друг Кота
Сообщения: 6282
Зарегистрирован: Чт май 13, 2010 23:42:03
Откуда: Минск

Сообщение Murlock »

описания переменных делайте до первого begin в процедуре. переменная "port" не описана.
" Если на небе есть ангелы, то, их небесное воинство построено на принципах мафии"
У.Н. Румфорд.
----------------------------------------
http://www.youtube.com/watch?v=qWfIYU9Zzs4 А.К. "Легион"
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

т.е. вот это все до первого begin

Код: Выделить всё

 var
  aa,e:world;

  aa:=0;
  base:=$3F8;
  port:=base+4;
  data:=2;
  outport(port,aa,data);
  sleep(10);
  port:=base+6;
  e:=inport(port) and 16;
в таком случае подчеркивает строку "aa,e:world;"

всмысле переменная порт не описана?
(\_(\
(=' :') радиоКотЭ
(,('')('')
Друг Кота
Сообщения: 6282
Зарегистрирован: Чт май 13, 2010 23:42:03
Откуда: Минск

Сообщение Murlock »

ныряем в личку?
" Если на небе есть ангелы, то, их небесное воинство построено на принципах мафии"
У.Н. Румфорд.
----------------------------------------
http://www.youtube.com/watch?v=qWfIYU9Zzs4 А.К. "Легион"
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

Так а где главный Бегин?
Знание - сила!
Друг Кота
Сообщения: 6282
Зарегистрирован: Чт май 13, 2010 23:42:03
Откуда: Минск

Сообщение Murlock »

разборки с Садатом...
:)))
" Если на небе есть ангелы, то, их небесное воинство построено на принципах мафии"
У.Н. Румфорд.
----------------------------------------
http://www.youtube.com/watch?v=qWfIYU9Zzs4 А.К. "Легион"
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 338
Зарегистрирован: Чт май 06, 2010 18:06:47
Откуда: Киев

Сообщение Invisible-Shadow »

Только меня смущает строка: "aa,e:world;"? Скорее всего там должно быть "aa,e:word;".
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

Invisible-Shadow я исправился
\\начинаем все сначала без рывков,мне хочется понять что я делаю и зачем я делаю.а непросто копипастить

Код: Выделить всё

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TForm1 = class(TForm)
    tmr1: TTimer;
    procedure tmr1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.tmr1Timer(Sender: TObject);
 var
aa,e:word;
port,base,data:word;
{.........}
aa:=0;
base:=$3F8;

begin
   port:=base+4;
   data:=2;
   outport(port,aa,data);
       sleep(10);
       port:=base+6;
       e:=inport(port) and 16;
    port:=base+4;
    data:=0;
    outport(port,aa,data);
end;
"Invisible-Shadow я исправился
\\начинаем все сначала без рывков,мне хочется понять что я делаю и зачем я делаю.а непросто копипастить

Код: Выделить всё

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;" эта часть общая независимо от программы ее трогать не нужно дельфи создает ее сама--так?

"var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.tmr1Timer(Sender: TObject);"  это то что было создано после модуля тайм то есть то что будет после этого написано будет повторятся с периодичностью которую можно задать?
________


"aa,e:word;
port,base,data:word;
{.........}
aa:=0;
base:=$3F8;" ввод переменных и указание порта с которым будет производится работа ?
_______

"port:=base+4;
   data:=2;"   запись в RTS единицы ?
______


"outport(port,aa,data);
       sleep(10);
       port:=base+6;
       e:=inport(port) and 16;
    port:=base+4;
    data:=0;"  чтение из порта  этой единицы --так?
______

"outport(port,aa,data);
end;

end." сброс порта и выход из программы

в той версии что была написана на паскале предусматривался вывод на экран результата , а в версии для дельфи где это ?
Сейчас при запуске быстро на доли секунды появляется небольшое окно потом подчеркивает красным "aa:=0;" что это такое аа?

http://compconnect.ru/2010/04/rabota-s-com-portom-v-delphi-pri-pomoshhi-winapi/


а в этой статье вообще все по другому(( кому верить?
(\_(\
(=' :') радиоКотЭ
(,('')('')
Друг Кота
Сообщения: 6282
Зарегистрирован: Чт май 13, 2010 23:42:03
Откуда: Минск

Сообщение Murlock »

в этой статье правильно что по другому. нам описан интерфейс обмена данными через СОМ порты в виде файлового ВВ. Вам-же нужно управлять физическими состояниями регистров порта. это несколько разные вещи.
зы...
как-то медленно личка отправляется...
" Если на небе есть ангелы, то, их небесное воинство построено на принципах мафии"
У.Н. Румфорд.
----------------------------------------
http://www.youtube.com/watch?v=qWfIYU9Zzs4 А.К. "Легион"
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2409
Зарегистрирован: Ср дек 03, 2008 21:00:19

Сообщение FRIM@N »

а по остальным вопросам что скажете?
(\_(\
(=' :') радиоКотЭ
(,('')('')
Друг Кота
Сообщения: 6282
Зарегистрирован: Чт май 13, 2010 23:42:03
Откуда: Минск

Сообщение Murlock »

FRIM@N писал(а):end;

end." сброс порта и выход из программы
не, цикл будет повторяться до закрытия окна программы.
FRIM@N писал(а):в той версии что была написана на паскале предусматривался вывод на экран результата , а в версии для дельфи где это ?
а как Вы хотите оформить вывод? тут большой простор для бурной деятельности.
" Если на небе есть ангелы, то, их небесное воинство построено на принципах мафии"
У.Н. Румфорд.
----------------------------------------
http://www.youtube.com/watch?v=qWfIYU9Zzs4 А.К. "Легион"
Ответить

Вернуться в «Интеграция с ПК»