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
![Mr. Green :mrgreen:](http://www.todopic.com.ar/foros/Smileys/default/icon_mrgreen.gif)
. 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.
![](http://huichoman.diinoweb.com/files/codcol_exe.png)
Este es el aspecto del Form. (o la form?)
![](http://huichoman.diinoweb.com/files/codcol_form.png)
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
![Mr. Green :mrgreen:](http://www.todopic.com.ar/foros/Smileys/default/icon_mrgreen.gif)
, con gusto les explicaré.
Saludos. Y a dar el mejor esfuerzo.
Ganbatte kudasai.