https://foro.gambas-es.org/viewtopic.php?f=1&t=8124
-----------------------------------
gambafeliz
Domingo, 28 Junio 2020, 08:16

Alguien Me Explica De Forma Didactica El Ejemplo De La Wiki
-----------------------------------
Hola

Me gustaría saber si alguien es tan amable de explicarme el ejemplo de la página siguiente:
http://gambaswiki.org/wiki/comp/gb/string/instr

La verdad, ¿no entiendo como se llega al resultado "7"?

Gracias


-----------------------------------
Shell
Domingo, 28 Junio 2020, 10:20

Re: Alguien Me Explica De Forma Didactica El Ejemplo De La Wiki
-----------------------------------
Hola GambaFeliz.

[quote]
La verdad, ¿no entiendo como se llega al resultado "7"?
[/quote]

Benoît es francés. Está usando un carácter que no está dentro del estándar ascci. Extendido quizás.
Como tu sabes las cadenas comienzan con el indice uno.

En el ejemplo se demuestra que en caso de querer contar caracteres especiales se debe usar la clase "String".
Por ejemplo una palabra que tenga tilde ( Esas que a veces no uso por no entretenerme demasiado ).  8) 

[code linenumbers=false syntax=gambas]
Print String.InStr("Benoît", "t");; InStr("Benoît", "t")
[/code]

En el primer caso usa el método InStr de la clase String y en el otro usa la función InStr.

Subo un ejemplo que no he acabado. Se imprimen letra a letra, usa la clase String.
Iba a ser una especie de asistente al cliente en caso de falta de personal.  :roll: 

Dale solo al botón de inicio.

La idea es que el cliente escribe el problema y el asistente virtual lo va "¿ ayudando ?".  :twisted: 
Eso si, el sonido hace una cosa rara en un momento determinado.

Saludos


-----------------------------------
gambafeliz
Domingo, 28 Junio 2020, 19:50

Re: Alguien Me Explica De Forma Didactica El Ejemplo De La Wiki
-----------------------------------
Gracias, Shell creo que esta más que bien explicado. Lo que sigo dando vueltas es ese 7, supongo que:

String.Instr = Cuenta exactamente los caracteres sean especiales o no. Con lo cual es la forma más exacta para contar caracteres, sean de la madre que sean.

Y

Instr = Cuenta pero no es fiable para los caracteres especiales, nota: la verdad que ahora que veo el ejemplo no se para que debo utilizar Instr() e incluso no le veo la utilidad.

¿Alguien me apunta un uso coherente de esta función?


-----------------------------------
Shell
Lunes, 29 Junio 2020, 11:45

Re: Alguien Me Explica De Forma Didactica El Ejemplo De La Wiki
-----------------------------------
GambaFeliz:

[quote]
Instr = Cuenta pero no es fiable para los caracteres especiales, nota: la verdad que ahora que veo el ejemplo no se para que debo utilizar Instr() e incluso no le veo la utilidad.

¿Alguien me apunta un uso coherente de esta función?
[/quote]

Por un lado tenemos los cambios que se van produciendo en el lenguaje, cosas que pueden quedar obsoletas, cosas que por un estándar continúan estando ahí.
Todo dependerá donde lo uses. Si sabes que vas a usar caracteres especiales usar la clase String, que no vas a usar caracteres especiales, puedes usar la que tu quieras.

No va ser la última función que encuentres y te preguntes, pero si la otra ya hace eso y más.. :roll: 
Muchas funciones que ves en Gambas son para los que venimos de Visual Basic nos cueste menos hacer cambios,
para la portabilidad de un código o simplemente es una función común a los dos lenguajes.

Saludos


-----------------------------------
gambafeliz
Lunes, 29 Junio 2020, 15:56

Re: Alguien Me Explica De Forma Didactica El Ejemplo De La Wiki
-----------------------------------
[quote user="Shell" post="48962"]
Por un lado tenemos los cambios que se van produciendo en el lenguaje, cosas que pueden quedar obsoletas, cosas que por un estándar continúan estando ahí.
Todo dependerá donde lo uses. Si sabes que vas a usar caracteres especiales usar la clase String, que no vas a usar caracteres especiales, puedes usar la que tu quieras.

No va ser la última función que encuentres y te preguntes, pero si la otra ya hace eso y más.. :roll: 
Muchas funciones que ves en Gambas son para los que venimos de Visual Basic nos cueste menos hacer cambios,
para la portabilidad de un código o simplemente es una función común a los dos lenguajes.
[/quote]

Gracias, Shell

Sin duda tienes mas razón que un Santo :)

No tengo nada que decir, eres un crack, y yo algo cortito por no haber visto tu punto de vista. Pero bueno, lo bueno es que me has hecho comprenderlo desde un punto más amplio que el mio.

Saludos.


