Ayuda con ifinstring Topic is solved

Esta sección es para preguntas sobre programación/scripting usando AutoHotkey.

Moderator: Flipeador

3litew0lf

Ayuda con ifinstring

10 May 2017, 14:33

Hola buenas tardes
quisiera usar un metodo como el (IfInString, Var, searchstring)
pero que la cadena a buscar tenga que estar en las 2 ultimas posiciones y no en cualquier parte de la variable
A_AhkUser
Posts: 1147
Joined: 06 Mar 2017, 16:18
Location: France
Contact:

Re: Ayuda con ifinstring  Topic is solved

10 May 2017, 16:14

3litew0lf wrote:quisiera usar un metodo como el (IfInString, Var, searchstring)
pero que la cadena a buscar tenga que estar en las 2 ultimas posiciones y no en cualquier parte de la variable

Hola buenas tardes.

Puedes utilizar la funcion InStr utilizando como StartingPos parametro la longitud de la cadena - que puede ser rescatada utilizando StrLen funcion - menos dos.

Code: Select all

; -------- ejemplo uno --------
cadena1 := "xxxxxxxxxxxxxxxxxxxxxx~~"
if (pos:=InStr(cadena1, "~~",, StrLen(cadena1) -2))
MsgBox, cadena una si
else
MsgBox, cadena una no

; -------- ejemplo dos --------
cadena2 := "xxxxxxxxxx~~xxxxxxxxxxxx"
if (pos:=InStr(cadena2, "~~",, StrLen(cadena2) -2))
MsgBox, cadena dos si
else
MsgBox, cadena dos no

; -------- ejemplo tres --------
cadena3 := "~~xxxxxxxxxxxxxxxxxxxxxx"
if (pos:=InStr(cadena3, "~~",, StrLen(cadena3) -2))
MsgBox, cadena tres si
else
MsgBox, cadena tres no
Suerte
my scripts
User avatar
Flipeador
Posts: 1204
Joined: 15 Nov 2014, 21:31
Location: Argentina
Contact:

Re: Ayuda con ifinstring

10 May 2017, 16:18

Hola,
Primero que nada te recomiendo evitar los "comandos", en su lugar, acostúmbrate a utilizar las funciones; ya que en AutoHotkey v2 se van a remover por completo los "comandos", además, genera mucha confusión. Lo mismo para la asignación, utiliza siempre := y no =.
3litew0lf wrote:que la cadena a buscar tenga que estar en las 2 ultimas posiciones y no en cualquier parte de la variable
¿A que te refieres con "posiciones"?, pon un ejemplo en pseudocódigo de lo que quieres hacer, con un ejemplo de cadena.
Mira la función InStr.
3litew0lf

Re: Ayuda con ifinstring

10 May 2017, 18:35

Flipeador wrote:Hola,
Primero que nada te recomiendo evitar los "comandos", en su lugar, acostúmbrate a utilizar las funciones; ya que en AutoHotkey v2 se van a remover por completo los "comandos", además, genera mucha confusión. Lo mismo para la asignación, utiliza siempre := y no =.
3litew0lf wrote:que la cadena a buscar tenga que estar en las 2 ultimas posiciones y no en cualquier parte de la variable
¿A que te refieres con "posiciones"?, pon un ejemplo en pseudocódigo de lo que quieres hacer, con un ejemplo de cadena.
Mira la función InStr.
La verdad soy nuevo en la programacion y no conozco bien lo de las funciones
la respuesta de A_AhkUser fue justo lo que necesitaba solo que en vez de -2 era -1 ya que con el -2 alcanzaba a capturar las 3 ultimas letras
A_AhkUser
Posts: 1147
Joined: 06 Mar 2017, 16:18
Location: France
Contact:

Re: Ayuda con ifinstring

11 May 2017, 15:47

Especialmente porque eres nuevo en la programacion el consejo de Flipeador es pertinente, maxime considerando que el bastante basico codigo que te propuse utiliza precisamente las dichas funciones y el operator de asignacion :=

Mira especialemente, a modo de intoduccion: funciones.

3litew0lf wrote:solo que en vez de -2 era -1 ya que con el -2 alcanzaba a capturar las 3 ultimas letras
Si buen punto y lo siento; es porque 0 sirve a capurar la utima letra de manera que existe un desfase.
my scripts

Return to “Pedir Ayuda”

Who is online

Users browsing this forum: No registered users and 15 guests