Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-07-2006
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
De Delphi a Excel: Parámetro variant en un procedimiento

Tengo un formulario que crea un documento excel a partir de una consulta y funciona perfectamente, pero he tenido que ampliarlo para añadir una serie de columnas que almacenan valores numéricos que indican formas de pago y en lugar de los números debe mostrar el significado de estos (efectivo, tarjeta...)
La cuestión es que ya tengo un procedimiento que hace algo así para los informes: según el valor de una columna rellena con el texto correspondiente otra.

Como es un cambio que tengo que hacer muy a menudo he tratado de "sobrecargar" ese procedimiento para poder usarlo aquí también, y ahí está mi problema: ¿Qué tipo le debo indicar en la variable? ¿Cómo debo hacer la llamada a la función?

Este es el procedimiento que quiero "sobrecargar".
Código Delphi [-]
procedure rellenaFormaDePago(fp: TStringField; var valor: TStringField);
begin
    case (fp.AsInteger) of
      0:       valor.AsString := 'No definido';
      1:       valor.AsString := 'Efectivo';
//... y el resto es similar.
end;

Actualmente lo hago así, pero me molesta tener que poner el mismo código por cada columna que contiene igual rango de valores.
Código Delphi [-]
var
  ExcelApp,      // Excel application
  WorkBook,      // Excel workbook
  WorkSheet: Variant ; // Excel sheet in workbook
begin
//...
      case (qinfFORMA_PAGO.AsInteger) of
      0: WorkSheet.cells[intRow,21].value := 'No definido';
      1: WorkSheet.cells[intRow,21].value := 'Efectivo';
//... y el resto es similar.


He probado con estas definiciones pero me dice que los tipos son incompatibles:
Código Delphi [-]
procedure rellenaFormaDePago(fp: TStringField; var valor: String);
//...
procedure rellenaFormaDePago(fp: TStringField; var valor: Variant);
//...
Responder Con Cita
  #2  
Antiguo 05-07-2006
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
¿A nadie se le ocurre nada o es que me he explicado mal?

(Conociéndome seguro que es lo segundo)
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
ayuda con procedimiento y delphi herbert MS SQL Server 4 13-09-2005 15:51:44
Variant, de que tipo? Barzaugc Varios 2 26-08-2005 21:14:30
Igualaciones con una variable tipo Variant en Excel VRO Servers 3 04-05-2005 17:54:43
pasar parametro a un procedimiento desde select hibero Firebird e Interbase 2 01-06-2004 19:58:42
Pasar parametro a un procedimiento? danytorres Varios 2 12-12-2003 09:55:09


La franja horaria es GMT +2. Ahora son las 00:44:41.


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