PROCEDURE Get_Random
LPARAMETERS tnDivisor,tnItems , tcFileName
* ------------------------------------------------------------------------------
* tnDivisor = Valor del Divisor. Por default = 1
* tnItems = Cantidad de elementos del array. Default = 3
* tcFileName = Nombre del archivo de reporte. Default = "Randomize_Array.txt"
*
* Sample
* lnDivisor = 12
* lnItems = 3
* lcFileName = "MiRespuesta"
* Get_Random(lnDivisor,lnItems,lcFileName)
* ------------------------------------------------------------------------------
IF VARTYPE(tnDivisor)#"N" OR EMPTY(tnDivisor)
tnDivisor = 1
ENDIF
IF VARTYPE(tnItems)#"N" OR EMPTY(tnItems)
tnItems = 3
ENDIF
IF VARTYPE(tcFileName)#"C" OR EMPTY(tcFilename)
tcFileName = "Randomize_Array"
ENDIF
tcFileName = FORCEEXT(tcfileName,"txt")
SET HOURS TO 24
LOCAL i,;
j,;
lcString,;
lcLine
LOCAL la_Dividendo(tnItems,tnItems) ,;
la_Resulta(tnItems,tnItems)
* Valor Semilla
RAND(-1)
* Valoriza el array
* Se puede utilizar Ceiling(), floor() o Int()
FOR i=1 to m.tnItems
FOR j = 1 to m.tnItems
la_Dividendo[i,j] = CEILING(RAND()*100)
NEXT
NEXT
* Divide cada elemento del array por el valor Divisor
FOR i = 1 to m.tnItems
FOR j = 1 to m.tnItems
la_REsulta[i,j] = la_diviDendo[i,j] / m.tnDivisor
NEXT
NEXT
* Compone el reporte de salida
lcString = "<divisor>"+TRANSFORM(tnDivisor)+"</divisor>" + CHR(13) ;
+"<items_array>"+TRANSFORM(tnItems)+"</items_array>"+CHR(13) ;
+"<datetime>"+TRANSFORM(DATETIME())+"</datetime>"+CHR(13);
+CHR(13)
lcString = m.lcString + "<Dividendo>" + CHR(13)
FOR i=1 to m.tnItems
lcLine = ""
FOR j = 1 to m.tnItems
lcLine = lcLine ;
+ PADL(TRANSFORM(la_Dividendo[i,j]),5," ")
NEXT
lcString = m.lcString ;
+ CHR(9) ;
+ m.lcLine + CHR(13)
NEXT
lcString = m.lcString ;
+"</Dividendo>" + CHR(13) + CHR(13) ;
+"<Resulta>" + CHR(13)
FOR i=1 to m.tnItems
lcLine = ""
FOR j = 1 to m.tnItems
lcLine = lcLine ;
+ PADL(LTRIM(STR(la_Resulta[i,j],10,2)),14," ")
NEXT
lcString = m.lcString ;
+ CHR(9) ;
+ m.lcLine + CHR(13)
NEXT
lcString = m.lcString ;
+"</Resulta>" + CHR(13)
STRTOFILE(m.lcString,m.tcFileName)
MODIFY FILE &tcFileName NOEDIT