Ver la Versión Completa : [PowerCOBOL] Código para recibir archivo json y leerlo
fastpho
16 de abril de 2021, 23:16
Este es un ejemplo desarrollado en powercobol 5 para descargar un archivo en formato json desde una url usando el control Script y leerlo-procesarlo con el control ocx de chilkat que es free toda la documentación de este control esta en el siguiente link
https://www.chilkatsoft.com/refdoc/xChilkatJsonObjectRef.html
Adjunto el programa
Saludos
Fito
17 de abril de 2021, 22:58
holaaaa:
Muy bueno. De dónde se descarga ese actvivex ?
Saludos
Fito...
fastpho
17 de abril de 2021, 23:19
Dejo el link de descarga del activex es una dll hay que registrarla
https://chilkatdownload.com/9.5.0.86/chilkatax-9.5.0-win32.zip
Saludos
Fito
20 de abril de 2021, 00:08
Hola:
Resulta que quise abrir tu proyecto esperando que me diera error que no tenía en activex, y vaya sorpresa el error no me lo dió. Me fijo y ya tenía instalado ese activex. Tengo instalado el Atube Catcher para bajar videos de Youtube y se ve que usa los productos de Chilkat... :rofl:
Ya me voy a poner a revisarlo, porque tengo que hacer un programa para consumir una api web y creo que esto me va a servir. Muchas Gracias
Saludos...
Fito...
fastpho
20 de abril de 2021, 14:44
Hola @Fito, me alegro que sirva , esta dll trae un monton de librerias no todas son free y algunas otras free interesentes (xml), paso el link de todas las librerias
https://www.chilkatsoft.com/refdoc/activex.asp
Saludos
AHidalgo
21 de julio de 2021, 16:31
@fastpho, buen dia!, por casualidad, te pasó que algún campo no lo levante?, o sea, yo veo varios campos que tengo en el Json pero algunos de ellos me devuelven vacío cuando en realidad hay datos. Ya he visto que en cadenas muy complejas solo levanta la primer cadena de datos, pero estando en la misma cadena (nivel) algunos campos no los devuelve.
SI te pasó, como lo solucionaste?.
Saludos
Ana
fastpho
21 de julio de 2021, 22:40
@fastpho, buen dia!, por casualidad, te pasó que algún campo no lo levante?, o sea, yo veo varios campos que tengo en el Json pero algunos de ellos me devuelven vacío cuando en realidad hay datos. Ya he visto que en cadenas muy complejas solo levanta la primer cadena de datos, pero estando en la misma cadena (nivel) algunos campos no los devuelve.
SI te pasó, como lo solucionaste?.
Saludos
Ana
Hola Ana no he tenido problema con Chilkat pq los json que tuve que trabajar eran muy sencillos ...
la cantidad de objetos te los esta mostrando bien ?
Saludos
AHidalgo
22 de julio de 2021, 00:29
@fastpho, si, si, la cantidad de objetos me lo muestra bien, la cuestión es cuando quiero recuperar los campos, algunos me los trae y otros no.
Bueno, gracias!!!, seguiré probando a ver como lo puedo solucionar.
Saludos
Ana
fastpho
22 de julio de 2021, 00:41
@AHidalgo, cual es campo que te da vacio ?
te dejo un link que uso es muy util para parsear json
Best JSON Parser Online (https://jsonformatter.org/json-parser)
Saludos
AHidalgo
22 de julio de 2021, 06:19
@fastpho, gracias!!, esta muy bueno!!. Los campos que no puedo levantar los veo con contenido.
Sigo probando y buscando soluciones para que me levante todo, quizas es un JSON muy complejo, tiene varios niveles anidados.
Saludos
Ana
AHidalgo
26 de julio de 2021, 23:23
@fastpho, Hola, buenas tardes!, me podrás ayudar haciendo una prueba para ver si tenes el mismo error? (así descarto error humano). De los 4 campos que quiero recuperar solo me trae 2.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 FILA PIC 9(8).
01 WFEC-AMD PIC X(10).
01 TIMPTOT PIC X(9).
01 WS.
02 WS-NRO PIC X(7).
02 WS-NRO-ORD REDEFINES WS-NRO PIC 9(7).
02 WS-ID PIC X(3).
02 WS-IDMPAGO REDEFINES WS-ID PIC 9(3).
01 WGET-VTA-FEC PIC X(20) IS GLOBAL VALUE "C:\APi\APIRFech1.TXT".
PROCEDURE DIVISION.
INICIO.
INVOKE ChilkatJsonObject1 "LoadFile" USING WGET-VTA-FEC RETURNING ReturnValue.
IF ReturnValue NOT = 1 THEN
INVOKE pow-self "DisplayMessage" USING "error"
EXIT PROGRAM
END-IF.
*
INVOKE ChilkatJsonObject1 "SizeOfArray" USING "Objeto" RETURNING IndiceArray.
MOVE ZEROS TO FILA FI-LA.
PERFORM VARYING FILA FROM FILA BY 1 UNTIL FILA = IndiceArray OR FILA > 10
*
MOVE SPACES TO ObJsolicitar
STRING "Objeto[" delimited by size
FILA delimited by size
"]" delimited by size
"." delimited by size
"concretado" delimited by size
into ObJsolicitar
END-STRING
INVOKE ChilkatJsonObject1 "StringOf" USING ObJsolicitar RETURNING WFEC-AMD
*
MOVE SPACES TO ObJsolicitar
STRING "Objeto[" delimited by size
FILA delimited by size
"]" delimited by size
"." delimited by size
"idModoDePago" delimited by size
into ObJsolicitar
END-STRING
INVOKE ChilkatJsonObject1 "StringOf" USING ObJsolicitar RETURNING WS-ID
*
INITIALIZE TIMPTOT WS-NRO WS-ID WFEC-AMD
MOVE SPACES TO ObJsolicitar
STRING "Objeto[" delimited by size
FILA delimited by size
"]" delimited by size
"." delimited by size
"idVenta" delimited by size
into ObJsolicitar
END-STRING
INVOKE ChilkatJsonObject1 "StringOf" USING ObJsolicitar RETURNING WS-NRO
MOVE SPACES TO ObJsolicitar
STRING "Objeto[" delimited by size
FILA delimited by size
"]" delimited by size
"." delimited by size
"total" delimited by size
into ObJsolicitar
END-STRING
INVOKE ChilkatJsonObject1 "StringOf" USING ObJsolicitar RETURNING TIMPTOT
*
DISPLAY WFEC-AMD " , " WS-ID " , " TIMPTOT " , " WS-NRO " , fila " fila
END-PERFORM.
EXIT PROGRAM.
Si podes probar te lo voy a agradecer.
Cualquier ayuda es bienvenida!!
Saludos
Ana
fastpho
27 de julio de 2021, 16:42
Hola @AHidalgo, corri tu ejemplo y el unico valor que no me da es el total , para que te lo lea te
paso un ejemplo leyendo los dos primeros registros
INVOKE ChilkatJsonObject1 "StringOf" USING "Objeto[0].total.moneda" RETURNING string-total
display "total moneda :" , string-total
INVOKE ChilkatJsonObject1 "StringOf" USING "Objeto[0].total.valor" RETURNING string-total
display "total valor :" , string-total
INVOKE ChilkatJsonObject1 "StringOf" USING "Objeto[0].total.idComercio" RETURNING string-total
display "total idComercio :" , string-total
INVOKE ChilkatJsonObject1 "StringOf" USING "Objeto[1].total.moneda" RETURNING string-total
display "total moneda :" , string-total
INVOKE ChilkatJsonObject1 "StringOf" USING "Objeto[1].total.valor" RETURNING string-total
display "total valor :" , string-total
INVOKE ChilkatJsonObject1 "StringOf" USING "Objeto[1].total.idComercio" RETURNING string-total
display "total idComercio :" , string-total
de tu ejemplo la linea
INITIALIZE TIMPTOT WS-NRO WS-ID WFEC-AMD
esta mal ubicada
Saludos
AHidalgo
28 de julio de 2021, 01:11
@fastpho, Gracias!!, también he comprobado ejecutar con un control un VBScript con el parseo y funciona bien, pero intentaba hacerlo en cobol puro.
Saludos
Ana
Mane9mb
14 de junio de 2022, 12:29
Buenas en mi caso necesito crear un JsonArray y dentro los JsonObject i no encuentro ningun ejemplo... alguien sabe la manera de poder declarar un JsonArray en netcobol
JCantero
14 de junio de 2022, 16:38
Por ejemplo, para rellenar una tabla (concretamente de postgresql) que tiene una clave y tres campos con array alfabetico de 13, 3 y 3 elementos tal como así:
CREATE TABLE entidadejercicio.configuracion4 (
clave numeric(1,0) NOT NULL,
arqueo character varying(55) [13] NOT NULL,
pie character varying(55) [3] NOT NULL,
firma character varying(55) [3] NOT NULL
);
Lo relleno con este codigo, para despues realizar un INSERT en la base de datos:
INITIALIZE msql
STRING "INSERT INTO " delimited by size
esquema delimited by " "
"configuracion4 VALUES(0, '{" DELIMITED BY SIZE
'"' delimited by size
mun00-arqueo(1)
'", "' delimited by size
mun00-arqueo(2)
'", "' delimited by size
mun00-arqueo(3)
'", "' delimited by size
mun00-arqueo(4)
'", "' delimited by size
mun00-arqueo(5)
'", "' delimited by size
mun00-arqueo(6)
'", "' delimited by size
mun00-arqueo(7)
'", "' delimited by size
mun00-arqueo(8)
'", "' delimited by size
mun00-arqueo(9)
'", "' delimited by size
mun00-arqueo(10)
'", "' delimited by size
mun00-arqueo(11)
'", "' delimited by size
mun00-arqueo(12)
'", "' delimited by size
mun00-arqueo(13)
'"}' delimited by size
"'," delimited by size
"'{" DELIMITED BY SIZE
'"' delimited by size
mun00-pie(1)
'", "' delimited by size
mun00-pie(2)
'", "' delimited by size
mun00-pie(3)
'"}' delimited by size
"'," delimited by size
"'{" DELIMITED BY SIZE
'"' delimited by size
mun00-firmas(1)
'", "' delimited by size
mun00-firmas(2)
'", "' delimited by size
mun00-firmas(3)
'"}' delimited by size
"');" delimited by size
INTO msql
perform insertar
Básicamente el JSON generado es algo como así:
{
"clave": 0,
"arqueo": [
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" "
],
"pie": [
" ",
" ",
" "
],
"firma": [
" EL PRESIDENTE ",
" EL INTERVENTOR ",
" EL TESORERO "
]
}
fastpho
14 de junio de 2022, 17:26
Hola @Mane9mb, te paso un ejemplo en visual basic , no es muy dificil pasarlo a cobol
usando el control ocx de chilkat
Dim jArray As New ChilkatJsonArray
success = jArray.AddObjectAt(0)
Dim json As ChilkatJsonObject
Set json = jArray.ObjectAt(0)
success = json.UpdateString("groupId","")
success = json.UpdateString("sku","")
success = json.UpdateString("title","")
success = json.UpdateString("barcode","")
success = json.UpdateString("category","")
success = json.UpdateString("description","")
success = json.UpdateString("images[0]","url1")
success = json.UpdateString("images[1]","url...")
success = json.UpdateString("isbn","")
success = json.UpdateString("link","")
success = json.UpdateString("linkLomadee","")
success = json.UpdateString("prices[0].type","")
success = json.UpdateNumber("prices[0].price","0")
success = json.UpdateNumber("prices[0].priceLomadee","0")
success = json.UpdateNumber("prices[0].priceCpa","0")
success = json.UpdateNumber("prices[0].installment","0")
success = json.UpdateNumber("prices[0].installmentValue","0")
success = json.UpdateString("productAttributes.""Atributo 1""","Valor 1")
success = json.UpdateString("productAttributes.""Atributo ...""","Valor ...")
success = json.UpdateString("technicalSpecification.""Especificação 1""","Valor")
success = json.UpdateString("technicalSpecification.""Especificação ...""","Valor ...")
success = json.UpdateNumber("quantity","0")
success = json.UpdateNumber("sizeHeight","0")
success = json.UpdateNumber("sizeLength","0")
success = json.UpdateNumber("sizeWidth","0")
success = json.UpdateNumber("weightValue","0")
success = json.UpdateNumber("declaredPrice","0")
success = json.UpdateNumber("handlingTimeDays","0")
success = json.UpdateBool("marketplace",0)
success = json.UpdateString("marketplaceName","")
jArray.EmitCompact = 0
Debug.Print jArray.Emit()
' The output of this program is:
' [
' {
' "groupId": "",
' "sku": "",
' "title": "",
' "barcode": "",
' "category": "",
' "description": "",
' "images": [
' "url1",
' "url..."
' ],
' "isbn": "",
' "link": "",
' "linkLomadee": "",
' "prices": [
' {
' "type": "",
' "price": 0,
' "priceLomadee": 0,
' "priceCpa": 0,
' "installment": 0,
' "installmentValue": 0
' }
' ],
' "productAttributes": {
' "Atributo 1": "Valor 1",
' "Atributo ...": "Valor ..."
' },
' "technicalSpecification": {
' "Especificação 1": "Valor",
' "Especificação ...": "Valor ..."
' },
' "quantity": 0,
' "sizeHeight": 0,
' "sizeLength": 0,
' "sizeWidth": 0,
' "weightValue": 0,
' "declaredPrice": 0,
' "handlingTimeDays": 0,
' "marketplace": false,
' "marketplaceName": ""
' }
' ]
Saludos ....
Mane9mb
14 de junio de 2022, 17:30
Hola JCantero
Entiendo, pero en este caso solo tengo que tractar JSON han comentado en este post sobre el ocx de Chillkat JsonObject que facilita a la hora de tractar objetos JsON pero que empiece como un Json Array no lo encontrado por eso si teneis un ejemplo os lo agradezco, lo que me muestras es para hacer un insert a la base de datos? no trabajo con base de datos en cobol todo se guarda en archivos...
perdonadme es mi primer año que toco cobol ja que jo estoy encargado de la parte de lAPI @JCantero,
MOVE 0 TO "EmitCompact" OF ChilkatJsonArray1.
MOVE 0 TO "EmitCompact" OF ChilkatJsonObject2.
INVOKE ChilkatJsonArray1 "AddArrayAt" USING "customerStatus" "Prospect" RETURNING Success0.
INVOKE ChilkatJsonObject2 "AppendString" USING "customerType" "Individual" RETURNING Success1.
JCantero
14 de junio de 2022, 18:08
Fuera del destino del uso del JSON, o de su generación, yo he puesto un ejemplo de uso para su mejor comprension.
Quieres un ejemplo ?
Tienes un ejemplo de JSON con array en mi post. Al final....
Y @fastpho, tambien te ha puesto otro ejemplo de JSON con array al final de su post, lo que está en verde.
Mane9mb
15 de junio de 2022, 09:28
@JCantero, Gracias por los ejemplos de verdad, pero lo que necesito es más como tractar esos objetos que define @fastpho, con el ocx que explica.
No he querido ni mucho menos menospreciar tu ayuda perdon si mhe explicado mal
Os lo agradezco mucho! :)
---------- Post añadido el 16 de junio de 2022 a las 14:17 ----------
Gracias, por su ayuda en tu ejemplo he podido pasarlo a cobol i que funcione,
INVOKE ChilkatJsonArray1 "AddObjectCopyAt" USING jsonArray ChilkatJsonObject2 con esta linea si ya tienes el json creado lo insertas dentro del array
Un saludo! :)
Fito
11 de octubre de 2022, 05:21
Hola amigos:
Tengo el siguiente ejemplo de un json que quiero decodificar.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 wcobranza.
02 pic x(50) value '{'.
02 pic x(50) value ' "ALUMNO": "Chiavazza Adolfo Carlos",'.
02 pic x(50) value ' "DNI": "22222222",'.
02 pic x(50) value ' "FECHA": "10-03-2022",'.
02 pic x(50) value ' "COBRANZA": ['.
02 pic x(50) value ' {'.
02 pic x(50) value ' "TIPO": 1,'.
02 pic x(50) value ' "PERIODO": "03-2022",'.
02 pic x(50) value ' "IMPORTE": 5000'.
02 pic x(50) value ' },'.
02 pic x(50) value ' {'.
02 pic x(50) value ' "TIPO": 2,'.
02 pic x(50) value ' "PERIODO": "03-2022",'.
02 pic x(50) value ' "IMPORTE": 1000.02'.
02 pic x(50) value ' }'.
02 pic x(50) value ' ]'.
02 pic x(50) value '}'.
01 jfecha pic x(10).
01 redefines jfecha.
02 jfecha-dd pic 99.
02 pic x.
02 jfecha-mm pic 99.
02 pic x.
02 jfecha-aa pic 9999.
01 wfecha pic 9(8).
01 redefines wfecha.
02 wfecha-aa pic 9999.
02 wfecha-mm pic 99.
02 wfecha-dd pic 99.
01 indA pic s9(9) comp-5 value zeros.
01 w--ii pic 9(8).
01 dato pic x(200).
01 wdatos.
02 wtipo pic 999.
02 wperiodo pic x(7).
02 wimporte pic 9(9)v99.
02 l-importe pic z(9),zz.
PROCEDURE DIVISION.
comienzo.
invoke json "Clear".
invoke json "Load" using wcobranza.
invoke json "StringOf" using "FECHA" returning jfecha.
display jfecha.
invoke json "SizeOfArray" using "COBRANZA" returning indA.
perform varying w--ii from zeros by 1 until w--ii = indA
move spaces to dato
string "COBRANZA[" delimited by size
w--ii delimited by size
"]" delimited by size
"." delimited by size
"TIPO" delimited by size
into dato
end-string
invoke Json "StringOf" using dato returning wtipo
move spaces to dato
string "COBRANZA[" delimited by size
w--ii delimited by size
"]" delimited by size
"." delimited by size
"PERIODO" delimited by size
into dato
end-string
invoke Json "StringOf" using dato returning wperiodo
move spaces to dato
string "COBRANZA[" delimited by size
w--ii delimited by size
"]" delimited by size
"." delimited by size
"IMPORTE" delimited by size
into dato
end-string
invoke Json "StringOf" using dato returning wimporte
move wimporte to l-importe
display wtipo, " ", wperiodo, " ", l-importe
end-perform.
exit program.
El problema que tengo es que no me "detecta" el punto decimal. El campo l-importe me muestra en el primer elemento del array 5000 (está bien porque no tiene punto) pero en el segundo elemento me muestra 100002,00 como que todo es entero.
El campo wimporte que uso para tomar el dato, además de poner el pic como está en ese ejemplo, probé
02 wimporte pic S9(9) COMP-5.
02 wimporte COMP-2.
02 wimporte pic S9(10)V9(4) COMP-5.
Con ninguna de esas opciones logré que funcionara.
Alguna idea al respecto?.
Muchas gracias.
Saludos...
Fito...
fastpho
11 de octubre de 2022, 17:28
Hola @Fito, probe tu ejemplo solamente cambiando la coma por punto y funciona perfecto , modifique el valor de 1000.02 por 21000.02 y tambien lo toma
01 wdatos.
02 wtipo pic 999.
02 wperiodo pic x(7).
02 wimporte pic 9(9)v99.
02 l-importe pic z(9).zz. *> Cambia la coma por punto y funciona perfecto
Me parece que el problema es la configuracion regional.....
te mando un pantalllazo
Saludos ...
Fito
11 de octubre de 2022, 20:53
Hola @fastpho
Si Sr., el problema es la configuración regional. La tengo con coma decimal y el ocx me pide con puntos. Ahora que recuerdo, en algún otro post se habló de ese tema.
Le agregué para que cambia a punto al comienzo y después que trabajo el json lo vuelvo a coma y anduvo a la perfección.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
*... variables para verificar la configuración regional...
01 caracter pic x(255).
01 buffer pic s9(9) comp-5.
01 retcode pic s9(9) comp-5.
01 estilo pic s9(9) comp-5.
77 wsep-dec pic x.
77 wsep-mil pic x.
01 wcobranza.
02 pic x(50) value '{'.
02 pic x(50) value ' "ALUMNO": "Chiavazza Adolfo Carlos",'.
02 pic x(50) value ' "DNI": "22222222",'.
02 pic x(50) value ' "FECHA": "10-03-2022",'.
02 pic x(50) value ' "COBRANZA": ['.
02 pic x(50) value ' {'.
02 pic x(50) value ' "TIPO": 1,'.
02 pic x(50) value ' "PERIODO": "03-2022",'.
02 pic x(50) value ' "IMPORTE": 5000'.
02 pic x(50) value ' },'.
02 pic x(50) value ' {'.
02 pic x(50) value ' "TIPO": 2,'.
02 pic x(50) value ' "PERIODO": "03-2022",'.
02 pic x(50) value ' "IMPORTE": 1000.02'.
02 pic x(50) value ' }'.
02 pic x(50) value ' ]'.
02 pic x(50) value '}'.
01 jfecha pic x(10).
01 redefines jfecha.
02 jfecha-dd pic 99.
02 pic x.
02 jfecha-mm pic 99.
02 pic x.
02 jfecha-aa pic 9999.
01 wfecha pic 9(8).
01 redefines wfecha.
02 wfecha-aa pic 9999.
02 wfecha-mm pic 99.
02 wfecha-dd pic 99.
01 indA pic s9(9) comp-5 value zeros.
01 w--ii pic 9(8).
01 dato pic x(200).
01 wdatos.
02 wtipo pic 999.
02 wperiodo pic x(7).
02 wimporte pic 9(12)v99.
02 l-importe pic z(12),zz.
PROCEDURE DIVISION.
comienzo.
perform pone-punto.
invoke json "Clear".
invoke json "Load" using wcobranza.
invoke json "StringOf" using "FECHA" returning jfecha.
display jfecha.
invoke json "SizeOfArray" using "COBRANZA" returning indA.
perform varying w--ii from zeros by 1 until w--ii = indA
move spaces to dato
string "COBRANZA[" delimited by size
w--ii delimited by size
"]" delimited by size
"." delimited by size
"TIPO" delimited by size
into dato
end-string
invoke Json "StringOf" using dato returning wtipo
move spaces to dato
string "COBRANZA[" delimited by size
w--ii delimited by size
"]" delimited by size
"." delimited by size
"PERIODO" delimited by size
into dato
end-string
invoke Json "StringOf" using dato returning wperiodo
move spaces to dato
string "COBRANZA[" delimited by size
w--ii delimited by size
"]" delimited by size
"." delimited by size
"IMPORTE" delimited by size
into dato
end-string
invoke Json "StringOf" using dato returning wimporte
move wimporte to l-importe
display wtipo, " ", wperiodo, " ", l-importe
end-perform.
perform pone-coma.
exit program.
pone-coma.
*>... Seteo en Windows el separador decimal
move spaces to caracter.
move "," to caracter(1:1).
move X"00" to caracter(2:1).
call "SetLocaleInfoA" with stdcall linkage
using by value 1024
by value 14
by reference caracter
returning retcode.
cancel "SetLocaleInfoA".
*>... Seteo en Windows el separador de miles
move spaces to caracter.
move "." to caracter(1:1).
move X"00" to caracter(2:1).
call "SetLocaleInfoA" with stdcall linkage
using by value 1024
by value 15
by reference caracter
returning retcode.
cancel "SetLocaleInfoA".
pone-punto.
*>... Seteo en Windows el separador decimal
move spaces to caracter.
move "." to caracter(1:1).
move X"00" to caracter(2:1).
call "SetLocaleInfoA" with stdcall linkage
using by value 1024
by value 14
by reference caracter
returning retcode.
cancel "SetLocaleInfoA".
*>... Seteo en Windows el separador de miles
move spaces to caracter.
move "," to caracter(1:1).
move X"00" to caracter(2:1).
call "SetLocaleInfoA" with stdcall linkage
using by value 1024
by value 15
by reference caracter
returning retcode.
cancel "SetLocaleInfoA".
Pensando un poco, trabajando con un servidor con escritorio remoto, desde un usuario cambio la configuración regional, se le cambia automáticamente a todos los usuarios, o solamente a este?
Si bien el proceso es rápido, y enseguida vuelve todo a la normalidad, no sea cosa que este cambio afecte a otro usuario que esté haciendo otra cosa, como un excel o listado.
Muchas gracias
Saludos...
Fito...
Kuk
13 de octubre de 2022, 16:05
@Fito, según dicen, el Locale se cambia a nivel sistema y no a nivel del usuario: Set language per user Solved - Windows 10 Forums (https://www.tenforums.com/general-support/135499-set-language-per-user.html)
fastpho
13 de octubre de 2022, 17:14
Hola @Kuk, @Fito, la configuracion regional , el idioma , el escritorio etc es a nivel usuario de windows , NO a nivel sistema
el cambio si puede afectar al usuario que por ejemplo este realizando algun proceso al mismo tiempo que tu programa , como pusiste de ejemplo Excel
Saludos ....
Fito
13 de octubre de 2022, 21:35
Hola Amigos.
Excelente, entonces no voy a tener ningún problema. Aunque en este caso tampoco lo hubiera tenido porque en este servidor solamente corre el programa para servidor web, no se loguea ningún usuario
Saludos..
Fito,,,,
vBulletin v3.8.7, Derechos ©2000-2026, Jelsoft Enterprises Ltd.