TEIMSI
Plataforma del desarrollador de textos programados
Inicio|Utilidades|Foro|Documentación

Indice de contenido -> Capítulo 8 - Funciones para variables tipo cadena


A continuación se describe el uso de las siguientes funciones predeterminadas en TEIMSI:

1)- asc

2)- ascat

3)- chr

4)- chrat

5)- hashver

6)- hextostr

7)- isinsideof

8)- ke_hashxlen

9)- lcase

10)- left

11)- len

12)- ltrim

13)- makestring

14)- replace

15)- right

16)- rtrim

17)- scrc16b

18)- setascat

19)- setchrat

20)- str_count

21)- str_repeatn

22)- str_overwrite

23)- str_reverse

24)- strpos

25)- strposrev

26)- strtohex

27)- substr

28)- substring

29)- trim

30)- ucase

31)- loadszstring




asc

La función "asc", recibe un carácter y devuelve su código ASCII, un entero entre 0 y 255 (incluidos). Es la función inversa de la función chr.


Sintaxis
asc(cadena)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI de longitud de 1 byte.
 

Valor devuelto
numero_entero
Variable tipo número entero de 32 bits de TEIMSI no menor que 0 ni mayor que 255.
 

Ejemplo:



	alert(asc("@"))		//	Muestra el entero 64.



Ver también <<chr>>


Volver arriba

ascat

La función "ascat", otorga el código ASCII de un carácter de la cadena que se le envía.


Sintaxis
ascat(cadena, posición)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 
posición
Variable tipo número entero de 32 bits de TEIMSI (no menor que 0 ni mayor o igual a la longitud de la cadena).
 

Valor devuelto
número
Variable tipo número entero de 32 bits de TEIMSI que representa el código ASCII del carácter en esa posición.
 

Ejemplo:




	alert(ascat("Hola", 1))	//	Muestra  el código ASCII de la letra "o", = 111



Ver también <<chrat>>, <<setchrat>>, <<setascat>>


Volver arriba

chr

La función "chr", recibe un entero entre 0 y 255 (incluidos) y devuelve un carácter cuyo código ASCII es el número que se le envía. Es la función inversa de la función asc.


Sintaxis
chr(numero_entero)
 

Parámetros
numero_entero
Variable tipo número entero de 32 bits de TEIMSI no menor que 0 ni mayor que 255.
 

Valor devuelto
cadena
Variable tipo cadena de TEIMSI de longitud de 1 byte.
 

Ejemplo:



	alert(chr(65))		//	Muestra la letra "A".




Ver también <<asc>>


Volver arriba

chrat

La función "chrat", otorga un carácter de la cadena que se le envía.


Sintaxis
chrat(cadena, posición)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 
posición
Variable tipo número entero de 32 bits de TEIMSI (no menor que 0 ni mayor o igual a la longitud de la cadena).
 

Valor devuelto
cadena
Variable tipo cadena de TEIMSI de longitud de 1 byte.
 

Ejemplo:




	alert(chrat("Hola",1))	//	Muestra la letra "o"



Ver también <<ascat>>, <<setchrat>>, <<setascat>>


Volver arriba

hashver

La función "hashver", calcula un número "hash" (o CRC, suma de comprobación) único a partir de una cadena que se le envía como parámetro.


Sintaxis
hashver(cadena)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 

Valor devuelto
número
Variable tipo número entero de 32 bits de TEIMSI (entre -2147483648 y 2147483647 incluidos, eso es un valor entero de 4294967296 posibles) que representa un CRC de la cadena.
 

Ejemplo:



	alert(hashver("fuego"))		//	Muestra -498913163



Ver también <<ke_hashxlen>>, <<scrc16b>>


Volver arriba

hextostr

La función "hextostr", recibe una cadena previamente creada con la función strtohex (realiza la tarea inversa a esa función).


Sintaxis
hextostr(cadena)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 

Valor devuelto
cadena
Variable tipo cadena de TEIMSI.
 

Ejemplo:



	var cadena1=strtohex("@$")	//	cadena1 vale ahora la cadena "4024"

	alert(hextostr(cadena1))	//	Muestra la cadena "@$".



Ver también <<strtohex>>, <<chr>>


Volver arriba

isinsideof

La función "isinsideof", determina si los primeros caracteres de una cadena coinciden con los de otra cadena que también se le envía.


Sintaxis
isinsideof(cadena1, cadena2, inicio)
 

Parámetros
cadena1
Variable tipo cadena de TEIMSI.
 
cadena2
Variable tipo cadena de TEIMSI, de longitud menor o igual a la de "cadena1".
 
inicio
Variable tipo número entero de 32 bits de TEIMSI (no menor que 0 ni mayor o igual a la longitud de "cadena1"), indica la posición a partir de la cual se empieza a comparar el contenido de "cadena2" dentro de "cadena1".
 

Valor devuelto
booleano
Variable tipo booleano de TEIMSI.
 

La utilidad de esta función surge de su velocidad para determinar si parte de una cadena coincide con otra, porque otro código que realice ésta tarea seguramente sea mucho más lento. Su rendimiento es notable cuando se llama a la función miles de veces por segundo.


Ejemplo:



	alert(isinsideof("017-Ocean - Dreams", "-Ocean ", 3))

		//	Determina si la cadena "-Ocean" está en la cadena "017-Ocean - Dreams" a partir de
		//		la posición 3 (Verdadero).



Ver también <<strpos>>


Volver arriba

ke_hashxlen

La función "ke_hashxlen", devuelve una cadena "hash" (única y no convertible en la cadena origen por función recíproca), a partir de la cadena origen. La longitud de la cadena de salida puede especificarse y los caracteres de la misma pertenecen a todo rango del código ASCII (del 0 al 255 incluidos).


Sintaxis
ke_hashxlen(cadena, cantidad)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 
cantidad
Variable tipo número entero de 32 bits de TEIMSI (no menor que 0).
 

Valor devuelto
cadena
Variable tipo cadena de TEIMSI.
 

La utilidad de esta función reside en su capacidad de devolver una cadena "binaria" de longitud arbitraria, al tiempo que proporciona un método "fuerte" de cálculo de la cadena de salida (y tiene considerable lentitud).


Ejemplo:



	// Muestra una cadena "hash" (similar a la que genera la función "md5hash", más información: buscar "rfc1321" en Internet).


	alert(strtohex(ke_hashxlen("Programando con TEIMSI", 16)))



Ver también <<hashver>>


Volver arriba

lcase

La función "lcase", convierte los caracteres de una cadena en minúscula.


Sintaxis
lcase(cadena)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 

Valor devuelto
cadena
Variable tipo cadena de TEIMSI, es la cadena pasada a minúscula de que se le envió.
 

Ejemplo:



	alert(lcase("PROGRAMA"))		//	Muestra "programa"


Ver también <<ucase>>


Volver arriba

left

La función "left", devuelve una cadena que constituye la parte izquierda de otra cadena.


Sintaxis
left(cadena, cantidad)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 
cantidad
Variable tipo número entero de 32 bits de TEIMSI (no menor que 0). Longitud de la cadena de salida.
 

Valor devuelto
cadena
Variable tipo cadena de TEIMSI.
 

Ejemplo:



	alert(left("UltraRayo", 5))		//	Muestra la cadena "Ultra".



Ver también <<right>>


Volver arriba

len

La función "len", devuelve un entero con la longitud de una variable tipo cadena de TEIMSI.


Sintaxis
len(cadena)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 

Valor devuelto
número_entero
Variable tipo número entero de 32 bits de TEIMSI (no menor que 0) con la longitud de la cadena.
 

Ejemplo:



	alert(len("numero"))		//	Muestra "6"


Ver también <<count>>


Volver arriba

ltrim

La función "ltrim", quita los espacios y tabuladores de la parte izquierda de una cadena devolviendo la cadena resultante.


Sintaxis
ltrim(cadena)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 

Valor devuelto
cadena
Variable tipo cadena de TEIMSI.
 

Ejemplo:



	alert("Este es un " + ltrim("	  	texto"))		// Muestra "Este es un texto"



Ver también <<rtrim>>, <<trim>>


Volver arriba

makestring

La función "makestring", crea una cadena de la longitud deseada que contiene todos sus caracteres de valor igual a chr(0).


Sintaxis
makestring(número_entero)
 

Parámetros
número_entero
Variable tipo número entero de 32 bits de TEIMSI (no menor que 0) con la longitud de la cadena.
 

Valor devuelto
cadena
Variable tipo cadena de TEIMSI.
 

Ejemplo:



	alert(len(makestring(29)))		// Muestra "29"



Ver también <<str_repeatn>>


Volver arriba

replace

La función "replace", reemplaza en una cadena cierta coincidencia por otra cadena.


Sintaxis
replace(cadena, buscar, reemplazar)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 
buscar
Variable tipo cadena de TEIMSI.
 
reemplazar
Variable tipo cadena de TEIMSI.
 

Valor devuelto
cadena
Variable tipo cadena de TEIMSI.
 

Ejemplo:



	alert(replace("ola", "o", "Ho"))



Ver también <<strpos>>


Volver arriba

right

La función "right", devuelve una cadena que constituye la parte derecha de otra cadena.


Sintaxis
right(cadena, cantidad)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 
cantidad
Variable tipo número entero de 32 bits de TEIMSI (no menor que 0). Longitud de la cadena de salida.
 

Valor devuelto
cadena
Variable tipo cadena de TEIMSI.
 

Ejemplo:



	alert(right("UltraRayo", 4))		//	Muestra la cadena "Rayo".



Ver también <<left>>


Volver arriba

rtrim

La función "rtrim", quita los espacios y tabuladores de la parte derecha de una cadena devolviendo la cadena resultante.


Sintaxis
rtrim(cadena)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 

Valor devuelto
cadena
Variable tipo cadena de TEIMSI.
 

Ejemplo:



	alert("Este es un " + rtrim("texto	  	") + " pequeño")		// Muestra "Este es un texto pequeño"



Ver también <<ltrim>>, <<trim>>


Volver arriba

scrc16b

La función "scrc16b", crea una cadena única (CRC) a partir de otra. La longitud de la cadena es de cuatro caracteres hexadecimales (números y letras A,B,C,D,E,F)


Sintaxis
scrc16b(cadena)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 

Valor devuelto
cadena
Variable tipo cadena de TEIMSI.
 

La función en código P.h.p es el siguiente :

		function s16b_crc($encs){
			$rslt = 799477;
			for($i=0;$i<strlen($encs);$i++){
				$rslt = $rslt ^ (ord($encs[$i])*175 + (($i*3+171)^7977) ) ;
			}
			$rslt=$rslt-65536*floor($rslt/65536);
			$rslt1=floor($rslt/256);
			$rslt2=$rslt-256*$rslt1;

			$s1="00".dechex($rslt1);
			$s2="00".dechex($rslt2);

			return( substr($s1, len($s1)-2, 2) . substr($s2, len($s2)-2, 2)     );
		}

	

Ejemplo:



	alert(scrc16b("hola"))		//	Muestra "3787"


Ver también <<hashver>>


Volver arriba

setascat

La función "setascat", escribe sobre una cadena un cáracter en la cadena especificada, cuya posición de escritura y código ASCII del carácter se especifica. La lectura de dicho valor se realiza con la función ascat.


Sintaxis
setascat(cadena, posición, número)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 
posición
Variable tipo número entero de 32 bits de TEIMSI (no menor que 0 ni mayor o igual a la longitud de la cadena).
 
número
Variable tipo número entero de 32 bits de TEIMSI que representa el código ASCII del carácter a escribir.
 

Ejemplo:




	var cad1="Océani"

	setascat(cad1, 5, 111)

	alert(cad1)					//	Muestra la cadena "Océano".

	alert(setascat("Océuno", 3, 97))		//	Muestra la cadena "Océano".



Ver también <<ascat>>, <<chrat>>, <<setchrat>>


Volver arriba

setchrat

La función "setchrat", devuelve una cadena que surge de escribir un carácter en una cadena de entrada en una posición de escritura especificada. La lectura de dicho carácter se realiza con la función chrat.


Sintaxis
setchrat(cadena, posición, carácter)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 
posición
Variable tipo número entero de 32 bits de TEIMSI (no menor que 0 ni mayor o igual a la longitud de la cadena).
 
carácter
Variable tipo cadena de TEIMSI de longitud de 1 byte.
 

Ejemplo:



	var cad1="Océani"

	setchrat(cad1, 5, "o")

	alert(cad1)					//	Muestra la cadena "Océano".

	alert(setchrat("Océani", 5, "o"))		//	Muestra la cadena "Océano".


Ver también <<ascat>>, <<chrat>>, <<setascat>>


Volver arriba

str_count

La función "str_count", recibe dos variables tipo cadena de TEIMSI y determina la cantidad de veces que la segunda cadena se encuentra dentro de la primera (exceptuando interposiciones).


Sintaxis
str_count(cadena1, buscar)
 

Parámetros
cadena1
Variable tipo cadena de TEIMSI.
 
buscar
Variable tipo cadena de TEIMSI, para la cual se quiere contar la cantidad de apariciones en "cadena1".
 

Valor devuelto
numero_entero
Variable tipo número entero de 32 bits de TEIMSI.
 

Ejemplo:


		alert(str_count("1111222211112222", "11"))		//	Muestra el número 4.



Ver también <<explode>>, <<implode>>


Volver arriba

str_repeatn

La función "str_repeatn", crea una cadena repitiendo otra de entrada cuya cantidad de repeticiones se indica con un entero como el primer parámetro.


Sintaxis
str_repeatn(cadena1, número)
 

Parámetros
cadena1
Variable tipo cadena de TEIMSI.
 
número
Variable tipo número entero de 32 bits de TEIMSI que representa la cantidad de veces que se repetirá la cadena.
 

Valor devuelto
cadena_salida
Variable tipo cadena de TEIMSI.
 

Ejemplo:



	alert(str_repeatn("*", 12))		//	Muestra la cadena "************"


Ver también <<str_count>>, <<makestring>>


Volver arriba

str_overwrite

La función "str_overwrite", sobrescribe una parte de una varible tipo cadena. Recibe como el primer parámetro una variable pública o, local a una función TEIMSI y una segunda variable tipo cadena cuyos caracteres (bytes) se escribirán en la primera. El tercer parámetro es un entero largo (con signo) con el desplazamiento en la primer cadena a partir de donde se iniciará la escritura. Admite cadenas de hasta 2147483647 (es decir 2**31 - 1) bytes.


Sintaxis
str_overwrite(cadena1, cadena2, entero_largo)
 

Parámetros
cadena1
Variable de TEIMSI pública o local a una función de TEIMSI. Debe tener modo dinámico, eso significa que debe ser el nombre de una variable y no el resultado de una expresión.
 
cadena2
Variable de TEIMSI que tiene el requisito de ser tipo cadena.
 
entero_largo
Variable tipo número entero con signo de 32 bits de TEIMSI que representa el desplazamiento donde empezar la escritura en "cadena1".
 

Valor devuelto
booleano
Variable tipo booleano: verdadero o falso (true or false).
 

Ejemplo:



	var cadena1="onda de propagación"

	str_overwrite(cadena1, "en interacción", 5)

	alert(cadena1)

//Ejemplo 2

	//    El propósito de la función es acelerar el proceso de cambiar parte de una cadena en lenguaje TEIMSI, de otra manera sería una tarea lenta. Como en el siguiente ejemplo cuya meta es el cambio de la palabra "-centro-" por la "-cadena-" en una variable cadena conocida. 

	var cadena1="izquierda-centro-derecha"

	var buscar  = "-centro-"
	var cambiar = "-cadena-"

	var p=strpos(cadena1, buscar, 0)

	//	Opción 1 (lenta)

		cadena1=substr(cadena1, 0, p) + cambiar + substr(cadena1, p+len(buscar), -1)

	//	Opción 2 (rápida)

		str_overwrite(cadena1, cambiar, p)


Ver también <<substr>>, <<strpos>>


Volver arriba

str_reverse

La función "str_reverse", crea una cadena en la que se ha invertido la posición de los caracteres de una cadena de entrada (haciendo que los primeros caracteres aparezcan a lo último y los últimos aparezcan como primeros).


Sintaxis
str_reverse(cadena)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 

Valor devuelto
cadena
Variable tipo cadena de TEIMSI.
 

Ejemplo:



	alert(str_reverse("sohcum"))		//	Muestra la cadena "muchos"


Ver también <<str_repeatn>>


Volver arriba

strpos

La función "strpos", busca una cadena dentro de otra apartir de la posición especificada.


Sintaxis
strpos(cadena1, buscar, número)
 

Parámetros
cadena1
Variable tipo cadena de TEIMSI. Es la cadena que tiene la cadena buscada.
 
buscar
Variable tipo cadena de TEIMSI. Es la cadena que se buscará.
 
número
Variable tipo número entero de 32 bits de TEIMSI que representa el inicio dentro de "cadena1" donde se iniciará la búsqueda.
 

Valor devuelto
número
Variable tipo número entero de 32 bits de TEIMSI que indica la posición donde se encuentra la cadena "buscar" dentro de "cadena1", o -1 si no se encontró.
 

Ejemplo:



	alert(strpos("hola mundo", "ola", 0))		// Muestra "1"
	alert(strpos("hola mundo", "ola", 2))		// Muestra "-1"


Ver también <<strposrev>>


Volver arriba

strposrev

La función "strposrev", busca una cadena dentro de otra apartir de la posición especificada desde el final hacia el inicio.


Sintaxis
strposrev(cadena1, buscar, número)
 

Parámetros
cadena1
Variable tipo cadena de TEIMSI. Es la cadena que tiene la cadena buscada.
 
buscar
Variable tipo cadena de TEIMSI. Es la cadena que se buscará.
 
número
Variable tipo número entero de 32 bits de TEIMSI que representa el inicio dentro de "cadena1" donde se iniciará la búsqueda, puede ser un entero mayor o igual a la longitud de "cadena1": si vale -1 se toma como la longitud de dicha cadena.
 

Valor devuelto
número
Variable tipo número entero de 32 bits de TEIMSI que indica la posición donde se encuentra la cadena "buscar" dentro de "cadena1", o -1 si no se encontró.
 

Ejemplo:



	alert(strposrev("hola ola.", "ola", 1000000))	// Muestra "5"
	alert(strposrev("hola ola.", "ola", 3))		// Muestra "1"



Ver también <<strpos>>


Volver arriba

strtohex

La función "strtohex", convierte una cadena en otra cuyos códigos ASCII de la primera están pegados, notación hexadecimal y con longitud de 2 bytes.


Sintaxis
strtohex(cadena)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 

Valor devuelto
cadena
Variable tipo cadena de TEIMSI.
 

Ejemplo:



	alert(strtohex("@$"))	//	Muestra la cadena "4024", observar que el código ASCII de "@" es 64 (40 en hexadecimal) y el de "$" es 36 (24 en hexadecimal).



Ver también <<hextostr>>, <<chr>>


Volver arriba

substr

La función "substr", substrae parte de una cadena. Es similar a la función substring pero se distingue en el tercer parámetro.


Sintaxis
substr(cadena, inicio, longitud)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 
inicio
Variable tipo número entero de 32 bits de TEIMSI (no menor que 0). Indica la posición donde inicia la sub-cadena que se quiere copiar.
 
longitud
Variable tipo número entero de 32 bits de TEIMSI (no menor que 0). Indica la longitud de la sub-cadena que se quiere copiar. Si este valor vale -1, entonces se tomará la parte derecha de la cadena desde la posición del valor del segundo parámetro (número "inicio").
 

Valor devuelto
cadena
Variable tipo cadena de TEIMSI.
 

Ejemplo:



	alert(substr("universo", 3, 5))		//	muestra la cadena "verso"



Ver también <<substring>>, <<left>>, <<right>>


Volver arriba

substring

La función "substring", substrae parte de una cadena. Es similar a la función substr pero se distingue en el tercer parámetro.


Sintaxis
substring(cadena, inicio, final)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 
inicio
Variable tipo número entero de 32 bits de TEIMSI (no menor que 0). Indica la posición donde inicia la sub-cadena que se quiere copiar.
 
final
Variable tipo número entero de 32 bits de TEIMSI (no menor que 0). Indica la posición donde finaliza la sub-cadena que se quiere copiar.
 

Valor devuelto
cadena
Variable tipo cadena de TEIMSI.
 

Ejemplo:



	alert(substring("universo2", 3, 8))		//	muestra la cadena "verso"


Ver también <<substr>>, <<left>>, <<right>>


Volver arriba

trim

La función "trim", quita los espacios y tabuladores de los costados de una cadena devolviendo la cadena resultante.


Sintaxis
trim(cadena)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 

Valor devuelto
cadena
Variable tipo cadena de TEIMSI.
 

Ejemplo:



	alert("El electrón es " + trim("	  	un 		") + " leptón")		// Muestra "El electrón es leptón"



Ver también <<ltrim>>, <<rtrim>>


Volver arriba

ucase

La función "ucase", convierte los caracteres de una cadena en mayúscula.


Sintaxis
ucase(cadena)
 

Parámetros
cadena
Variable tipo cadena de TEIMSI.
 

Valor devuelto
cadena
Variable tipo cadena de TEIMSI, es la cadena pasada a mayúscula de la que se le envió.
 

Ejemplo:



	alert(ucase("programa"))		//	Muestra "PROGRAMA"



Ver también <<lcase>>


Volver arriba

loadszstring

La función "loadszstring" carga una cadena definida en la sección de datos del ensamblador, la cadena debe terminar con el carácter chr(0).


Sintaxis
loadszstring(entero)
 

Parámetros
entero
Variable tipo entero largo. Debe tener como valor el puntero a la dirección en la sección de datos, hacia una cadena.
 

Valor devuelto
cadena
Variable tipo cadena de TEIMSI. Devuelve la cadena definida en la sección de datos excluyendo el carácter chr(0) que la finaliza.
 

Ejemplo:



	place_idata{
		descripcion db "El espacio no está vacío.",0

	}
	var entero=0;
	_direct{
		mov [entero+reg.vo], (descripcion)
	}
	alert(_c34+loadszstring(entero)+_c34);		//	Muestra la cadena: "El espacio no está vacío."



Ver también <<makestring>>


Volver arriba