Manipulación de strings en G AMBAS file:///home/julio/tutorial_gambas/manipulaci... Bienvenido(a ), Vis it ant e. Fa vor de ingresa r o registra rse. ¿Perdiste tu ema il de a ctiva ción? 09 Ma yo 2009, 18:04:19 Not icias : Bienvenido a Spa in foros Comunid ad G ambas PROG RAMACION G AMBAS Pr incipiant es Manipulación d e s t r ing s en G AMBAS 0 Us u ar i os y 1 Vi s i tan te es tán vi en do es te tem a. « an ter i or pr óxi m o » Pág inas : [1] Aut or s oplo Adm i n i s tr ator J r . Mem ber T ema: Manipulación d e s t r ing s en G AMBAS (Leíd o 21 veces ) Manipulación d e s t r ing s en G AMBAS « e n: 24 Octu br e 2008 , 12:36:5 5 » Al contra rio que en C, en ga mba s los string empieza n por la posición 1. Des con ectado Men s aj es : 61 En ga mba s se utiliz a pa ra la s strings el juego de ca ra cteres UTF-8 lo que ha ce que muchs órdenes genérica s de string no funcionen correcta mente (cua ndo intervienen códigos a scii extendidos). Pa ra resolver esto existe la cla se string que tiene la s misma s órdenes, pero prepa ra da s pa ra tra ba ja r con UTF-8. Así por ejemplo print len("bebé") = 5 (porque en UTF8 los ca ra cteres extendidos tienen dos bytes) print string.len("bebé") = 4 (porque a l utiliza r UTF-8 se entiende que la é tiene dos bytes en vez de uno Por último pa ra sa ber si una string está va cía o no en otros lengua jes solemos ha cer: if string="" then if len(string)=0 then fi string<>"" then if len(string)>0 then Pero en Ga mba s esto es ma s sencillo if string then ====> no está va cía if not string then ==> está va cía Los coma ndos pa ra ello son los siguientes: len Devuelve la longitud de un string Có digo : longitud=len(string) Upper Ucas e Lower Lcas e Upper y Uca se son sinónimos y convierten una string a ma yúscula s Lower y lca se son sinónimos y convierten una string a minúscula s. Estos coma ndos no funciona n con UTF-8 T r im lt r im r t r im Quita espa cios en la string. ltrim ====> quita los espa cios a la izquierda ha sta el primer ca ra cter no espa cio rtrim ====> quita los espa cios a la derecha ha sta el primer ca ra cter no espa cio trim ====> quita los espa cios a la izqu ierda y a la derecha lef t , mid , r ig ht Aquí ha y seria s diferencia s con VB Có digo : x=left(string,4) ====> extrae los cuatro primeros caracteres por la izquierda x=left(string) ====> extrae el primer caracter de la izquierda x=left(string,-5) ====> Si el número de caracteres es negativo entonces indica el número de caracteres a no extraer left("pepito grillo".-7)="pepito") Có digo : x=mid(string,inicio,longitud) ====> extrae a partir de inicio los caracteres especificados en longitud x=mid(string,inicio) ====> extrae todo desde la posicion inicio x=mid(string,inicio,-longitud) ====> si la longitud es negativa entonces indica la cantidad de caracteres partiendo de la derecha a no extraer mid("pepito grillo",2,-7)="epito" 1 de 3 23/05/09 12:38 Manipulación de strings en G AMBAS file:///home/julio/tutorial_gambas/manipulaci... Có digo : x=right(string,4) ====> extrae los cuatro primeros caracteres de la derecha x=right(string) ====> extrae el primer caracter de la derecha x=right(string,-5) ====> Si el número de caracteres es negativo entonces indica el número de caracteres a no extraer right("pepito grillo",-7)="grillo" s pace crea un string con X espa cios Có digo : string="Perico" & spaces(10) ====> "Perico " r eplace reempla za ca da ocurrencia de la pla ntilla por lo indica do stringa =repla ce(stringb,pla ntilla ,reempla zo) stringa =repla ce("a bcdef","bc","xx") ====> stringa ="a xxdef" s t r ing devuelve un string con X veces la ca dena propuesta ca dena =string(10,".") ====> ca dena =".........." ins t r r ins t r devuelve la posición de la primera ocurrencia de substring en la ca dena rinstr igua l pero por la derecha posicion=instr("0123456789","23") ====> posicion = 3 posicion=rinstr("0123456789","23") ====> posicion=6 s plit divide una string en va ria s sepa ra da s por un sepa ra dor indica do. Có digo : dim array as string[] array=split(string,"|") as c chr ¡Ojo! Ga mba s funciona con UTF-8. Los ca ra cteres del a scii extendido (por encima del 128) no funciona rá n bien. a sc(x) devuelve el código a scii de X chr(x) devuelve el ca ra cter que corresponde a l código a scii X Bin Devuelve un string que es la conversión a l bina rio de un va lor x=bin(y) ====> x = va lor bina rio de y hex Devuelve un string que es la conversión a l hexa decima l de un va lor x=hex(y) ====> x = va lor hexa decima l de y s t r $ val str convierte un va lor numérico a string va l convierte un string en un va lor numérico respeta ndo la s especifica ciones del pa ís de fecha s y números SConv Convierte una expresión UTF-8 a l juego de ca ra cteres del sistema Dconv Convierte una expresión del juego de ca ra cteres del sistema a UTF-8 Conv Convierte una expresión de un sistema de ca ra cteres a otro f or mat forma tea un va lor con un determina do forma to. Los forma tos predefinidos son: gb.Genera lNumber ====> escribe con doce dígitos decima les. Si el número es muy gra nde o muy pequeño lo convierte a forma to científico. gb.fixed ====> equiva le a "0.00" 2 de 3 23/05/09 12:38 Manipulación de strings en G AMBAS file:///home/julio/tutorial_gambas/manipulaci... gb.percent ====> equiva le a "###%" gb.genera lda te ====> escribe la fecha solo si tiene info de fecha . Escribe la hora solo si tiene info de h ora . gb.longda te ====> fecha la rga gb.mediumda te ====> fecha media gb.shortda te ====> fecha corta gb.longtime ====> hora la rga gb.mediumtime ====> hora media gb.shorttime ====> hora corta gb.currency ====> usa el símbolo de moneda na ciona l gb.interna ciona l ====> usa el símbolo interna ciona l de moneda Opera dores & Concat enar s t r ing s string3=string1 & string2 string1 &=string2 ====> string1 = string 1 & string2 Like Bús q ued a d e s ubcad enas string like pla ntilla string <> string ====> true si son distinta s string1 < string2 ====> true si string1 es ma s corta que string2 string1 <= string2 ====> true si string1 es menor o igua l que string2 « Última modificación: 29 Octubre 2008, 13:34:47 por soplo » En l í n ea Pág inas : [1] « an ter i or pr óxi m o » ir I r a: => Prin cipian t es Siem pre Ingresar Ingresa r con nombre de usua rio, contra seña y dura ción de la sesión Powered by S MF 1 .1 .8 | S MF © 2006 , S imple Ma chines LLC 3 de 3 23/05/09 12:38