![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
![]() buenas amigos expertos.
tengo un problema.. tengo una tabla llamada 'VIGENCIAS' y unos campos con nombres >> 2010, 2011, 2012,.......2017. quisiera recorrer los campos a travez de parametros.. actualmente los recorro con un CASE of quisiera ahorrarme el CASE OF por un FOR vigencia=2010 to 2017 pero la instrucción >> TOTALAVALUOS:=TAvaluos[vigencia] >>> me genera error podría alguien ilustrarme la forma debida? mil gracias |
#2
|
||||
|
||||
![]() No entendí nada. ¿A qué te refieres con "campos con nombres"? ¿Los campos se llaman 2010, 2011, 2012,.......2017 o ésos son los valores de algún campo? Un CASE es una intrucción de bifurcación de código mientras que un FOR es una instrucción de ciclo. ¿De qué manera podría una reemplazar a la otra? ¿Qué tiene que ver la asignación TOTALAVALUOS:=TAvaluos[vigencia] con todo lo demás que pones? Y ¿cuál es el error que genera? Dedica más tiempo a formular la pregunta de una forma inteligible. LineComment Saludos |
#3
|
|||
|
|||
![]() gracias Amigo roman.
te explico mas a detalle para tu gentil colaboracion. Nombre tabla: AVALUOS Campos predio A 25 2010 N 2011 N 2012 N 2013 N 2014 N 2015 N 2016 N 2017 N ************************ Resultado: Llenar un Grid Vigencia Avaluo Impuesto 2010 XXXX1 YYYYY1 2011 XXXX2 YYYYY2 ........ 2017 XXXX8 YYYYY8 ******************************** Actualmente NVigencias:=8; FOR VANO:=1 TO NVigencias DO BEGIN GRIDLIQUIDACION.CELLS[1,I]:=inttostr(2010+I); GRID:= GRIDLIQUIDACION.CELLS[1,I]; CASE GRID OF //************ 2010 2010: begin GRIDLIQUIDACION.CELLS[2,I]:=strtoint(TAvaluos['2010']); GRIDLIQUIDACION.CELLS[3,I]:=CALCULARIMPUESTO(TAvaluos['2010']); end; EN TOTAL SON 8 VIGENCIAS >>> OBSERVANDO PODRIA REDUCIR TODO EL CASE DE LA SIGUIENTE MANERA: FOR VVIGENCIA:=2010 TO 2017 begin GRIDLIQUIDACION.CELLS[2,I]:=strtoint(TAvaluos[VVIGENCIA]); GRIDLIQUIDACION.CELLS[3,I]:=CALCULARIMPUESTO(TAvaluos[VVIGENCIA]); end; PERO ME MARCA ERROR >>> QUISIERA REEMPLAZAR TAvaluos['2010'] POR TAvaluos[VVIGENCIA] COMO RREMPLAZO EN NOMBRE DEL CAMPO POR UN PARAMETRO????.... |
#4
|
||||
|
||||
Por favor, lee nuestra guía de estilo, gracias
![]() Y para otras ocasiones, recuerda poner los tags al código fuente, ejemplo: ![]() Gracias ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
||||
|
||||
Por lo que entiendo el campo se llama '2010'. '2011', etc.
Si TAValuous['2010'] es la forma de llamar al contenido del campo, entonces tienes que pasarle un string como índice. Quedaría algo así:
o un poco mas claro
Última edición por duilioisola fecha: 01-09-2017 a las 14:33:58. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
recorrer componentes | NEG1414 | C++ Builder | 12 | 11-12-2007 05:50:43 |
Parametros Opcionales no Parametros por defecto | Velia | Varios | 7 | 19-08-2006 15:18:42 |
Recorrer Archivo INI | Coco_jac | OOP | 6 | 27-06-2006 20:01:15 |
recorrer string | emiliu | Varios | 2 | 16-11-2005 10:23:25 |
Recorrer un Treeview | mateamargo | OOP | 0 | 11-11-2003 16:53:39 |
![]() |
|