• Domingo 22 de Diciembre de 2024, 23:43

Autor Tema:  Variables  (Leído 1594 veces)

mcnudi

  • Miembro activo
  • **
  • Mensajes: 33
    • Ver Perfil
Variables
« en: Miércoles 8 de Noviembre de 2006, 13:44 »
0
Tengo en c++ builder un formulario con un QREport para elaborar un informe.
Necesito declarar la variable i y no se donde. Espero q me ayudeis.
void __fastcall TForm3::qr1NeedData(TObject *Sender, bool &MoreData)
{
        MoreData=i<Form1->sg->RowCount;
        if (MoreData){
                QRLabel1->Caption=Form1->sg->Cells[1];
                QRLabel2->Caption=Form1->sg->Cells[2];
                QRLabel3->Caption=Form1->sg->Cells[3];
                QRLabel4->Caption=Form1->sg->Cells[4];
                QRLabel5->Caption=Form1->sg->Cells[5];
                QRLabel6->Caption=Form1->sg->Cells[6];
                QRLabel7->Caption=Form1->sg->Cells[7];
      }
      i++;
  }

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Re: Variables
« Respuesta #1 en: Miércoles 8 de Noviembre de 2006, 16:51 »
0
pues en c++ no hay lugar especifico donde declararla, solo que se lo hace antes de usarla.

en tu ejemplo

Citar
void __fastcall TForm3::qr1NeedData(TObject *Sender, bool &MoreData){
byte i;
MoreData=i<Form1->sg->RowCount;
if (MoreData){
QRLabel1->Caption=Form1->sg->Cells[1];
QRLabel2->Caption=Form1->sg->Cells[2];
QRLabel3->Caption=Form1->sg->Cells[3];
QRLabel4->Caption=Form1->sg->Cells[4];
QRLabel5->Caption=Form1->sg->Cells[5];
QRLabel6->Caption=Form1->sg->Cells[6];
QRLabel7->Caption=Form1->sg->Cells[7];
}
i++;
}

Ah, y no te olvides de asignarle un valor a i.
BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"

Vatoicc

  • Miembro activo
  • **
  • Mensajes: 65
    • Ver Perfil
Re: Variables
« Respuesta #2 en: Miércoles 8 de Noviembre de 2006, 22:43 »
0
Pero lo que el necesita es una variable que recuerde el valor cada que se llame a
qr1NeedData.

Lo que tendria que hacer es declarar la variable en la clase Form3 e inicializarla en el evento OnCreate, o poner una variable estatica en qr1NeedData

Código: Text
  1.  
  2. void __fastcall TForm3::qr1NeedData(TObject *Sender, bool &MoreData)
  3. {
  4.    static int i = 0     //aqui iguales al primer valor que quieres que tome i
  5.                            //y este valor solo se pone la primera vez, la siguiente vez
  6.                            //que se llame a esta funcion, &#34;recordara&#34; el valor anterior
  7.    MoreData = i &#60; Form1-&#62;sg-&#62;RowCount;
  8.    if (MoreData)
  9.    {
  10.       QRLabel1-&#62;Caption=Form1-&#62;sg-&#62;Cells[1][i];
  11.       QRLabel2-&#62;Caption=Form1-&#62;sg-&#62;Cells[2][i];
  12.       QRLabel3-&#62;Caption=Form1-&#62;sg-&#62;Cells[3][i];
  13.       QRLabel4-&#62;Caption=Form1-&#62;sg-&#62;Cells[4][i];
  14.       QRLabel5-&#62;Caption=Form1-&#62;sg-&#62;Cells[5][i];
  15.       QRLabel6-&#62;Caption=Form1-&#62;sg-&#62;Cells[6][i];
  16.       QRLabel7-&#62;Caption=Form1-&#62;sg-&#62;Cells[7][i];
  17.    }
  18.    i++;
  19. }
  20.  
  21.  
La paranoia es una vision mas sutil de la vida

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Re: Variables
« Respuesta #3 en: Miércoles 8 de Noviembre de 2006, 23:01 »
0
Citar
Pero lo que el necesita es una variable que recuerde el valor cada que se llame a
qr1NeedData.
Tendras razon , pero

el dijo:
Citar
Necesito declarar la variable i y no se donde
.

BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"