Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #14  
Antiguo 13-11-2014
Avatar de danielmj
danielmj danielmj is offline
Miembro
 
Registrado: jun 2011
Posts: 383
Poder: 16
danielmj Va por buen camino
Hola, Casimiro y ecfisa,

Al primero (casimiro), el código que envia los datos a la lista es este:

Form1. button2.click.... //envia datos al tercer formulario (rForm), que contiene la lista.

Código Delphi [-]
Public
    { Public declarations }

    precios : array[0..8] of Real;
....

procedure TForm1.Button2Click(Sender: TObject);
begin
  case cmbHebillas.ItemIndex of
    0: precios[0]:= 0.30;
    1: precios[1]:= 0.35;
    2: precios[2]:= 0.60;
    3: precios[3]:= 1.00;
    4: precios[4]:= 1.20;
    5: precios[5]:= 1.30;
    6: precios[6]:= 1.70;
    7: precios[7]:= 1.50;
    8: precios[8]:= 1.50;
  end;

  i:= (StrToFloat(label9.Caption)+StrToFloat(label10.Caption)+StrToFloat(label11.Caption)+
  StrToFloat(label12.Caption)+StrToFloat(label13.Caption)+StrToFloat(label14.Caption)+
  StrToFloat(label15.Caption)+StrToFloat(label16.Caption));

  label17.Caption:= FormatFloat('0.00',i); //-----------------------------> Uso una etiqueta para almacenar el valor de i (no sé si será lo mas correcto)
  rForm.Label35.Caption:= FormatFloat('0.00',i*StrToInt(edit1.Text)); //---> Esta etiqueta "label35", es la que tiene que mostrar la suma de todas las cantidades en el rForm (último formulario que contiene la lista)
  pDatos.showModal; //.......................> Siguiente formulario donde se piden los datos de contacto y direcciones. (pDatos)
End;

Segundo formulario (pDatos)
Código Delphi [-]
procedure TpDatos.Button2Click(Sender: TObject);
var
  valores : array[1..100 , 1..100] of longint; //----------> Array para obtener un valor aleatorio que concatenado al telef. del cliente me daría la referencia del pedido.
  i,j, valor: longint;                                  //----------> variables locales para dos "For". Usadas para recorrer el array

begin
  if (cmbProvincia.Text = '') then
    button2.Enabled:= false
  else
    button2.Enabled:= true;

  for i:= 0 to 99 do                                 //-----------> Desde aquí...
    for j:= 0 to 99 do
      begin
        valor:= random(valores[i,j]);
        label8.Caption:= 'R'+IntToStr(valor);
      end;
  with rForm.plista.Items.Add do
    begin
      subItems.Add(mask1.Text+'_'+label8.Caption); //------> ...hasta aquí para generar la referencia del pedido. Y desde aquí empieza a enviar datos a la segunda lista (plista) del siguiente formulario (rForm). 
                                                                                  //Con esta lista no tengo problemas, así que no la comento.
      SubItems.Add(edit1.Text);
      SubItems.add(edit2.Text);
      SubItems.add(edit3.Text);
      SubItems.add(cmbProvincia.Text);
      SubItems.add(mask2.Text);
      SubItems.add(mask1.Text);
    end;

    with rForm.lista.Items.Add do //........................> Desde aquí 
    begin
      subItems.Add(mask1.Text+'_'+label8.Caption);
      SubItems.Add(Form1.cmbHebillas.Text);
      SubItems.add(Form1.Label7.Caption+', '+form1.Label8.Caption);

      if Form1.opc1.Checked then
        subItems.Add(form1.opc1.Caption);

      if Form1.opc2.Checked then
        subItems.Add(form1.opc2.Caption);

      if Form1.opc3.Checked then
        subItems.Add(Form1.opc3.Caption);


      if Form1.ch1.Checked then
        subItems.Add('Si')
      else
        subItems.Add('No');

      if Form1.ch2.Checked then
        subItems.Add('Si')
      else
        subItems.Add('No');

      if Form1.ch3.Checked then
        subItems.Add('Si')
      else
        subItems.Add('No');

      if Form1.ch4.Checked then
        subItems.Add('Si')
      else
        subItems.Add('No');

      SubItems.Add(form1.Label17.Caption);
      SubItems.Append(form1.edit1.Text); //....................> El edit1, envia las cantidades de un mismo articulo a la lista.

    end; //.................................................................> hasta aquí, envía datos a la lista 1 (llamada "lista" en formulario)

  with rForm do
    begin
      Label4.Caption:= edit1.Text;
      Label2.Caption:= mask1.Text+'_'+pDatos.label8.Caption;
      Label6.Caption:= edit2.Text;
      Label8.Caption:= edit3.Text;
      label10.Caption:= cmbProvincia.Text;
      label12.Caption:= mask2.Text;
      label14.Caption:= mask1.Text;
    end;
  rForm.showModal;
End.

Por ultimo el rForm que contiene la lista:
Código Delphi [-]
procedure TrForm.FormActivate(Sender: TObject);
var
  i: integer;
  total: extended;
  total2: TStringList; //variable de pruebas

begin
  total2.Create;
  for i:= 0 to lista.Items.Count -1 do
    begin
      total2.Add(lista.Items[i].SubItems[9]);
      total:= total + strToFloat(total2.Text) ; //(StrToFloat(lista.Items.Item[i].SubItems[11]));
      Label35.Caption:= FloatToStr(total);
      label36.Caption:= total2.Text;
    end;
end;

De este último trozo, label35 no muestra la suma de nada, tan solo el precio del ultimo articulo introducido en la lista. Y la linea que hace mencion a "total2",da error de "access violation"
Ya he probado con todos los indices por si meto alguno que no exista, pero no hay forma.

Espero no haberme liado explicando todo.

Hola ecfisa, ahora me pongo con tu demo, a ver si consigo algo, estuve escribiendo este post antes de mirarlo, en cuanto sepa algo te digo.

Gracias a los dos, con lo que vaya surgiendo os comento, y si empiezo a rallar la pesadez decirmelo eh.
Un saludo.
__________________
La juventud pasa, la inmadurez se supera, la ignorancia se cura con la educación, y la embriaguez con la sobriedad, pero la estupidez dura para siempre. Aristofanes.

Última edición por danielmj fecha: 13-11-2014 a las 15:41:34.
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
Error Sumando Columnas SQL martini002 Conexión con bases de datos 44 25-08-2012 20:28:57
sumando dos float no pbtengo valor real lmpadron C++ Builder 2 12-09-2011 21:33:03
Sumando columnas con Qreport ? Coco_jac Varios 5 27-01-2006 14:57:56
error sumando campos weke SQL 2 02-06-2004 14:52:33
Sumando columnas/Filas StartKill Firebird e Interbase 5 27-05-2004 09:42:32


La franja horaria es GMT +2. Ahora son las 14:13:53.


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