Воскресенье, 24.11.2024, 09:01 | Приветствую Вас Гость

...

Код

Главная » Статьи » PABC

Случайный цвет

{$apptype windows}
{$reference 'System.Windows.Forms.dll'}
{$reference 'System.Drawing.dll'}
{$reference 'System.dll'}

uses System.Windows.Forms,
System.Drawing,System.ComponentModel,System.Net,
System;

var myForm: Form;
var myButton:Button;
var gra:System.Drawing.Graphics;
var myColor:System.Drawing.Color;
var myBrush:System.Drawing.Brush;
var stRect:System.Drawing.Rectangle;
var textBox1:System.Windows.Forms.TextBox;
var textBox2:System.Windows.Forms.TextBox;
var textBox3:System.Windows.Forms.TextBox;
var myButton2:Button;
var colorBox:System.Windows.Forms.TextBox;

var tb1:System.Windows.Forms.TrackBar;
var tb2:System.Windows.Forms.TrackBar;
var tb3:System.Windows.Forms.TrackBar;

function DecToHex(n: Integer): string;
const
HEX = '0123456789ABCDEF';
begin
result := '';
repeat
result := HEX[Succ(n mod 16)] + result;
n := n div 16;
until n = 0;
end;


procedure OnClick(sender: object; e: System.EventArgs);
begin
  
var rndGen: Random := new Random();
var r: integer := rndGen.Next(0,255);
var g: integer := rndGen.Next(0,255);
var b: integer := rndGen.Next(0,255);

var myBrush := new SolidBrush(Color.FromArgb(255,r,g,b));
gra.FillRectangle(myBrush,0,0,100,100);

end;


procedure OnClick2(sender: object; e: System.EventArgs);
begin
var nr:integer;
var ng:integer;
var nb:integer;
var r:string := textBox1.Text;
var g:string := textBox2.Text;
var b:string := textBox3.Text;
integer.TryParse(r,nr);
integer.TryParse(g,ng);
integer.TryParse(b,nb);


var myBrush := new SolidBrush(Color.FromArgb(255,nr,ng,nb));
gra.FillRectangle(myBrush,0,0,100,100);


if nr <= 15 then
begin
colorBox.Text := '0'+DecToHex(nr);
end
else
begin
colorBox.Text :=DecToHex(nr);
end;


if ng <= 15 then
begin
colorBox.Text := colorBox.Text + '0'+DecToHex(ng);
end
else
begin
colorBox.Text :=colorBox.Text +DecToHex(ng);
end;


if nb <= 15 then
begin
colorBox.Text := colorBox.Text + '0'+DecToHex(nb);
end
else
begin
colorBox.Text :=colorBox.Text +DecToHex(nb);
end;

end;

procedure Refresh();
begin
var nr:integer;
var ng:integer;
var nb:integer;
var r:string := textBox1.Text;
var g:string := textBox2.Text;
var b:string := textBox3.Text;
integer.TryParse(r,nr);
integer.TryParse(g,ng);
integer.TryParse(b,nb);


var myBrush := new SolidBrush(Color.FromArgb(255,nr,ng,nb));
gra.FillRectangle(myBrush,0,0,100,100);
end;


procedure Changed_TrackBar1(sender: object; e: System.EventArgs);
begin
textBox1.Text := tb1.Value.ToString;
Refresh();
end;

procedure Changed_TrackBar2(sender: object; e: System.EventArgs);
begin
textBox2.Text := tb2.Value.ToString;
Refresh();
end;

procedure Changed_TrackBar3(sender: object; e: System.EventArgs);
begin
textBox3.Text := tb3.Value.ToString;
Refresh();
end;


begin
myForm := new Form;
myForm.Text := '‘Форма';
myForm.Height := 400;
myForm.Width := 700;
myButton := new Button;
myButton.Text := 'go';
myButton.Top := 22;
myButton.Left := 0;
myButton.Top := 150;
myButton.Click += OnClick;
myForm.Controls.Add(myButton);
gra := System.Drawing.Graphics.FromHwnd(myForm.Handle);

textBox1 := new System.Windows.Forms.TextBox();
textBox1.Text := '255';
textBox1.Left := 150;
myForm.Controls.Add(textBox1);

textBox2 := new System.Windows.Forms.TextBox();
textBox2.Text := '255';
textBox2.Left := 150;
textBox2.Top := 50;
myForm.Controls.Add(textBox2);

textBox3 := new System.Windows.Forms.TextBox();
textBox3.Text := '255';
textBox3.Left := 150;
textBox3.Top := 100;
myForm.Controls.Add(textBox3);

colorBox := new System.Windows.Forms.TextBox();
colorBox.Text := '';
colorBox.Left := 0;
colorBox.Top := 200;
myForm.Controls.Add(colorBox);


myButton2 := new Button;
myButton2.Text := 'go';
myButton2.Top := 22;
myButton2.Left := 150;
myButton2.Top := 150;
myButton2.Click += OnClick2;
myForm.Controls.Add(myButton2);

tb1:= new System.Windows.Forms.TrackBar;
tb1.Top := 0;
tb1.Left := 250;
tb1.Maximum := 255;
tb1.Minimum := 0;
tb1.Size := new System.Drawing.Size(350,25);
tb1.ValueChanged += Changed_TrackBar1;
myForm.Controls.Add(tb1);


tb2:= new System.Windows.Forms.TrackBar;
tb2.Top := 50;
tb2.Left := 250;
tb2.Maximum := 255;
tb2.Minimum := 0;
tb2.Size := new System.Drawing.Size(350,25);
tb2.ValueChanged += Changed_TrackBar2;
myForm.Controls.Add(tb2);


tb3:= new System.Windows.Forms.TrackBar;
tb3.Top := 100;
tb3.Left := 250;
tb3.Maximum := 255;
tb3.Minimum := 0;
tb3.Size := new System.Drawing.Size(350,25);
tb3.ValueChanged += Changed_TrackBar3;
myForm.Controls.Add(tb3);

Application.Run(myForm);
end.

Категория: PABC | Добавил: moskov (31.05.2020)
Просмотров: 217 | Рейтинг: 0.0/0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Меню сайта

Категории раздела

PHP [41]
C++ [71]
Autoit [108]
Processing [105]
Basic4GL [7]
Fasm [2]
PABC [7]
Js [233]
Gentee [1]
Python [204]
Java android [3]
Small Basic [9]

Мини-чат

Статистика


Онлайн всего: 11
Гостей: 11
Пользователей: 0

Форма входа

Друзья сайта

  • ЗОВ КОСМОСА

  • Хулиган Вселенной

  • Тюремная поэзия

  • Религиозная поэзия

  • Сайт клана ЛеГиоН
  • Поиск