Bueno, os dejo mi primera función en este estupendo lenguaje. Quiero dar las gracias a Pink especialmente por echarme una manilla. La dejo explicada, para los que como yo, empiezan en este lenguaje.

Código: Seleccionar todo

#cs #############################################################################
Autor: 'DuNeD@i'
Fecha: 10/07/2012
Función: Alternativa a Función Val() de Visual Basic
Explicación: Devuelve los números que hay en una cadena
Uso:  _Val('0a1b2c3d4e5f6g7h8i9j')
Créditos: Pink, Gracias por su gran ayuda
#ce #############################################################################

Func _Val($Dat)

dim $x, $i, $t, $p, $Final

	For $x = 1 to StringLen ($Dat) 
		$i = StringMid($Dat, $x, 1) 
		$t = StringIsAlpha($i) 
		If $t == 0 Then 
			$p = $p & $i 
		Else 
		EndIf
	Next

$Final = StringReplace($p, ' ', '') 
Return $Final

EndFunc
Explicada:

Código: Seleccionar todo

Func _Val($Dat)

dim $x, $i, $t, $p, $Final

	For $x = 1 to StringLen ($Dat) ; Inicio un bucle recorriendo toda la longitud de la cadena
		$i = StringMid($Dat, $x, 1) ; Vamos cogiendo caracteres, de uno en uno; esta función devuelve una subcadena de una cadena, parámetros(cadena, inicio, numero de caracteres que coje)
		$t = StringIsAlpha($i) ; Esta función revisa si una cadena contiene solamente caracteres alfabéticos. 	Devuelve 0 si la cadena contiene Caracteres no-alfabéticos y 1 si solo contiene caracteres alfabéticos.
		If $t == 0 Then ; Si devuelve 0
			$p = $p & $i ;Almacenamos en una variable, los valores que devolvió 0
		Else ;sino
		EndIf ; nada
	Next

$Final = StringReplace($p, ' ', '') ; Reemplazamos por si existe algún espacio en la cadena, y lo quitamos
Return $Final ;Retorna lo almacenado

EndFunc
Spyren Private Crypter-Binder [Autoit]
Crypter Online 0/35 (Terminado)
Responder

Volver a “Fuentes”