Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-11-2006
mcnudi mcnudi is offline
Miembro
 
Registrado: nov 2006
Posts: 12
Poder: 0
mcnudi Va por buen camino
declarar variables globales

Hola, buenas tarde
Tengo una stringGrid para imprimir en QReport pero no se donde declarar la variable i:

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

Espero que me ayudeis.

Última edición por mcnudi fecha: 08-11-2006 a las 09:27:50.
Responder Con Cita
  #2  
Antiguo 08-11-2006
mcnudi mcnudi is offline
Miembro
 
Registrado: nov 2006
Posts: 12
Poder: 0
mcnudi Va por buen camino
x si no habéis entendido la pregunta lo que quiero declarar es el índice de la StringGrid para recorrerla q es la variable i.
Responder Con Cita
  #3  
Antiguo 08-11-2006
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Pues así, sin más datos y sin pensar mucho, ¿como una propiedad privada de la clase TForm3? Otra cosa no se me ocurre...

Por otro lado, ¿dónde la inicializas? O mejor dicho, ¿dónde pensabas inicializarla?

Y, por último, ¿esta pregunta no debería estar en "Otros entornos y lenguajes>C++ Builder"?
Responder Con Cita
  #4  
Antiguo 08-11-2006
mcnudi mcnudi is offline
Miembro
 
Registrado: nov 2006
Posts: 12
Poder: 0
mcnudi Va por buen camino
variables

una propiedad privada como???
Lo de ponerlo en este foro es por la impresiónen QReport
Responder Con Cita
  #5  
Antiguo 08-11-2006
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por mcnudi
una propiedad privada como???
Creo que deberías responder, primero, a la pregunta que te hice:
Cita:
Empezado por Ñuño Martínez
Por otro lado, ¿dónde la inicializas? O mejor dicho, ¿dónde pensabas inicializarla?
Evidentemente, me refiero a la variable i. Es importante saberlo porque de ello dependerá buena parte de mi respuesta y, también, para ayudarme a explicarte el porqué de las cosas.
Responder Con Cita
  #6  
Antiguo 08-11-2006
mcnudi mcnudi is offline
Miembro
 
Registrado: nov 2006
Posts: 12
Poder: 0
mcnudi Va por buen camino
pensaba inicializarla en el mismo sitio donde la declare inicializándola a 0
Responder Con Cita
  #7  
Antiguo 08-11-2006
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Bien, como la clase TForm3 es compleja, lo vamos a hacer con la clase TClase, que es muuuuuucho más simple (nota: nunca he usado Builder así que utilizaré C++ "genérico"):
Código:
class TClase {
private:
  int i; // Índice global.
public:
  TClase (void); // El constructor "normal".
// Aquí va el resto de métodos...
};

/* TClase::TClase:
 *   Implementación del constructor "normal". */
TClase::TClase (void)
{
// Inicializa el "índice global".
  i = 0;
// Aquí vendrán otras inicializaciones
}
Básicamente, declaro la propiedad al principio de la definición de clase. Luego le digo al constructor de la clase que inicialice su valor por 0.
Responder Con Cita
  #8  
Antiguo 08-11-2006
mcnudi mcnudi is offline
Miembro
 
Registrado: nov 2006
Posts: 12
Poder: 0
mcnudi Va por buen camino
El problema es q con TForm no puedo declarar nada privado y no encuentro ninguna propiedad ni métodoq lo haga.
Responder Con Cita
  #9  
Antiguo 08-11-2006
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Tienes que modificarlo en el código fuente, no dentro del IDE. Posiblemente (que no lo sé, ya he dicho que nunca he usado Builder) tengas que buscar en el archivo de cabecera (por ejemplo "TForm3.h"). Ten encuenta que, si no existe el constructor, deberás crearlo tu y llamar al constructor de la clase base. Si no sabes como hacerlo, deberías repasar tus apuntes sobre C++.
Responder Con Cita
Respuesta



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
Problema de organizacion: ¿dónde declarar objetos globales? Bauhaus1975 Varios 3 04-05-2006 19:13:11
Variables Globales Abel Garcia Firebird e Interbase 8 26-09-2005 15:20:59
Variables globales en PHP JulioGO PHP 3 08-04-2005 14:36:57
Variables Super Globales JANDREGUE Varios 1 18-03-2005 18:03:16


La franja horaria es GMT +2. Ahora son las 16:37:22.


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