Clipper/FiveWin - problema con variables

   
Vista:
Imágen de perfil de Alejandro

problema con variables

Publicado por Alejandro (30 intervenciones) el 16/04/2015 20:12:21
Quiero sumar unas cantidades asi
1
2
3
inicial_&anio += total
actual_&anio += saldo
importe_&anio+= vimp
y me da el error de que la variable no existe.
La variable anio corresponde al año extraido de una base de datos de modo que quedaria algo asi

inicial_2012
inicial_2013
inicial_2014

intente un bucle con un rango de años para inicializar la variable
1
2
3
4
For i = 1990 to 2015
     I=LTrim(Str(i))
     inicial_&I = 0
Next

pero obtengo el Error Base/1086 Argument error: ++

¿que mas puedo hacer?
compilo con harbour
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

problema con variables

Publicado por Alejandro (30 intervenciones) el 16/04/2015 21:22:10
Ya lo resolvi con un array
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
anios := {}
...
...
	anio = Year(fecha)
	anio = allTrim(Str(anio))
	If aScan(anios,anio) == 0
		aAdd(anios, anio)
		inicial_&anio = 0
		actual_&anio = 0
		importe_&anio = 0
	EndIf
 
	inicial_&anio  += total
	actual_&anio  += saldo
...
...

Solo tengo problemas con la ñ en mi archivo de texto que genera
1
@  1,  1 Say "A"+chr(164)+"o     Inicial        Actual           Importe     "
me pone un solesito :P jejeje
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema con variables

Publicado por Javier Cantero (7 intervenciones) el 17/04/2015 09:45:23
Yo lo habría hecho así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Define ANO 1
Define INI 2
Define ACT 3
Define IMP 4
 
Local aTabAnios := { {}, {}, {}, {} }
Local nAnio
Local nPosAnio
 
For nAnio = 1990 to 2015
 
   If ( nPosAnio := Ascan( aTAbAnios[ANO], nAnio ) ) = 0
 
       AAdd( aTabAnios[ANO], nAnio ] )
       AAdd( aTabAnios[INI, 0] )
      AAdd( aTabAnios[ACT,0] )
      AAdd( aTabAnios[IMP,0 ] )
 
      nPosAnio := Len( aTabAnios[ANO] )
 
   Endif
 
   aTabAnios[INI,nPosAnios] += total
   aTabAnios[ACT,nPosAnios] += saldo
   aTabAnios[IMP,nPosAnios] += total+saldo
 
Next

Por si te sirve de algo.....

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar