Bueno, despues del primer programa hola mundo, leí unos manuales, descargué unos componentes, visité algunas páginas como la de
Trucomanía, le tuve moviendo por aquí, por allá. Y pues me lancé de lleno con el segundo programa, el cual debería de ser algo útil para que compensara las horas de estudio
. Así que me pusé a hacer una calculadora de valores de resistencias mediante el código de colores.
Componentes externos utilizados:
Coolcontrols. (Para los botones de colores).
Alphacontrols. (Pa que se vea chipocluda la interfaz).
OJO: No soy experto en utilizar esos componentes. De hecho tengo varias dudas, pero trasteando se checa que hace cada cosa.
Este es el ejecutable en acción.
Este es el aspecto del Form. (o la form?)
Y este es el código fuente:
unit resistencias;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, CoolCtrls, Math, sSkinManager, sSkinProvider,
sLabel, sPanel, sButton, sTabControl, sScrollBox, sFrameBar;
type
TForm1 = class(TForm)
btn_black1: TCoolBtn;
banda1: TShape;
btn_brown1: TCoolBtn;
btn_red1: TCoolBtn;
btn_orange1: TCoolBtn;
boton_yellow1: TCoolBtn;
btn_green1: TCoolBtn;
btn_blue1: TCoolBtn;
btn_purple1: TCoolBtn;
btn_gray1: TCoolBtn;
btn_white1: TCoolBtn;
Shape1: TShape;
banda2: TShape;
banda3: TShape;
Shape4: TShape;
btn_black2: TCoolBtn;
btn_brown2: TCoolBtn;
btn_red2: TCoolBtn;
btn_orange2: TCoolBtn;
boton_yellow2: TCoolBtn;
btn_green2: TCoolBtn;
btn_blue2: TCoolBtn;
btn_purple2: TCoolBtn;
btn_gray2: TCoolBtn;
btn_white2: TCoolBtn;
btn_black3: TCoolBtn;
btn_brown3: TCoolBtn;
btn_red3: TCoolBtn;
btn_orange3: TCoolBtn;
boton_yellow3: TCoolBtn;
btn_green3: TCoolBtn;
btn_blue3: TCoolBtn;
btn_purple3: TCoolBtn;
btn_gray3: TCoolBtn;
btn_white3: TCoolBtn;
sSkinManager1: TsSkinManager;
sSkinProvider1: TsSkinProvider;
sPanel1: TsPanel;
sPanel2: TsPanel;
lbl_valor: TsLabel;
salir: TsButton;
sLabel1: TsLabel;
sPanel3: TsPanel;
sPanel4: TsPanel;
sPanel5: TsPanel;
sLabel2: TsLabel;
sLabel3: TsLabel;
sLabel4: TsLabel;
procedure salirClick(Sender: TObject);
procedure btn_black1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_brown1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_red1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_orange1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure boton_yellow1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_green1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_blue1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_purple1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_gray1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_white1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_black2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_brown2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_red2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_orange2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure boton_yellow2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_green2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_blue2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_purple2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_gray2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_white2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_brown3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_black3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_red3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_orange3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure boton_yellow3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_green3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_blue3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_purple3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_gray3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure btn_white3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
procedure FormCreate(Sender: TObject);
procedure calculaClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
vb1,vb2,vb3,vb3_aux:integer;
valor:Real;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.salirClick(Sender: TObject);
begin
close;
end;
//Banda 1
procedure TForm1.btn_black1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda1.Brush.Color:=clBlack;
vb1:=0;
end;
procedure TForm1.btn_brown1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,
Y: Integer);
begin
banda1.Brush.Color:=$00024480;
vb1:=10;
end;
procedure TForm1.btn_red1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda1.Brush.Color:=clRed;
vb1:=20;
end;
procedure TForm1.btn_orange1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda1.Brush.Color:=$000080FF;
vb1:=30;
end;
procedure TForm1.boton_yellow1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda1.Brush.Color:=clYellow;
vb1:=40;
end;
procedure TForm1.btn_green1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda1.Brush.Color:=clGreen;
vb1:=50;
end;
procedure TForm1.btn_blue1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda1.Brush.Color:=clNavy;
vb1:=60;
end;
procedure TForm1.btn_purple1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda1.Brush.Color:=clPurple;
vb1:=70;
end;
procedure TForm1.btn_gray1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda1.Brush.Color:=clGray;
vb1:=80;
end;
procedure TForm1.btn_white1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda1.Brush.Color:=clWhite;
vb1:=90;
end;
//Banda 2
procedure TForm1.btn_black2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda2.Brush.Color:=clBlack;
vb2:=0;
end;
procedure TForm1.btn_brown2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda2.Brush.Color:=$00024480;
vb2:=1;
end;
procedure TForm1.btn_red2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda2.Brush.Color:=clRed;
vb2:=2;
end;
procedure TForm1.btn_orange2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda2.Brush.Color:=$000080FF;
vb2:=3;
end;
procedure TForm1.boton_yellow2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda2.Brush.Color:=clYellow;
vb2:=4;
end;
procedure TForm1.btn_green2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda2.Brush.Color:=clGreen;
vb2:=5;
end;
procedure TForm1.btn_blue2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda2.Brush.Color:=clNavy;
vb2:=6;
end;
procedure TForm1.btn_purple2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda2.Brush.Color:=clPurple;
vb2:=7;
end;
procedure TForm1.btn_gray2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda2.Brush.Color:=clGray;
vb2:=8;
end;
procedure TForm1.btn_white2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda2.Brush.Color:=clWhite;
vb2:=9;
end;
//Banda 3
procedure TForm1.btn_black3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
Begin
banda3.Brush.Color:=clBlack;
vb3:=1;
vb3_aux:=0;
end;
procedure TForm1.btn_brown3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda3.Brush.Color:=$00024480;
vb3:=10;
vb3_aux:=0;
end;
procedure TForm1.btn_red3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda3.Brush.Color:=clRed;
vb3:=1;
vb3_aux:=1;
end;
procedure TForm1.btn_orange3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda3.Brush.Color:=$000080FF;
vb3:=10;
vb3_aux:=1
end;
procedure TForm1.boton_yellow3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda3.Brush.Color:=clYellow;
vb3:=100;
vb3_aux:=1;
end;
procedure TForm1.btn_green3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda3.Brush.Color:=clGreen;
vb3:=1;
vb3_aux:=2;
end;
procedure TForm1.btn_blue3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda3.Brush.Color:=clNavy;
vb3:=10;
vb3_aux:=2;
end;
procedure TForm1.btn_purple3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda3.Brush.Color:=clPurple;
vb3:=100;
vb3_aux:=2;
end;
procedure TForm1.btn_gray3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda3.Brush.Color:=clGray;
vb3:=1000;
vb3_aux:=2;
end;
procedure TForm1.btn_white3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
banda3.Brush.Color:=clWhite;
vb3:=10000;
vb3_aux:=2;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
vb1:=1;
vb2:=0;
vb3:=1;
vb3_aux:=1;
lbl_valor.Caption:='1 '+ 'K'+char(234);
end;
procedure TForm1.calculaClick(Sender: TObject);
begin
valor:=(vb1+vb2)*vb3;
if (vb3_aux=1) then begin
lbl_valor.Caption:=FloatToStr(valor/10)+' K' + #$EA;
end else
if vb3_aux=2 then begin
lbl_valor.Caption:=FloatToStr(valor/10)+' M' +char(234);
end else
lbl_valor.Caption:=FloatToStr(valor)+' ' +#$EA;
end;
end.
Mis dudas:
1.- En mi compu se desplega bien el caracter Omega, pero en otras compus no. ¿Como puedo solucionarlo?.
2.- Comohacerle para que el programa se quedé del tamaño que le puse. (Que el usuario no lo pueda redimensionar.)
3.- Es una buena manera de hacer este programa, o se puede depurar un poco? Tips, sugerencias...
A los novatos como su servidor, si tienen dudas de como le hice para poner, quitar, descomponer, etc
, con gusto les explicaré.
Saludos. Y a dar el mejor esfuerzo.
Ganbatte kudasai.