Variabler efter combobox ?
Sådan ser min kode ud:unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, TeeProcs, TeEngine, Chart, ComCtrls, ToolWin, HTTPApp,
OleCtrls, NMHTML;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
CheckBox1: TCheckBox;
ControlBar1: TControlBar;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
RadioButton2: TRadioButton;
RadioButton1: TRadioButton;
GroupBox3: TGroupBox;
ComboBox1: TComboBox;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Type
TInputPort = Record
InputPort: String;
end;
Type
TOutputPort = Record
OutputPort: String;
end;
var
Form1: TForm1;
InputPort: TInputPort;
OutputPort: TOutputPort;
implementation
{$R *.DFM}
procedure udport(Ad:smallint;Value:smallint);
var
ByteValue:Byte;
begin
ByteValue:=Byte(Value);
asm
push dx
mov dx,Ad
mov al, ByteValue
out dx,al
pop dx
end;
end;
function indport(Ad:smallint):smallint;
var
ByteValue:byte;
begin
asm
push dx
mov dx, Ad
in al,dx
mov ByteValue,al
pop dx
end;
indport:=smallint(ByteValue) and $00FF;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if edit2.text = 'LPT1 (Standard)' Then begin
OutputPort := $378;
InputPort := $379;
end;
if edit2.text = 'LPT2' Then begin
OutputPort := $278;
InputPort := $279;
end;
if edit2.text = 'LPT3' Then begin
OutputPort := $3BC;
InputPort := $3BD;
if checkbox1.checked then
if edit1.text = '1' then begin
udport(OutputPort,StrToInt('$08'));
end
else if edit1.text = '2' then begin
udport(OutputPort,StrToInt('$01'));
end
else if edit1.text = '3' then begin
udport(OutputPort,StrToInt('$09'));
end
else if edit1.text = '4' then begin
udport(OutputPort,StrToInt('$02'));
end
else if edit1.text = '5' then begin
udport(OutputPort,StrToInt('$0a'));
end
else if edit1.text = '6' then begin
udport(OutputPort,StrToInt('$03'));
end
else if edit1.text = '7' then begin
udport(OutputPort,StrToInt('$0b'));
end
else if edit1.text = '8' then begin
udport(OutputPort,StrToInt('$04'));
end
else if edit1.text = '9' then begin
udport(OutputPort,StrToInt('$0c'));
end
else if edit1.text = '10' then begin
udport(OutputPort,StrToInt('$80'));
end
else if edit1.text = '11' then begin
udport(OutputPort,StrToInt('$88'));
end
else if edit1.text = '12' then begin
udport(OutputPort,StrToInt('$81'));
end
else if edit1.text = '13' then begin
udport(OutputPort,StrToInt('$89'));
end
else if edit1.text = '14' then begin
udport(OutputPort,StrToInt('$82'));
end
else if edit1.text = '15' then begin
udport(OutputPort,StrToInt('$8a'));
end
else if edit1.text = '16' then begin
udport(OutputPort,StrToInt('$83'));
end
else if edit1.text = '17' then begin
udport(OutputPort,StrToInt('$8b'));
end
else if edit1.text = '18' then begin
udport(OutputPort,StrToInt('$84'));
end
else if edit1.text = '19' then begin
udport(OutputPort,StrToInt('$8c'));
end
else if edit1.text = '20' then begin
udport(OutputPort,StrToInt('$10'));
end
else if edit1.text = '21' then begin
udport(OutputPort,StrToInt('$18'));
end
else if edit1.text = '22' then begin
udport(OutputPort,StrToInt('$11'));
end
else if edit1.text = '23' then begin
udport(OutputPort,StrToInt('$19'));
end
else if edit1.text = '24' then begin
udport(OutputPort,StrToInt('$12'));
end
else if edit1.text = '25' then begin
udport(OutputPort,StrToInt('$1a'));
end
else if edit1.text = '26' then begin
udport(OutputPort,StrToInt('$13'));
end
else if edit1.text = '27' then begin
udport(OutputPort,StrToInt('$1b'));
end
else if edit1.text = '28' then begin
udport(OutputPort,StrToInt('$14'));
end
else if edit1.text = '29' then begin
udport(OutputPort,StrToInt('$1c'));
end
else if edit1.text = '30' then begin
udport(OutputPort,StrToInt('$90'));
end
else if edit1.text = '31' then begin
udport(OutputPort,StrToInt('$98'));
end
else if edit1.text = '32' then begin
udport(OutputPort,StrToInt('$91'));
end
else if edit1.text = '33' then begin
udport(OutputPort,StrToInt('$99'));
end
else if edit1.text = '34' then begin
udport(OutputPort,StrToInt('$92'));
end
else if edit1.text = '35' then begin
udport(OutputPort,StrToInt('$9a'));
end
else if edit1.text = '36' then begin
udport(OutputPort,StrToInt('$93'));
end
else if edit1.text = '37' then begin
udport(OutputPort,StrToInt('$9b'));
end
else if edit1.text = '38' then begin
udport(OutputPort,StrToInt('$94'));
end
else if edit1.text = '39' then begin
udport(OutputPort,StrToInt('$9c'));
end
else if edit1.text = '40' then begin
udport(OutputPort,StrToInt('$20'));
end
else if edit1.text = '41' then begin
udport(OutputPort,StrToInt('$28'));
end
else if edit1.text = '42' then begin
udport(OutputPort,StrToInt('$21'));
end
else if edit1.text = '43' then begin
udport(OutputPort,StrToInt('$29'));
end
else if edit1.text = '44' then begin
udport(OutputPort,StrToInt('$22'));
end
else if edit1.text = '45' then begin
udport(OutputPort,StrToInt('$2a'));
end
else if edit1.text = '46' then begin
udport(OutputPort,StrToInt('$23'));
end
else if edit1.text = '47' then begin
udport(OutputPort,StrToInt('$2b'));
end
else if edit1.text = '48' then begin
udport(OutputPort,StrToInt('$24'));
end
else if edit1.text = '49' then begin
udport(OutputPort,StrToInt('$2c'));
end
else if edit1.text = '50' then begin
udport(OutputPort,StrToInt('$a5'));
end
else if edit1.text = '51' then begin
udport(OutputPort,StrToInt('$a8'));
end
else if edit1.text = '52' then begin
udport(OutputPort,StrToInt('$a1'));
end
else if edit1.text = '53' then begin
udport(OutputPort,StrToInt('$a8'));
end
else if edit1.text = '54' then begin
udport(OutputPort,StrToInt('$a9'));
end
else if edit1.text = '55' then begin
udport(OutputPort,StrToInt('$aa'));
end
else if edit1.text = '56' then begin
udport(OutputPort,StrToInt('$a3'));
end
else if edit1.text = '57' then begin
udport(OutputPort,StrToInt('$ab'));
end
else if edit1.text = '58' then begin
udport(OutputPort,StrToInt('$a4'));
end
else if edit1.text = '59' then begin
udport(OutputPort,StrToInt('$ab'));
end
else if edit1.text = '60' then begin
udport(OutputPort,StrToInt('$30'));
end
else if edit1.text = '61' then begin
udport(OutputPort,StrToInt('$38'));
end
else if edit1.text = '62' then begin
udport(OutputPort,StrToInt('$31'));
end
else if edit1.text = '63' then begin
udport(OutputPort,StrToInt('$39'));
end
else if edit1.text = '64' then begin
udport(OutputPort,StrToInt('$32'));
end
else if edit1.text = '65' then begin
udport(OutputPort,StrToInt('$3a'));
end
else if edit1.text = '66' then begin
udport(OutputPort,StrToInt('$33'));
end
else if edit1.text = '67' then begin
udport(OutputPort,StrToInt('$3b'));
end
else if edit1.text = '68' then begin
udport(OutputPort,StrToInt('$34'));
end
else if edit1.text = '69' then begin
udport(OutputPort,StrToInt('$3c'));
end
else if edit1.text = '70' then begin
udport(OutputPort,StrToInt('$b0'));
end
else if edit1.text = '71' then begin
udport(OutputPort,StrToInt('$b9'));
end
else if edit1.text = '72' then begin
udport(OutputPort,StrToInt('$b1'));
end
else if edit1.text = '73' then begin
udport(OutputPort,StrToInt('$b9'));
end
else if edit1.text = '74' then begin
udport(OutputPort,StrToInt('$b2'));
end
else if edit1.text = '75' then begin
udport(OutputPort,StrToInt('$ba'));
end
else if edit1.text = '76' then begin
udport(OutputPort,StrToInt('$b3'));
end
else if edit1.text = '77' then begin
udport(OutputPort,StrToInt('$bb'));
end
else if edit1.text = '78' then begin
udport(OutputPort,StrToInt('$b4'));
end
else if edit1.text = '79' then begin
udport(OutputPort,StrToInt('$bc'));
end
else if edit1.text = '80' then begin
udport(OutputPort,StrToInt('$40'));
end
else if edit1.text = '81' then begin
udport(OutputPort,StrToInt('$48'));
end
else if edit1.text = '82' then begin
udport(OutputPort,StrToInt('$41'));
end
else if edit1.text = '83' then begin
udport(OutputPort,StrToInt('$49'));
end
else if edit1.text = '84' then begin
udport(OutputPort,StrToInt('$42'));
end
else if edit1.text = '85' then begin
udport(OutputPort,StrToInt('$4a'));
end
else if edit1.text = '86' then begin
udport(OutputPort,StrToInt('$43'));
end
else if edit1.text = '87' then begin
udport(OutputPort,StrToInt('$4b'));
end
else if edit1.text = '88' then begin
udport(OutputPort,StrToInt('$44'));
end
else if edit1.text = '89' then begin
udport(OutputPort,StrToInt('$4c'));
end
else if edit1.text = '90' then begin
udport(OutputPort,StrToInt('$c0'));
end
else if edit1.text = '91' then begin
udport(OutputPort,StrToInt('$c8'));
end
else if edit1.text = '92' then begin
udport(OutputPort,StrToInt('$c1'));
end
else if edit1.text = '93' then begin
udport(OutputPort,StrToInt('$c9'));
end
else if edit1.text = '94' then begin
udport(OutputPort,StrToInt('$c2'));
end
else if edit1.text = '95' then begin
udport(OutputPort,StrToInt('$ca'));
end
else if edit1.text = '96' then begin
udport(OutputPort,StrToInt('$c3'));
end
else if edit1.text = '97' then begin
udport(OutputPort,StrToInt('$cb'));
end
else if edit1.text = '98' then begin
udport(OutputPort,StrToInt('$c4'));
end
else if edit1.text = '99' then begin
udport(OutputPort,StrToInt('$cc'));
end;
if checkbox1.checked = false then begin
udport(OutputPort,StrToInt(edit1.text));
end;
edit1.text := ''
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if radiobutton1.checked then
edit1.text := IntToStr(indport(InputPort))
else
edit1.text := IntToStr(indport(InputPort));
end;
procedure TForm1.RadioButton2Click(Sender: TObject);
begin
if radiobutton1.checked then
with radiobutton1 do
begin
Checked := False;
end;
end;
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
if radiobutton2.checked then
with radiobutton2 do
begin
Checked := False;
end;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
edit2.text := Combobox1.Items.Strings[combobox1.ItemIndex];
end;
end.
og jeg vil gerne deginere InputPort og OutputPort efter comboboxens valg (LPT1, LPT2 eller LPT3)
Hvordan gør jeg det ?
