Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 01-02-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Me parece que un ListBox no es el componente más adecuado para mostrar una matríz, un StringGrid es más apropiado, es más,
hace innecesaria la declaración del arreglo bidimensional 'datos'.
El código que te adjunto conserva el array por si lo exige el ejercicio. No hace ninguna comprobación en las conversiones.

Código Delphi [-]
...
const
   MESES = 3;
   SUCURSALES = 4;
var
  Form1: TForm1;
  datos: array[1..MESES,1..SUCURSALES] of Double;
  fil: Integer=1;
  col: Integer=1;
 
implementation 

procedure TForm1.FormShow(Sender: TObject);
var
  i: Integer;
begin
  StringGrid1.FixedCols:= 1;
  StringGrid1.FixedRows:= 1;
  StringGrid1.ColCount:= SUCURSALES + 2;
  StringGrid1.RowCount:= MESES + 2;
  for i:= 1 to MESES do
   StringGrid1.Cells[0,i]:= 'Mes '+FloatToStr(i);
  StringGrid1.Cells[0,MESES+1]:= 'Tot mes';
  for i:= 1 to SUCURSALES do
   StringGrid1.Cells[i,0]:= 'Suc '+FloatToStr(i);
  StringGrid1.Cells[SUCURSALES+1,0]:= 'Tot suc';
end;

procedure TForm1.CalcularTotales;
var
  i,j: Integer;
  t: Double;
begin
  for i:= 1 to MESES do
  begin
    t:= 0;
    for j:= 1 to SUCURSALES do
      t:= t + datos[i,j];
    StringGrid1.Cells[SUCURSALES+1,i]:= FloatToStr(t);
  end;
  for i:= 1 to SUCURSALES do
  begin
    t:= 0;
    for j:= 1 to MESES do
      t:= t + datos[j,i];
    StringGrid1.Cells[i,MESES+1]:= FloatToStr(t);
  end;
end;

procedure TForm1.InsertaClick(Sender: TObject);
begin
  if col > SUCURSALES then
  begin
    CalcularTotales;
    showmessage('Ingreso completado');
  end
  else
  begin
    datos[fil,col]:= StrToFloat(Edit1.Text);
    StringGrid1.Cells[col,fil]:= Edit1.Text;
    if (fil = MESES) then
    begin
      fil:= 0;
      Inc(Col);
    end;
    Inc(fil);
  end;
end;
...

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 01-02-2011 a las 22:02:50.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
TImageList con dimensiones mayor a 256x256 KATODO Gráficos 0 06-08-2008 17:10:50
array_key_exists no me funciona con arreglos de dos dimensiones lucasarts_18 PHP 4 27-07-2008 23:35:09
Pantalla que proyecta imágenes en 3 dimensiones Gabo Noticias 4 03-09-2007 17:53:59
Dimensiones de página html lucasarts_18 HTML, Javascript y otros 10 04-05-2007 01:15:28
matriz 3 dimensiones Lidia SQL 2 12-12-2005 18:59:58


La franja horaria es GMT +2. Ahora son las 18:33:17.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi