Source language: Translate to:

MODIFICAR STRING

Discusión sobre NeoBook en español

Moderators: Neosoft Support, beno

MODIFICAR STRING

Postby franco21 » Fri Jul 21, 2017 7:47 am

Hola gente a ver si alguien me puede dar una manito en problema que tengo

tengo un archivo de texto que contiene direcciones y latitud y longitud de coordenadas de googlemaps
pero al haber sido exportado por excell este me modifico los valores

la data de cada renglon del archivo de texto es por ejemplo

La Rioja 1389 - Moreno - Buenos Aires, -366.666.666, -450.000.999

yo necesito procesar cada linea para que me ponga el punto despues del segundo numero y me elimine los puntos siguientes me
debe quedar asi

La Rioja 1389 - Moreno - Buenos Aires, -36.6666666, -45.0000999

Alguien tiene idea de como lo puedo hacer...

Mil gracias
franco21
 
Posts: 122
Joined: Tue Jan 14, 2014 3:46 pm

Re: MODIFICAR STRING

Postby josesito » Fri Jul 21, 2017 8:49 pm

Si las coordenadas siempre van a tener el mismo formato (o la misma cantidad de caracteres),

Yo invertiria la linea asi: 999.000.054- ,666.666.663- ,seriA soneuB - oneroM - 9831 ajoiR aL
Hay que eliminar los caracteres 4 y 18 quedando asi: 999000.054- ,666666.663- ,seriA soneuB - oneroM - 9831 ajoiR aL
Por último se invierte el órden nuevamente y queda como se desea: La Rioja 1389 - Moreno - Buenos Aires, -366.666666, -450.000999

Si es un archivo con muchas lineas del mismo tipo hay que hacerlo una por una e ir grabando el resultado en otro archivo para que se vaya acumulando.
josesito
 
Posts: 53
Joined: Sat Sep 26, 2009 6:44 pm

Re: MODIFICAR STRING

Postby pgsoft » Fri Jul 21, 2017 10:13 pm

Bonjour.

Je n'ai pas testé mais ça devrait le faire.

FileLen "el fichero" "[Tef]"
SetVar "[Compt]" "0"
While "[Compt]" "<" "[Tef]"
SetVar "[Compt]" "[Compt]+1"
FileRead "el fichero" "[Compt]" "[Cl]"
StrParse "[Cl]" ", " "[TablCl]" "[ComptCl]"
StrReplace "[TablCl2]" "." "" "[TablCl2]"
StrIns "." "[TablCl2]" "3" "[TablCl2]"
StrReplace "[TablCl3]" "." "" "[TablCl3]"
StrIns "." "[TablCl3]" "3" "[TablCl3]"
FileWrite "el fichero" "[Compt]" "[TablCl1], [TablCl2], [TablCl3]"
EndWhile

Bonne journée.

PG
pgsoft
 
Posts: 7
Joined: Thu Jun 15, 2017 11:10 am

Re: MODIFICAR STRING

Postby franco21 » Sat Jul 22, 2017 7:01 am

Salut ami vous remercie beaucoup pour votre aide, fonctionne vraiment, mais pas moi tout à fait les points, mais ne les a pas place dans la deuxième question qu'ils vont

original -350.999.999

mis en accusation -350999999

devrait être -35.0999999

Toute suggestion comment y remédier?

ESPAÑOL

El codigo que me aporta el amigo funciona bien solo que me saca los puntos pero no me lo coloca en el segundo numero

el original es ejemplo : -350.999.999
tras el proceso del codigo : -350999999
pero deberia ser -35.0999999

Alguna idea de como solucionarlo?
franco21
 
Posts: 122
Joined: Tue Jan 14, 2014 3:46 pm

Re: MODIFICAR STRING

Postby virger » Sat Jul 22, 2017 8:05 am

QUIZA YA LO RESOLVISTE PERO INTENTA ESTO

Code: Select all
...Con MENOS
setvar "[cor]" "La Rioja 1389 - Moreno - Buenos Aires, -366.666.666, -450.000.999"

...SIN Menos
setvar "[cor]" "La Rioja 1389 - Moreno - Buenos Aires, -123.456.789, 987.654.321"


strparse "[cor]" "," "[pt]" "[x]"
loop "[x]" "[x]-1" "[c]"
     StrReplace "[pt[c]]" "." "" "[pt[c]]" ""
     StrReplace "[pt[c]]" "[#32]" "" "[pt[c]]" ""
     substr "[pt[c]]" "1" "1" "[ch]"
     SearchStr "-" "[pt[c]]" "[ps]" ""
     StrIns "@" "[pt[c]]" "[ps]+3" "[pt[c]]"
     alertbox "[c]" "[pt[c]]"
endloop


Hoy le ganamos a USA, Copa Oro
COSTA RICA
PURA VIDA
User avatar
virger
 
Posts: 510
Joined: Mon Sep 18, 2006 12:21 pm
Location: Costa Rica, America Central

Re: MODIFICAR STRING

Postby Rasl » Sat Jul 22, 2017 8:23 am

Proba con esto
Code: Select all
SetVar "[original]" "La Rioja 1389 - Moreno - Buenos Aires, -366.666.666, -450.000.999"
StrParse "[original]" "," "[c]" "[son]"
SearchStr "." "[c2]" "[pos1]" ""
StrDel "[c2]" "[pos1]+4" "1" "[c2modificado]"
SearchStr "." "[c3]" "[pos1]" ""
StrDel "[c3]" "[pos1]+4" "1" "[c3modificado]"
SetVar "[resultado]" "[c1],[c2modificado],[c3modificado]"


salu2
Rasl
 
Posts: 129
Joined: Sat Apr 02, 2005 8:25 am
Location: Buenos Aires, Argentina

Re: MODIFICAR STRING

Postby franco21 » Sat Jul 22, 2017 8:55 am

GRacias a ambos por el aporte pero en realidad yo tengo que modificar o lograr que me ponga el punto despues del
segundo digito segun esta rutina ya que son muchas las lineas a procesar, este codigo que me aportaron funciona perfecto
solo que no me pone la coma despues del segundo numero

deberia entregar como resultado -xx.xxxxxxxxxx

esta es la rutina que tengo en la app

FileLen "[fichero]" "[Tef]"
SetVar "[Compt]" "0"
While "[Compt]" "<" "[Tef]"
SetVar "[estado]" "Procesando..."
SetVar "[Compt]" "[Compt]+1"
FileRead "[fichero]" "[Compt]" "[Cl]"
StrParse "[Cl]" ", " "[TablCl]" "[ComptCl]"
StrReplace "[TablCl2]" "." "" "[TablCl2]" ""
StrIns "." "[TablCl2]" "3" "[TablCl2]"
StrReplace "[TablCl3]" "." "" "[TablCl3]"
StrIns "." "[TablCl3]" "3" "[TablCl3]"
FileWrite "[PubDir]plantilla-corregida.csv" "[Compt]" "[TablCl1], [TablCl2], [TablCl3]"
EndWhile
AlertBox "Global-SCV" "PROCESO FINALIZADO OK!||Dentro de la carpeta de este programa encontrara|su nueva plantilla ( plantilla-corregida.csv ) la cual|podrá utilizar en su nueva importacion..."
ShowObject "salir" "None" "0"


Alguna idea de como hacer para que el resultado sea con el punto inserto despues del segundo digito -22.999999999
franco21
 
Posts: 122
Joined: Tue Jan 14, 2014 3:46 pm

Re: MODIFICAR STRING

Postby virger » Sat Jul 22, 2017 10:09 am

Ya reviso mi aporte ?
COSTA RICA
PURA VIDA
User avatar
virger
 
Posts: 510
Joined: Mon Sep 18, 2006 12:21 pm
Location: Costa Rica, America Central

Re: MODIFICAR STRING

Postby franco21 » Sat Jul 22, 2017 10:27 am

Claro pero el problema es que no se donde debe ir insertado tu rutina dentro de mi rutina

FileLen "[fichero]" "[Tef]"
SetVar "[Compt]" "0"
While "[Compt]" "<" "[Tef]"
SetVar "[estado]" "Procesando..."
SetVar "[Compt]" "[Compt]+1"
FileRead "[fichero]" "[Compt]" "[Cl]"
StrParse "[Cl]" ", " "[TablCl]" "[ComptCl]"
StrReplace "[TablCl2]" "." "" "[TablCl2]" ""
StrIns "." "[TablCl2]" "3" "[TablCl2]"
StrReplace "[TablCl3]" "." "" "[TablCl3]"
StrIns "." "[TablCl3]" "3" "[TablCl3]"
FileWrite "[PubDir]plantilla-corregida.csv" "[Compt]" "[TablCl1], [TablCl2], [TablCl3]"
EndWhile
AlertBox "Global-SCV" "PROCESO FINALIZADO OK!||Dentro de la carpeta de este programa encontrara|su nueva plantilla ( plantilla-corregida.csv ) la cual|podrá utilizar en su nueva importacion..."
ShowObject "salir" "None" "0"

Puedes aclararme esto donde tengo que insertar el codigo que me pasaste
franco21
 
Posts: 122
Joined: Tue Jan 14, 2014 3:46 pm

Re: MODIFICAR STRING

Postby virger » Sat Jul 22, 2017 11:24 am

Buscando en cosa viejas encontre una funcion similar y te la he adaptado, a ver como te resulta

LA FUNCION Llamala "JsSepare"
Code: Select all
{NeoBook Function}
Version=5,80
Language=JScript
Param=[%str]|Variable|String
Param=[%ret]|Variable|Return Value
{End}
var str  = nbgetvar("[%str]");
var vTmp = str.match(/[-|+](\d+[,|.])+\d+/gm);

if (vTmp && vTmp.length > 1){
   for(var i = 0; i < vTmp.length; i++){
      var vSin = vTmp[i].replace(/\./g, '');
      var vSin = vSin.slice(0, 3)+ "." + vSin.slice(3);
      str = str.replace(vTmp[i],vSin)   ;
}
}

nbsetvar("[%ret]",str);


EL 'BOTON' DE EJEMPLO
Code: Select all
{NeoBook 5 Objects}
NeoBookVer=5,80
ObjectType=3
Name=BtPV
X=79
Y=305
W=113
H=35
Anchor=0
Text=Pura Vida
Align=2
ImageStyle=0
ObjAction=...filesize "lista.txt" "[sz]"¶...loop "1" "[sz]" "[l]"¶...   fileread "lista.txt" "[l]" "[line]"¶¶.. como ejemplo...¶setvar "[line]" "La Rioja 1389 - Moreno - Buenos Aires, -366.666.666, +450.000.999"¶Call "JsSepare" "[line]" "[ret]"¶alertbox "" "In:[line]|Out:[ret]"¶¶...endloop
LineColor=0
LineWidth=1
LineStyle=0
FillColor=13487565
FillPattern=0
Font=Arial
FontSize=14
FontStyle=0
FontCharset=1
TextColor=0
TabOrder=5

Bueno, pue me cuentas, ostia...!!!
COSTA RICA
PURA VIDA
User avatar
virger
 
Posts: 510
Joined: Mon Sep 18, 2006 12:21 pm
Location: Costa Rica, America Central

Re: MODIFICAR STRING

Postby franco21 » Sat Jul 22, 2017 12:06 pm

Gracias amigo, pero no puedo seguirte, la cuestion es que el arreglo debe hacerse sobre la rutina que tengo hecha ya que lee el archivo csv linea por linea y procesa los valores que corresponden a la latitud y longitud, y debe transformar ese valor (latitud y longitud ) en algo asi -35.00000000 esto es un ejemplo ya que el resultande del proceso de mi rutina no me le
pone el punto despues del segundo numero y esto es solo lo que necesito modificar es decir cualquier arreglo debe hacerse desde mi rutina de lo contrario si me sugieres alguna funcion por favor indicame en que parte exactamente debo agregarla de mi rutina....

ESTA ES MI RUTINA


FileLen "[fichero]" "[Tef]"
SetVar "[Compt]" "0"
While "[Compt]" "<" "[Tef]"
SetVar "[estado]" "Procesando..."
SetVar "[Compt]" "[Compt]+1"
FileRead "[fichero]" "[Compt]" "[Cl]"
StrParse "[Cl]" ", " "[TablCl]" "[ComptCl]"
StrReplace "[TablCl2]" "." "" "[TablCl2]" ""
StrIns "." "[TablCl2]" "3" "[TablCl2]"
StrReplace "[TablCl3]" "." "" "[TablCl3]"
StrIns "." "[TablCl3]" "3" "[TablCl3]"
FileWrite "[PubDir]plantilla-corregida.csv" "[Compt]" "[TablCl1], [TablCl2], [TablCl3]"
EndWhile
AlertBox "Global-SCV" "PROCESO FINALIZADO OK!||Dentro de la carpeta de este programa encontrara|su nueva plantilla ( plantilla-corregida.csv ) la cual|podrá utilizar en su nueva importacion..."
ClearVariables ""

DONDE PONTO LA FUNCION QUE ME ENVIAS PARA QUE ME GENERE LA NUEVA LISTA CON LOS NUMERO CORREGIDO ASI
-XX.XXXXXXXXXXXXXX tanto de la longitud como de la latitud

Mil gracias por tu atencion y molestias ocacionadas
franco21
 
Posts: 122
Joined: Tue Jan 14, 2014 3:46 pm

Re: MODIFICAR STRING

Postby pgsoft » Thu Jul 27, 2017 9:08 am

Buenos dias.
Perdona mi espanol no esta perfecto.

Ahora lo hé probado !

FileLen "C:\Users\Philippe\Desktop\XTrap\test.txt" "[Tef]"
SetVar "[Compt]" "0"
While "[Compt]" "<" "[Tef]"
SetVar "[Compt]" "[Compt]+1"
FileRead "C:\Users\Philippe\Desktop\XTrap\test.txt" "[Compt]" "[Cl]"
StrParse "[Cl]" ", " "[TablCl]" "[ComptCl]"
StrReplace "[TablCl2]" "." "" "[TablCl2]"
StrReplace "[TablCl3]" "." "" "[TablCl3]"
StrIns "." "[TablCl2]" "4" "[TablCl2]"
StrIns "." "[TablCl3]" "4" "[TablCl3]"
FileWrite "C:\Users\Philippe\Desktop\XTrap\test.txt" "[Compt]" "[TablCl1], [TablCl2], [TablCl3]"
EndWhile

Para insertar el codigo, en una nueva aplicacion crea un boton y pone el codigo al clic.
Si quieres probar antes cambiar definitivamente, hace una copia del archivo y intenta con la copia.

Saludo
pgsoft
 
Posts: 7
Joined: Thu Jun 15, 2017 11:10 am


Return to NeoBook en Español

Who is online

Users browsing this forum: No registered users and 1 guest