Создание интерфейса, имея код Pascal - PascalABC.NET
Формулировка задачи:
Здравствуйте! Написал код в Паскале, но хочется красивости. Делфи для этого подходит? Сам паскалевский код не надо переписывать (коды аналогичны)?
Как создать такой интерфейс: по центру вставить рисунок jpeg или png, или в каком формате удобнее. Далее два окна, куда вводятся значения, окно с результатом и кнопка выполнить.
Делфи вижу впервые.
Вот часть программы:
и т.д.
Как создать окна, куда будет вводиться значения Y1 Y2? Как в программе присвоить, что одно окно У1, а второе У2?
Как создать кнопку Выполнить?
Решение задачи: «Создание интерфейса, имея код Pascal»
textual
Листинг программы
procedure Form1.button1_Click(sender: Object; e: EventArgs);
var Q1,Q2,Q3,CB1,CB2,n,m,i,k,p,j,s1,s2,s3,f,g,h:byte;
x,y,z:set of byte;
U1,U2,U3,Y1,Y2:integer;
begin
EditResult.Text := '';
Y1 := StrToInt(textBox1.Text);
Y2 := StrToInt(textBox2.Text);
if (Y1>=Y2) or (Y1>=380) or (Y2>=380) then ShowMessage('YSTAVKI NEKORREKTNI')
else
begin
randomize;
x:=[];
for i:=1 to 5 do
begin
repeat
n:=random(5)+1;
until not (n in x);
x:=x+[n];
case n of
1:Q1:=random(2);
2:Q2:=random(2);
3:Q3:=random(2);
4:CB1:=random(2);
5:CB2:=random(2);
end;
end;
begin
randomize;
y:=[];
for j:=1 to 3 do
begin
repeat
k:=random(3)+1;
until not (k in y);
y:=y+[k];
case k of
1:s1:=random(2);
2:s2:=random(2);
3:s3:=random(2);
end;
end;
begin
randomize;
z:=[];
for h:=1 to 3 do
begin
repeat
f:=random(3)+1;
until not (f in z);
z:=z+[f];
case f of
1:U1:=random(381);
2:U2:=random(381);
3:U3:=random(381);
end;
end;
U1:=strtoint(textBox15.Text);
U2:=strtoint(textBox16.Text);
U3:=strtoint(textBox17.Text);
if Q1=0 then textBox3.Text:=('otkluchen')
else textBox3.Text:=('vkluchen');
if Q2=0 then textBox4.Text:=('otkluchen')
else textBox4.Text:=('vkluchen');
if Q3=0 then textBox5.Text:=('otkluchen')
else textBox5.Text:=('vkluchen');
if CB1=0 then textBox6.Text:=('otkluchen')
else textBox6.Text:=('vkluchen');
if CB2=0 then textBox7.Text:=('otkluchen')
else textBox7.Text:=('vkluchen');
if s1=0 then textBox18.Text:=('ispraven')
else textBox18.Text:=('neispraven');
if s2=0 then textBox19.Text:=('ispraven')
else textBox19.Text:=('neispraven');
if s3=0 then textBox20.Text:=('ispraven')
else textBox20.Text:=('neispraven');
end;
end.
Объяснение кода листинга программы
- Переменные Q1, Q2, Q3, CB1, CB2, n, m, i, k, p, j, s1, s2, s3, f, g, h заданы как byte.
- Переменные x, y, z заданы как set of byte.
- Переменные U1, U2, U3 заданы как integer.
- Значения переменных Y1 и Y2 берутся из textBox1 и textBox2 соответственно.
- Если условие (Y1>=Y2) or (Y1>=380) or (Y2>=380) истинно, то выводится сообщение 'YSTAVKI NEKORREKTNI'.
- В противном случае выполняется блок кода, который генерирует случайные значения для переменных Q1, Q2, Q3, CB1, CB2, s1, s2, s3, U1, U2, U3 и запрашивает значения для переменных U1, U2, U3.
- Значения переменных Q1, Q2, Q3, CB1, CB2, s1, s2, s3 выводятся в соответствующие textBox.
- Значения переменных U1, U2, U3 выводятся в соответствующие textBox после запроса на ввод.
- Если Q1=0, то textBox3 принимает значение 'otkluchen'.
- Если Q2=0, то textBox4 принимает значение 'otkluchen'.
- Если Q3=0, то textBox5 принимает значение 'otkluchen'.
- Если CB1=0, то textBox6 принимает значение 'otkluchen'.
- Если CB2=0, то textBox7 принимает значение 'otkluchen'.
- Если s1=0, то textBox18 принимает значение 'ispraven'.
- Если s2=0, то textBox19 принимает значение 'ispraven'.
- Если s3=0, то textBox20 принимает значение 'ispraven'.