Código:
unit Calculadora1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RpDefine, RpRender, RpRenderPDF, Grids, Calendar, ExtCtrls, DBGrids,
DB, DBTables, ComCtrls, StdCtrls, jpeg, OleCtrls, SHDocVw, IdBaseComponent,
IdComponent, IdIPWatch;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Edit11: TEdit;
Edit12: TEdit;
Edit13: TEdit;
Edit14: TEdit;
Edit15: TEdit;
Edit16: TEdit;
Edit17: TEdit;
Edit18: TEdit;
Edit19: TEdit;
Edit20: TEdit;
Edit21: TEdit;
Edit22: TEdit;
Edit23: TEdit;
Edit24: TEdit;
Edit25: TEdit;
Edit26: TEdit;
Edit27: TEdit;
Edit28: TEdit;
Edit29: TEdit;
Edit30: TEdit;
Edit31: TEdit;
Button1: TButton;
Calculadora: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label1: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Recordatorio: TMemo;
DateTimePicker1: TDateTimePicker;
Memo1: TMemo;
Label21: TLabel;
enREDados: TLabel;
Label22: TLabel;
Label23: TLabel;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit30Change(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure Edit3Change(Sender: TObject);
procedure Edit6Change(Sender: TObject);
procedure Edit7Change(Sender: TObject);
procedure Edit9Change(Sender: TObject);
procedure Edit12Change(Sender: TObject);
procedure Edit14Change(Sender: TObject);
procedure Edit15Change(Sender: TObject);
procedure Edit17Change(Sender: TObject);
procedure Edit19Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Edit12Change(Sender: TObject);
begin
if((Edit11.Text <> ('')) and (Edit12.Text <> ('')))then
Edit26.Text := IntToStr((StrToInt(Edit12.Text)*(StrToInt(Edit11.Text))))
else
Edit26.Text := IntToStr(0);
end;
procedure TForm1.Edit14Change(Sender: TObject);
begin
if((Edit13.Text <> ('')) and (Edit14.Text <> ('')))then
Edit27.Text := IntToStr((StrToInt(Edit13.Text)*(StrToInt(Edit14.Text))))
else
Edit27.Text := IntToStr(0);
end;
procedure TForm1.Edit15Change(Sender: TObject);
begin
if((Edit15.Text <> ('')) and (Edit16.Text <> ('')))then
Edit28.Text := IntToStr((StrToInt(Edit15.Text)*(StrToInt(Edit16.Text))))
else
Edit28.Text := IntToStr(0);
end;
procedure TForm1.Edit17Change(Sender: TObject);
begin
if((Edit17.Text <> ('')) and (Edit18.Text <> ('')))then
Edit29.Text := IntToStr((StrToInt(Edit17.Text)*(StrToInt(Edit18.Text))))
else
Edit29.Text := IntToStr(0);
end;
procedure TForm1.Edit19Change(Sender: TObject);
begin
if((Edit19.Text <> ('')) and (Edit20.Text <> ('')))then
Edit30.Text := IntToStr((StrToInt(Edit19.Text)*(StrToInt(Edit20.Text))))
else
Edit30.Text := IntToStr(0);
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not ((Key in ['0'..'9'] )or (Key = #08)) then
begin
Key:= #0;
Beep;
end;
end;
procedure TForm1.Edit2Change(Sender: TObject);
begin
if((Edit1.Text <> ('')) and (Edit2.Text <> ('')))then
Edit21.Text := IntToStr((StrToInt(Edit2.Text)*(StrToInt(Edit1.Text))))
else
Edit21.Text := IntToStr(0);
end;
procedure TForm1.Edit30Change(Sender: TObject);
var
a , I: integer;
begin
a:=0;
for I := 21 to 30 do
if(((FindComponent('Edit' + IntToStr(i)) as TEdit).Text))<>('')then
begin
a:=a + ( StrToInt((FindComponent('Edit' + IntToStr(i)) as TEdit).Text));
end
else
a:=a+0;
Edit31.Text := IntToStr(a);
end;
procedure TForm1.Edit3Change(Sender: TObject);
begin
if((Edit3.Text <> ('')) and (Edit4.Text <> ('')))then
Edit22.Text := IntToStr((StrToInt(Edit3.Text)*(StrToInt(Edit4.Text))))
else
Edit22.Text := IntToStr(0);
end;
procedure TForm1.Edit6Change(Sender: TObject);
begin
if((Edit5.Text <> ('')) and (Edit6.Text <> ('')))then
Edit23.Text := IntToStr((StrToInt(Edit5.Text)*(StrToInt(Edit6.Text))))
else
Edit23.Text := IntToStr(0);
end;
procedure TForm1.Edit7Change(Sender: TObject);
begin
if((Edit7.Text <> ('')) and (Edit8.Text <> ('')))then
Edit24.Text := IntToStr((StrToInt(Edit7.Text)*(StrToInt(Edit8.Text))))
else
Edit24.Text := IntToStr(0);
end;
procedure TForm1.Edit9Change(Sender: TObject);
begin
if((Edit9.Text <> ('')) and (Edit10.Text <> ('')))then
Edit25.Text := IntToStr((StrToInt(Edit9.Text)*(StrToInt(Edit10.Text))))
else
Edit25.Text := IntToStr(0);
end;
procedure TForm1.FormActivate(Sender: TObject);
var
i, a: Integer;
begin
for i := 1 to 20 do
begin
if ((i mod 2)= 0) then
begin
(FindComponent('Edit' + IntToStr(i)) as TEdit).text := '1';
end
else
begin
(FindComponent('Edit' + IntToStr(i)) as TEdit).text := '0';
end;
end;
for a := 21 to 30 do
(FindComponent('Edit' + IntToStr(a)) as TEdit).text := '0';
end;
end.
asi me qedo el codigo. anda todo de diez hace lo que quiero. ahora es el tema donde tengo una duda...
$1
eso es un peso, pero yo quiero mostrarlo asi
1.00
y asi con tengo qe encontrar lamanera de acceder a los ultimos dos caracteres de mi string, correrlos un lugar para la derecha y agregar la coma donde estaba el anteultimo. bien se qe un string es un array of caracteres. tendria qe acceder por array size. existe una funcion asi? y hay alguna manera de aumentar el array en ese momento? sigo probando y leyendo.
