Академический Документы
Профессиональный Документы
Культура Документы
BARRA DE MENUS
INSPECTOR DE OBJETOS
Nos permite cambiar las caractersticas de un componente
PASO 1
PASO 2
SHOWMESSAGEPOS
ENTRADA
INPUTBOX
Inputbox(Nombre_de_la_ventana,Mensaje,Valor de campo);
Ejemplo:
InputBox('suma de datos','ingrese un numero','10') ;
DECLARACION DE VARIABLES
Para poder declarar las variables o indicar que tipo de variables vamos a utilizar en el
programa se debe definir despus de la palabra reservada VAR y antes de BEGIN
VAR
NomVar:=TipoDeDato;
BEGIN
Ejemplo:
VAR
edad : integer;
nombre : string;
sis : long;
estatura : double;
puntuacin : real;
varon : boolean;
a,b,c:integer;
BEGIN
TIPOS DE DATOS
ASIGNACION
Una vez definida la variable y el tipo de dato, hay que darle un valor y para eso se sigue la
siguiente sintaxis.
NomVar:=Expresion;
Ejemplo:
Edad:=12;
Nombre:=joseph;
Estatura:=1.65;
Ejemplo:
Suma:=2+8;
DECLARACION DE CONSTANTES
Para poder declarar una constantes primero se pone la palabra reservada CONST y
seguida del nombre de la constante y su respectivo valor.
CONST
NomConst:=valor;
Ejemplo:
CONST
Pi:=3.1416;
ConstA:=10000;
OPERADORES
OPERADORES MATEMATICOS
OPERADORES LOGICOS
FUNCIONES MATEMATICAS
Delphi tiene funciones que permiten cambiar tipos de datos, para poder utilizarlas
debemos escribir el nombre de la unidad Sysutils, debajo de la instruccin Uses. A
continuacin se mencionan las funciones mas utilizadas.
TRUNC.- Esta funcin permite asignar un nmero real (decimal) a una variable de tipo
byte, Word o integer. Recibe como parmetro un nmero real y retorna dicho nmero sin
parte decimal. No hace redondeo, solo elimina la parte que est despus del punto
decimal.
Ejemplo:
a : integer;
f : real;
f : =1.8934;
a := TRUNC (f); // Resultado a = 1
Ejemplo:
a : string;
b : integer;
a := 123;
b .= STRTOINT (a); // Resultado b=123
Ejemplo:
a : integer;
b : string;
a := 12;
b := el valor de a es + INTTOSTR (a); // b= el valor de a es 12
Ejemplo:
a:string;
b:double;
a : = 123.45;
b : = STRTOINT (a); // Resultado b=123.45
Ejemplo:
a : = FLOATTOSTR (b); // Resultado b=123.45
COMENTARIOS
Es posible incluir en el cdigo, texto aclarativo que ayude a entender lo que la instruccin
esta realizando. A ese texto se le denomina comentario.
En Delphi hay 3 formas distintas de poner comentarios:
_ Encerrando el texto aclarativo entre llaves { })
_ Encerrando el texto aclarativo entre parntesis y asterisco (* *)
_ Anteponiendo al texto dos smbolos de diagonal (//). nicamente una lnea de
texto.
Ejemplo:
(*
Todo esta parte es un comentario
*)
BEGIN {Esto tambin es un comentario}
a := b + c; // Aqu se realiza una suma
showmessage(a);
END;
Nota.- Los comentarios no son considerados por Delphi como parte del cdigo. Su nica
funcin es la de aclarar el cdigo.
program Sum;
uses
forms, dialogs, sysutils;
var
suma,a,b:integer;
begin
a:=strtoint(inputbox('A','Ingrese el valor de A',' '));
b:=strtoint(inputbox('b','Ingrese el valor de b',' '));
suma:=a+b;
showmessage('La suma es: '+inttostr(suma));
end.
Ejemplo1:
PROGRAMA PARA SUMAR 2 NUMEROS
procedure TForm1.Button1Click(Sender: TObject);
var
valor1,valor2,suma:integer;
begin
valor1:=strtoint(edit1.text);
valor2:=strtoint(edit2.text);
suma:=valor1+valor2;
showmessage('la suma es: '+inttostr(suma));
end;
end.
Ejemplo 2:
PROGRAMA PARA CALCULAR LA DISTANCIA ENTRE 2 PUNTOS
procedure TForm1.Button1Click(Sender: TObject);
var
x1,y1,x2,y2:integer;
distancia:double;
begin
x1:=strtoint(edit1.text);
y1:=strtoint(edit2.text);
x2:=strtoint(edit3.text);
y2:=strtoint(edit4.text);
distancia:=sqrt(sqr(x2-x1)+sqr(y2-y1));
edit5.Text:=floattostr(distancia);
end;
end.
Ejemplo3:
DADO UN NMERO DETERMINAR SI ES POSITIVO O NEGATIVO
procedure TForm1.Button1Click(Sender: TObject);
var
numero:integer;
begin
numero:=strtoint(edit1.Text);
if(numero>0)then
begin
showmessage('Positivo');
end
else
begin
showmessage('Negativo');
end;
end;
end.
CASEOF
Donde variable es el identificador de la variable que ser comprobada y valor1,
valor2... son los diferentes valores que puede tomar dicha variable.
Case (variable) of
valor1: begin codigo1;end;
valor2: begin codigo2;end;
valor3: begin codigo3;end;
.
.
.
valorN: begin codigo N;end;
Else begin codigo;end
End;
Ejemplo 7:
DADO UN NUMERO INDICAR EL DIA DE LA SEMANA
procedure TForm1.Button1Click(Sender: TObject);
var numero:integer;
begin
numero:=strtoint(edit1.text);
case numero of
1:begin showmessage('El dia de la semana es: Lunes');end;
2:begin showmessage('El dia de la semana es: Martes');end;
3:begin showmessage('El dia de la semana es: Miercoles');end;
4:begin showmessage('El dia de la semana es: Jueves');end;
5:begin showmessage('El dia de la semana es: Viernes');end;
6:begin showmessage('El dia de la semana es: Sabado');end;
7:begin showmessage('El dia de la semana es: Domingo');end;
else begin showmessage('Error...! Ingrese un Numero Valido');end
end;
end;
end.
Que es un Evento?
Es la accin que realiza el usuario sobre una herramienta o componente (button, label, edit, etc.)
Parmetro Sender
Este parmetro permite saber cul es la componente que recibi el evento.
(se refiere al Edit1 para el ejemplo)
FUNCION ORD(X)
La funcin Ord(); se usa para obtener el valor ASCII de un determinado nmero entero.
Ejemplo:
ord(a)=97
ord(key)=13
ord(t)=116
REPEATUNTIL
Se utiliza para repetir las mismas acciones o cdigos hasta que se cumpla una condicin
determinada.
Repeat
codigo
Until condicin;
Ejemplo9:
GENERAR LA TABLA DE MULTIPLICAR DEL 2
WHILEDO
Se utiliza para repetir las acciones o cdigo mientras se cumpla una condicin.
En el momento que la condicin deje de cumplirse, el bucle terminar y seguir con la
siguiente instruccin del cdigo.
Su sintaxis es:
While (condicin)do
Begin
codigo
End;
Ejemplo10:
GENERAR LA TABLA DE MULTIPLICAR DEL 2
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,res:integer;
begin
i:=2;
j:=1;
while (j<11) do
begin
res:=i*j;
listbox1.Items.Add('2*'+inttostr(j)+ '= '+inttostr(res));
j:=j+1;
end;
end;
end.
FOR..TO..DO
For variable:=valor inicial to valor final do
Begin
Codigo
End;
Ejemplo11:
GENERAR LA TABLA DE MULTIPLICAR DEL 2
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,res:integer;
begin
i:=2;
for j:=1 to 10 do
begin
res:=i*j;
listbox1.Items.Add('2*'+inttostr(j)+ '= '+inttostr(res));
end;
end;
end.
Ejemplo 13:
PROGRAMA PARA CALCULAR CUANTOS DIGITOS TIENE UN NUMERO
procedure TForm1.Button1Click(Sender: TObject);
var
num,cont:integer;
begin
num:=strtoint(edit1.text);
cont:=0;
while(num>0)do
begin
num:=num div 10;
cont:=cont+1;
end;
showmessage(' tiene '+inttostr(cont)+' digitos');
end;
end.
FOR..DOWNTO..DO
Se utiliza para efectuar un nmero concreto de repeticiones la misma secuencia de acciones, pero a
diferencia del anterior va decrementando el contador en una unidad. Su sintaxis es:
For variable:=valor inicial downto valor final do
Begin
Codigo
End;
Ejemplo 14
PROGRAMA PARA GENERAR NMEROS DEL 20 AL 1
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:=20 downto 1 do
begin
listbox1.Items.Add(inttostr(i));
end;
end;
end.
CLASES DE EXCEPCIONES
Las excepciones en Delphi se pueden dividir en las siguientes cinco categoras:
Conversin de tipo.-Se producen cuando se trata de convertir un tipo de dato en otro, por
ejemplo utilizando las funciones INTTOSTR, STRTOINT, STRTOFLOAT. Delphi
dispara una excepcin EConvertError.
INSTRUCCIN TRYEXCEPT
Para proteger una porcin de cdigo se debe encerrar en un bloque TRY...EXCEPT.
Entre estas dos palabras reservadas se ubica el cdigo que est expuesto a errores
(excepciones), despus de EXCEPT se procesan estos ltimos, cerrando todo el bloque
con END.
La sintaxis es:
TRY
{Bloque de cdigo propenso a errores}
EXCEPT
ON <clase de excepcin> DO
{Una sola instruccin o un bloque BEGIN..END}
ON <otra excepcin diferente> DO
END;
Ejemplo 15:
PROGRAMA PARA DIVIDIR 2 NUMEROS
procedure TForm1.Button1Click(Sender: TObject);
var
a,b:integer;
res:double;
begin
try
a:=strtoint(edit1.text);
b:=strtoint(edit2.text);
res:=a/b;
edit3.text:=floattostr(res);
except
on EZeroDivide do
showmessage('Error Division entre 0, ingrese otro denominador');
on EconvertError do
showmessage('Error el numero que ingreso es demasiado largo');
end;
end;
end.
INSTRUCCIN TRYFINALLY
Hay ocasiones que es necesario ejecutar una porcin de cdigo suceda un error o no.
Para esto, existe en Delphi la estructura TRYFINALLY. Cuando se produce un error
dentro de este bloque, se suspende el tratamiento de la excepcin para ejecutar el cdigo
que sigue a FINALLY. Luego de terminado, se sigue con el proceso normal del proceso
de error.
Su sintaxis es la siguiente:
TRY
{Cdigo expuesto a errores}
FINALLY
{Cdigo de ejecucin obligatoria}
END;
Declaracion de Funciones.La declaracin de una funcin es como la declaracin de procedimientos, excepto que se
utiliza la palabra reservada FUNCTION, se especifica un tipo de regreso y un valor de
regreso. La declaracin de una funcin tiene la siguiente forma:
ARCHIVOS
Un archivo o fichero es una estructura de datos que, normalmente, se almacena en la
memoria auxiliar (disco duro, cinta o disquete) de una computadora. No tiene un tamao
fijo, necesariamente. Se referencia por un nombre o identificador. La informacin se
traspasa de la memoria principal hacia l, de l a la memoria principal a travs de una
memoria intermedia (buffer), y por medio de procedimientos de lectura/escritura
(Entradas/Salidas).
Tratamiento de archivos de texto.- Los pasos para el tratamiento de un archivo de texto
son:
Declaracin del manipulador interno del archivo.- Declarar una variable de tipo TextFile
y asociar a esta variable (manipulador interno) un nombre de archivo externo.
Nombre_Archivo:TextFile;
Ejemplo:
PROGRAM archivodetexto;
USES Dialogs;
VAR
Documento:TextFile;
Asignacin del manipulador interno a un archivo externo.- Asociar una variable de tipo
archivo externo almacenado en el disco.
AssignFile( Nombre:Archivo, Direccion_Archivo_Nombre_y_Tipo_De_Archivo);
Ejemplo:
PROGRAM archivodetexto;
USES Dialogs;
VAR
Documento: TextFile;
Arreglos o Vectores
Declarar una variable
Var
Nom_variable:array[1..n]of Integer;
Ejemplo 20:
PROGRAMA QUE LEA 5 NUMEROS Y LOS MUESTRE
procedure TForm1.Button1Click(Sender: TObject);
var
notas:array[1..5]of integer;
i:integer;
begin
for i:=1 to 5 do
begin
notas[i]:=strtoint(inputbox('Notas','Ingrese la nota',''));
end;
for i:=1 to 5 do
begin
listbox1.items.add(inttostr(notas[i]));
end;
end;
end.
Matrices
Declarar una variable
Var
Nom_variable:array[1..n,1..n]of Integer;
Ejemplo15
Programa para ingresar nmeros dentro una matriz de 3x3
procedure TForm1.Button1Click(Sender: TObject);
var
numero:array[1..3,1..3]of integer;
i,j:integer;
mostrar:string;
begin
for i:=1 to 3 do
begin
for j:=1 to 3 do
numero[i,j]:=strtoint(inputbox('Numeros','Ingrese Numero',' '));
end;
for i:=1 to 3 do
begin
for j:=1 to 3 do
mostrar:=mostrar+inttostr(numero[i,j])+#9;
mostrar:=mostrar+#13;
end;
showmessage(mostrar);
end;
end.
Ejemplo16 :
CRUCIGRAMA
program crucigrama;
uses
forms,dialogs,sysutils;
var
a:array[1..50,1..50]of string;
s,t:string;
i,j,n:integer;
begin
s:=inputbox('Ingrese Nombre','valor','juan');
n:=length(s);
for i:=1 to n do
begin
a[1,i]:=s[i];
a[i,1]:=s[i];
a[n,i]:=s[n+1-i];
a[i,n]:=s[n+1-i];
end;
for i:=1 to n do
begin
for j:=1 to n do
t:=t+a[i,j]+#9;
t:=t+#13;
end;
showmessage('crucigrama'+#13+t);
end.
begin
with canvas do
begin
codigo
end;
end;
end.
Bscross
bsdiagcross
bshorizontal
bsvertical
bsbdiagonal
bsfdiagonal
SALARIO MENSUAL
procedure TForm1.Button1Click(Sender: TObject);
var
nhoras,tarifa,dif,sb1,sb2,sb,difsb,sneto:double;
begin
nhoras:=strtofloat(edit1.text);
tarifa:=strtofloat(edit2.text);
if( nhoras>45)then
begin
dif:=nhoras-45;
sb1:=45*tarifa;
sb2:=dif*tarifa*1.3;
sb:=sb1+sb2;
end
else
sb:=nhoras*tarifa;
if(sb>600)then
begin
difsb:=sb-600;
if(difsb>400)then
begin
sneto:=400*0.82+(difsb-400)*0.55+600;
end
else
sneto:=difsb*0.82+600;
end
else
begin
sneto:=sb;
end;
Edit3.text:=floattostr(sneto);
end;
end.