Ver Mensaje Individual
  #1  
Antiguo 27-01-2011
llSnakell llSnakell is offline
Miembro
NULL
 
Registrado: ene 2011
Posts: 73
Reputación: 14
llSnakell Va por buen camino
Que codigos se pueden colocar en un boton que muestre un listbox?

Hola

Este Ejericicio lo estoy comprendiendo pero no entiendo algunas partes
me podrian decir que en vez de esos codigos tan complicados , si se puede colocar otro codigo que cumpla la misma funcion !!
Porque realmente no entiendo Esto :

Código Delphi [-]
unit cuadrado;
interface
uses
windows, messages, sysutils, classes, graphics, controls, forms, dialogs,
stdctrls, buttons, printers; //para activar el programa e imprimir resultado
type
tform2 = class(tform)
label1: tlabel;
numero: tedit;
cerrar: tbitbtn;
imprimir: tbitbtn;
borrar: tbitbtn;
mostrar: tbitbtn;
salida: tlistbox;
procedure cerrarclick(sender: tobject);
procedure borrarclick(sender: tobject);
procedure mostrarclick(sender: tobject);
procedure imprimirclick(sender: tobject);
private
{ private declarations }
public
{ public declarations }
end;
var
form2: tform2;
impres:textfile; //defino la impresora como fichero texto
implementation
{$r *.dfm}
procedure tform2.cerrarclick(sender: tobject);
begin
close;
end;
procedure tform2.borrarclick(sender: tobject);
begin
salida.clear;
numero.clear;
salida.visible:=false;
numero.setfocus;
end;
procedure tform2.mostrarclick(sender: tobject);
var
num,cuadrado,cubo,i:integer;
linea,i2,cuadrado2,cubo2:string; //i2=convierte las variables en caracteres
begin
num:=strtoint(numero.text); 
//ponemos los títulos con formatos contando espacios
linea:=format('%5s%6s%5s%8s%6s%4s',[' ','numero',' ','cuadrado',' ','cubo']);
salida.items.add(linea); //añade la "linea" al "listbox"
linea:=format('%5s%6s%5s%8s%6s%4s',[' ','________',' ','__________',
' ','_____']); //pone subrayados los títulos de la línea anterior
salida.items.add(linea);
for i:=1 to num do
begin
cuadrado:=i*i;
cubo:=cuadrado*i;
// convierto las variables a string "caracteres"
str(i,i2);
str(cuadrado,cuadrado2);
str(cubo,cubo2);
// doy el formato para el resultado:
linea:=format('%9s%3s%20s%4s%16s%5s',['',i2,'',cuadrado2,'',cubo2]);
salida.items.add(linea);
end; //fin del "for" y también del "begin"
salida.visible:=true;
end;
procedure tform2.imprimirclick(sender: tobject);
var
i,cubo,cuadrado,num:integer;
begin
assignprn(impres); //asigna "impres" a la impresora
rewrite(impres); //abre la impresora
// imprimo los titulos del resultado
writeln(impres,' numero cuadrado cubo');
// pongo una línea en blanco
writeln(impres);
// defino la variable num
num:=strtoint(numero.text);
// hago un "for" para que imprima el resultado
for i:=1 to num do
begin
cuadrado:=i*i;
cubo:=cuadrado*i;
writeln(impres,' ',i:2,' ',
cuadrado:4,' ',cubo:5);
end;
closefile(impres); 
end;
end.

Y este es el programa ejecutando:

Última edición por Casimiro Notevi fecha: 27-01-2011 a las 01:31:35.
Responder Con Cita