FoxPro/Visual FoxPro - Generar matriz en VFP

 
Vista:

Generar matriz en VFP

Publicado por ROAR (5 intervenciones) el 03/09/2018 17:34:39
Hola con todos y desde ya gracias por la ayuda.
Bueno estoy tratando de pasar un codigo que me genere una matriz de datos de c# a VFP nose si me podrian apoyar el codigo siguiente es el que esta en C#

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
28
29
30
31
public static string generarMatriz(string[] datos)
{
    string matriz = "";
    if (datos != null)
    {
        if (datos.Length == 1)
        {
            matriz = "{" + datos[0] + "}";
        }
        else
        {
            for (int x = 0; x < datos.Length; x++)
            {
                if (x == datos.Length - 1)
                {
                    matriz = matriz + datos[x];
                }
                else
                {
                    matriz = matriz + datos[x] + ",";
                }
            }
            matriz = "{" + matriz + "}";
        }
    }
    else
    {
        matriz = "{}";
    }
    return matriz;
}

espero que me puedan apoyar a pasarlo a codigo de VFP por es lo que utilizare para enviar datos a una consulta de DB en postgres
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 Abel
Val: 642
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Generar matriz en VFP

Publicado por Abel (286 intervenciones) el 05/09/2018 15:59:59
Podrías indicarme un ejemplo de la cadena de datos que envías a la función generarMatriz, para darme una idea y darte la ayuda que necesitas.
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

Generar matriz en VFP

Publicado por ROAR (5 intervenciones) el 07/09/2018 18:39:21
1
2
3
string[] datos = new string[] { dato1,dato2,dato3,dato4,dato5, };
string matriz = "";
matriz= generarMatriz(datos);

bueno de esta manera llamo para generar la matriz envio en la variable datos todos los cosas que necesito enviar para la vase de datos mediante un objecto parametro

1
object[] parametros = new object[] { "A", matriz };

bueno este codigo tambien se encuentra en c# y tambien tendria que pasarlo a vfp
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
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Generar matriz en VFP

Publicado por Fidel José (657 intervenciones) el 07/09/2018 23:24:39
Como no sé de dónde surgen los valores dato1, dato2, etc

Para Visual Fox 9
* Nota: Visual Fox soporta hasta 26 parámetros.
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
LOCAL lcString,lnLines,i
lcString = Create_Array_String("jueves",21,DATE(),.t.,1230.46,"pase")
DIMENSION laArray(1)
lnLines = Create_array_from_string(m.lcstring,@laArray)
FOR i = 1 TO m.lnLines
	? laArray[i]
ENDFOR
 
 
PROCEDURE Create_Array_String
*----------------------------
* Crear un string CSV a partir de una serie de parámetros
* Los parámetros intermedios omitidos se interpretan como el valor Falso (.F.)
* ----------------------------
LPARAMETERS txParam1,txParam2,txParam3,txParam4,txParam5,;
			txParam6,txParam7,txParam8,txParam9,txParam10,;
			txParam11,txParam12,txParam13,txParam14,txParam15,;
			txParam16,txParam17,txParam18,txParam19,txParam20,;
			txParam21,txParam22,txParam23,txParam24,txParam25,;
			txParam26
 
#DEFINE _TRUE_ 		".T."
#DEFINE _FALSE_		".F."	
 
LOCAL lnCount,lcString,i,lxParam_Value,lcType
lnCount = PCOUNT()
lcString = ""
 
FOR i = 1 TO m.lnCount
 
	lxParam_Value = EVALUATE("txParam"+TRANSFORM(i))
	lcType = VARTYPE(m.lxParam_Value)
	lcString = m.lcString ;
		+ IIF(EMPTY(m.lcString),"",CHR(44));
		+ ICASE(m.lcType $ 'NDT',TRANSFORM(m.lxParam_Value),;
			m.lcType = "L",IIF(m.lxParam_Value,_TRUE_,_FALSE_),;
			TRIM(m.lxParam_value))
ENDFOR
#UNDEF _TRUE_
#UNDEF _FALSE_
RETURN m.lcString
ENDPROC
 
PROCEDURE Create_Array_From_String
***********************************
* Rellenar un array que se pasa por referencia, a partir de un string pasado como parámetro.
* tcArray_String:	String obtenido con Create_Array_String o similar
 
* llamada		Dimension laArray(1)
*				Create_Array_From_String(lcArray_String,@laArray)
* ------------------------------------------------------------------
LPARAMETERS tcArray_String , taArray_byreference
LOCAL lnLines,i
IF TYPE("taArray_byReference",1) # "A"
	DIMENSION taArray_byReference(1)
ENDIF
 
lnLines = ALINES(taArray_byReference,m.tcArray_string,1,CHR(44))
 
RETURN m.lnLines
ENDPROC
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

Generar matriz en VFP

Publicado por ROAR (5 intervenciones) el 07/09/2018 23:45:38
disculpa los dato1, dato2, etc son capturados de txt de un formulario
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
Imágen de perfil de Abel
Val: 642
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Generar matriz en VFP

Publicado por Abel (286 intervenciones) el 08/09/2018 14:56:12
Esta es la respuesta..

1
2
3
4
5
6
7
8
9
Function generarMatriz(datos)
Dimension matriz(1)
If Empty(datos)
	For x=1 To Getwordcount(datos,',')
		Dimension matriz(x)
		matriz(x) = Getwordnum(datos,x,',')
	Next
Endif
Return matriz
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