Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-11-2008
Elite237 Elite237 is offline
Miembro
 
Registrado: jul 2007
Posts: 162
Poder: 19
Elite237 Va por buen camino
Gracias por el codigo,copie y pegue todo tu codigo pero me manda el siguiente error:
Código Delphi [-]
Not enough actual parameters
']' expected but identifier 'AsString' found

El error me lo manda en la linea donde buscamos las preguntas
Código Delphi [-]
'order by det_clave', [Evalua, Query1.FieldByName['det_clave'].AsString]);
Saludos
Responder Con Cita
  #2  
Antiguo 05-11-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Hola...

Hay un pequeño error y es que me faltó un +, la sentencia debe quedar así:

Código Delphi [-]
                 Query3.SQL.Text := Format('select det_valor from det_evaluacion ' +
        'where det_eval = ''%s'' and det_clave like ''%s.%%'' and ' + // <--- este + fataba 
        'det_tipo = 2 order by det_valor asc', [Evalua, 
        Query1.FieldByName('det_clave').AsString]); // <--- Aquí va ) en lugar de ] 

Y la línea que me indicas es:

Código Delphi [-]
'order by det_clave', [Evalua, Query1.FieldByName('det_clave').AsString]); // <--- son parentesis no [ ]

Saludos...

Última edición por maeyanes fecha: 05-11-2008 a las 23:02:13.
Responder Con Cita
  #3  
Antiguo 05-11-2008
Elite237 Elite237 is offline
Miembro
 
Registrado: jul 2007
Posts: 162
Poder: 19
Elite237 Va por buen camino
Ya lo modifique, pero me manda el siguiente error:
Código Delphi [-]
Project Project1.exe raised exception class EInOutError with message 'I/O error 6'

De todas maneras te muestro como quedo el codigo en el boton:
Código Delphi [-]
procedure TForm1.BitBtnGenerarClick(Sender: TObject);
var
  X: Integer;
  Valor: Integer;
  Evalua: string;
begin
   //Obtiene la clave del combo evaluacion
  Evalua := copy(cmbEvaluacion.Text, 0, Pos('-', cmbEvaluacion.Text) - 1);
  //OBTIENE LA VERSION
  Query1.Close;
  Query1.SQL.Text := Format('select det_version from det_evaluacion ' +
    'where det_eval = ''%s''', [Evalua]);
  Query1.Open;
  lblVersion.Caption := Query1.FieldByName('det_version').AsString;
  //OBTIENE LA SECCION
  Query1.Close;
  Query1.SQL.Text := Format('select * from det_evaluacion ' +
    'where det_eval = ''%s'' and det_tipo = 0 and ' +
    'det_valor = 0 order by det_clave', [Evalua]);
  Query1.Open;
  // sgEvaluacion debe tener solo la línea de encabezados, esto es: RowCount = 1
  X := 1;
  while not Query1.Eof do
  begin
    sgEvaluacion.RowCount := X + 1; // Agregamos línea para sección
    // Agregamos la clave y la descripción de la sección
    sgEvaluacion.Cells[0, X] := Query1.FieldByName('det_pregunta').AsString;
    sgEvaluacion.Cells[1, X] := Query1.FieldByName('det_pregunta').AsString;
    // Buscamos las preguntas
    Query2.Close;
    Query2.SQL.Text := Format('select * from det_evaluacion ' + 
      'where det_eval = ''%s'' and det_tipo = 1 and ' +
      'det_clave like ''%s.%%'' and det_valor = 0 ' +
      'order by det_clave', [Evalua, Query1.FieldByName('det_clave').AsString]);
    Query2.Open;
    while not Eof do
    begin
      Inc(X);
      sgEvaluacion.RowCount := X + 1; // Agregamos otra línea para pregunta
      sgEvaluacion.Cells[0, X] := Query2.FieldByName('det_clave').AsString;
       sgEvaluacion.Cells[1, X] := Query2.FieldByName('det_pregunta').AsString;
      // Buscamos las respuestas de la pregunta actual
      Query3.Close;
      Query3.SQL.Text := Format('select det_valor from det_evaluacion ' +
        'where det_eval = ''%s'' and det_clave like ''%s.%%'' and ' +
        'det_tipo = 2 order by det_valor asc', [Evalua,
        Query1.FieldByName('det_clave').AsString]);
      Query3.Open;
      while not Query3.Eof do
      begin
        Valor := Query3.FieldByName('det_valor').AsInteger;
        sgEvaluacion.Cells[Valor + 1, X] := IntToStr(Valor);
        Query3.Next;
      end;
      sgEvaluacion.Cells[7, X] := 'Resultado';
      Query2.Next
    end;
    Inc(X); // Incrementamos X para obtener la siguiente sección
    Query1.next
  end
end;
Responder Con Cita
  #4  
Antiguo 06-11-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Hola

En la línea donde dice while not Eof do debería decir while not Query2.Eof do...

Ahora, si te recomiendo mucho que te dediques a analizar bien el código, no solo se trata de copiar y pegar...



Saludos...
Responder Con Cita
  #5  
Antiguo 06-11-2008
Elite237 Elite237 is offline
Miembro
 
Registrado: jul 2007
Posts: 162
Poder: 19
Elite237 Va por buen camino
Estoy checando el codigo,ya que tu lo haces diferente que yo.Gracias por la ayuda.Saludos
Responder Con Cita
  #6  
Antiguo 06-11-2008
Elite237 Elite237 is offline
Miembro
 
Registrado: jul 2007
Posts: 162
Poder: 19
Elite237 Va por buen camino
Una duda Maeyanes:En este codigo lo que hace es por ejemplo, si en la consulta obtiene un valor de 1 por ejemplo, lo que hace es que la variable valor se suma quedando en valor 1+1=2...entonces queda 2,x y se asigna a la columna 2 del stringgrid..es asi?

Código Delphi [-]
begin
        Valor := Query3.FieldByName('det_valor').AsInteger;
        sgEvaluacion.Cells[Valor + 1, X] := IntToStr(Valor);
        Query3.Next;
end;
Saludos
Responder Con Cita
  #7  
Antiguo 06-11-2008
Avatar de Rodrigo_I
Rodrigo_I Rodrigo_I is offline
Miembro
 
Registrado: oct 2007
Ubicación: Santiago,Chile
Posts: 15
Poder: 0
Rodrigo_I Va por buen camino
mmmmmm

segun veo la variable valor almacena el contenido del Query3 campo det_valor.

luego en la grilla, en la columna Valor, fila X almacena el contenido de la variable Valor.
eso lo repite para cada columna incrementada.
Responder Con Cita
  #8  
Antiguo 06-11-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Cita:
Empezado por Elite237 Ver Mensaje
Una duda Maeyanes:En este codigo lo que hace es por ejemplo, si en la consulta obtiene un valor de 1 por ejemplo, lo que hace es que la variable valor se suma quedando en valor 1+1=2...entonces queda 2,x y se asigna a la columna 2 del stringgrid..es asi?

Código Delphi [-]
begin
        Valor := Query3.FieldByName('det_valor').AsInteger;
        sgEvaluacion.Cells[Valor + 1, X] := IntToStr(Valor);
        Query3.Next;
end;
Saludos
Así es...


Saludos...
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Insertar Boton en StringGrid, seb@ OOP 19 10-04-2016 05:09:21
Insertar ub boton o panel en cada celda de un Stringgrid ingel Varios 1 20-07-2007 23:35:18
Error al insertar registros en Access Moises22 Conexión con bases de datos 2 09-01-2006 14:36:25
Error al insertar o borrar registros en firebird pepitu Firebird e Interbase 3 26-09-2005 14:56:57
problema al insertar dato tipo date a un stringGrid emil SQL 2 11-07-2003 18:41:34


La franja horaria es GMT +2. Ahora son las 20:08:39.


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