|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
работа с LPT портом
Я написал программу для работы с ЛПТ она работает, но мне необходимо чтобы при нажатии кнопки сигнал не только ссылался на ногу но и через 3 мс исчезал
вот мой вариант но сигнал только направляется и не исчезаєт Код:
procedure TForm1.Button1Click(Sender: TObject); begin d0:=1; sleep(30); d0:=0; end; Последний раз редактировалось Admin, 31.10.2013 в 20:42. |
#2
|
||||
|
||||
Это чо вообще за код? Он ну никаким местом с задачей не сходится.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
|||
|
|||
ето часть. вот весь...
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, XPMan, ExtCtrls; function Inp32(PortAdr: word): byte; stdcall; external 'inpout32.dll'; function Out32(PortAdr: word; Data: byte): byte; stdcall; external 'inpout32.dll'; type TForm1 = class(TForm) StatusBar1: TStatusBar; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; Button8: TButton; Timer1: TTimer; XPManifest1: TXPManifest; procedure Timer1Timer(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Button8Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} var d0,d1,d2,d3:byte; procedure TForm1.Timer1Timer(Sender: TObject); begin Out32(888, d0+d1+d2+d3); form1.StatusBar1.Panels[0].Text := 'Порт 888:' + inttostr(Inp32(888)); end; procedure TForm1.Button1Click(Sender: TObject); begin d0:=1; Sleep(3000); d0:=0; end; procedure TForm1.Button3Click(Sender: TObject); begin d1:=2; end; procedure TForm1.Button4Click(Sender: TObject); begin d1:=0; end; procedure TForm1.Button5Click(Sender: TObject); begin d2:=4; end; procedure TForm1.Button6Click(Sender: TObject); begin d2:=0; end; procedure TForm1.Button7Click(Sender: TObject); begin d3:=8; end; procedure TForm1.Button8Click(Sender: TObject); begin d3:=0; end; end. Последний раз редактировалось nazarmyua, 31.10.2013 в 21:00. |
#4
|
||||
|
||||
Лажа, а не код.
Код:
Out32(порт, значение); Sleep(3); Out32(порт, 0); — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#5
|
||||
|
||||
добавлю, в семерке работать не будет.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#6
|
|||
|
|||
Спасибо
Спасибо. Очень помогло. Я переписал программу теперь остался один вопрос как сделать аварийную остановку.
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, XPMan, ExtCtrls; function Inp32(PortAdr: word): byte; stdcall; external 'inpout32.dll'; function Out32(PortAdr: word; Data: byte): byte; stdcall; external 'inpout32.dll'; type TForm1 = class(TForm) StatusBar1: TStatusBar; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Timer1: TTimer; XPManifest1: TXPManifest; Label1: TLabel; Label2: TLabel; Edit1: TEdit; Label3: TLabel; Label4: TLabel; procedure Timer1Timer(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); // procedure Button4Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} var d0,d1,d2,d3,G,a,b,c,d:byte; I,k:integer; r,l:real; procedure TForm1.Timer1Timer(Sender: TObject); begin Out32(888, d0+d1+d2+d3); form1.StatusBar1.Panels[0].Text := 'Порт 888:' + inttostr(Inp32(888)); if r=1 then begin Label4.Caption:='Вправо' end; if l=1 then begin Label4.Caption:='Вліво' end; //Label3.Caption:=FloatToStr(G); end; procedure TForm1.Button1Click(Sender: TObject); begin r:=1; l:=0; k:=1; end; procedure TForm1.Button2Click(Sender: TObject); begin l:=1; r:=0; k:=1; end; procedure TForm1.Button3Click(Sender: TObject); begin k := StrToInt(Edit1.Text); if r=1 then begin a:=1; b:=4; C:=2; d:=8; end; if l=1 then begin a:=8; b:=2; C:=4; d:=1; end; G:=0; While G < k do begin G:=G+1; Out32(888, a); sleep (1000); Out32(888, 0); Out32(888, b); sleep (1000); Out32(888, 0); Out32(888, c); sleep (1000); Out32(888, 0); Out32(888, d); sleep (1000); Out32(888, 0); end; end; end. |
#7
|
||||
|
||||
Код:
if условие then break — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |