Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Psyke1 en 30 Junio 2010, 12:01 pm



Título: [SRC] Check_Char [by *PsYkE1*]
Publicado por: Psyke1 en 30 Junio 2010, 12:01 pm
Aqui os dejo esta sencilla función para saber si un caracter es vocal, consonante, numérico o es un símbolo... :P

Código
  1. ' ////////////////////////////////////////////////////////////////
  2. ' // *Autor: *PsYkE1* (miguelin.majo@gmail.com)                 //
  3. ' // *Podeis agrandar o reducir el codigo, siempre y cuando se  //
  4. ' // respete la autoria y se me comuniquen esos cambios.        //
  5. ' // *Visita http://foro.rthacker.net                           //
  6. ' ////////////////////////////////////////////////////////////////
  7. Option Explicit
  8.  
  9. Private Declare Function IsCharAlphaNumeric Lib "user32" Alias "IsCharAlphaNumericA" (ByVal cChar As Byte) As Long
  10.  
  11. Public Function Check_Char(ByVal sChar As String) As Integer
  12.    '0 --> Error
  13.    '1 --> Numérico
  14.    '2 --> Vocálico
  15.    '3 --> Consonante
  16.    '4 --> Simbólico
  17.    Const sVowel As String = "aeiou"
  18.    If Len(sChar) = 1 Then
  19.        If IsCharAlphaNumeric(Asc(sChar)) Then
  20.            If IsNumeric(sChar) Then
  21.                Check_Char = 1
  22.            ElseIf InStr(sVowel, sChar) > 0 Then
  23.                Check_Char = 2
  24.            Else
  25.                Check_Char = 3
  26.            End If
  27.        Else
  28.            Check_Char = 4
  29.        End If
  30.    End If
  31. End Function

Un ejemplo:
Código
  1. Private Sub Form_Load()
  2.    Dim sCharToCheck As String * 1
  3.    sCharToCheck = "/"
  4.    Select Case Check_Char(sCharToCheck)
  5.        Case 1: Debug.Print "El carácter "; sCharToCheck; " es un número"
  6.        Case 2: Debug.Print "El carácter "; sCharToCheck; " es una vocal"
  7.        Case 3: Debug.Print "El carácter "; sCharToCheck; " es una consonante"
  8.        Case 4: Debug.Print "El carácter "; sCharToCheck; " es un símbolo"
  9.        Case Else: Debug.Print "Error al analizar "; sCharToCheck
  10.    End Select
  11. End Sub

Salu2! ;)


Título: Re: [SRC] Check_Char [by *PsYkE1*]
Publicado por: Dreamaker en 30 Junio 2010, 13:38 pm
Yo creo que la gracia mejor sería hacerlo a mano(a ver si dejamos de depender  de las librerias y las api cuando no son necesarias), de todas maneras buen código

;)


Título: Re: [SRC] Check_Char [by *PsYkE1*]
Publicado por: Psyke1 en 30 Junio 2010, 14:37 pm
Ok, pero no se porque tienes tana "fobia" a las APIs... :-\

Salu2 y Gracias! :P


Título: Re: [SRC] Check_Char [by *PsYkE1*]
Publicado por: Dreamaker en 30 Junio 2010, 16:19 pm
No es que le tenga fobia a las api's, sino que siempre es mejor tratar de resolver los problemas por uno mismo manualmente (independientemente del lenguaje que se esté usando) y luego acceder a las funciones propias y/o alcances del lenguaje, es una buena costumbre nada más, cada cual con su manera..

PD: Si no, nos casamos con un lenguaje y eso no hace al programador (y a cuantos les cuesta horrores migrar a otro lenguaje). Es un consejo, nada más ;)


Título: Re: [SRC] Check_Char [by *PsYkE1*]
Publicado por: ssccaann43 © en 30 Junio 2010, 16:27 pm
PsYkE me gusto el codigo...! Buen aporte...!


Título: Re: [SRC] Check_Char [by *PsYkE1*]
Publicado por: raul338 en 30 Junio 2010, 17:31 pm
No es que le tenga fobia a las api's, sino que siempre es mejor tratar de resolver los problemas por uno mismo manualmente (independientemente del lenguaje que se esté usando) y luego acceder a las funciones propias y/o alcances del lenguaje, es una buena costumbre nada más, cada cual con su manera..

PD: Si no, nos casamos con un lenguaje y eso no hace al programador (y a cuantos les cuesta horrores migrar a otro lenguaje). Es un consejo, nada más ;)

Pero en realidad no estamos usando cosas mas alla del lenguaje. Sino de la plataforma

Hay varios lenguajes que tienen sus funciones, si. Esta bien usarlos, si se aprovecha la plataforma mucho mejor


Título: Re: [SRC] Check_Char [by *PsYkE1*]
Publicado por: Dreamaker en 1 Julio 2010, 00:05 am
No es que le tenga fobia a las api's, sino que siempre es mejor tratar de resolver los problemas por uno mismo manualmente (independientemente del lenguaje que se esté usando) y luego acceder a las funciones propias y/o alcances del lenguaje, es una buena costumbre nada más, cada cual con su manera..

PD: Si no, nos casamos con un lenguaje y eso no hace al programador (y a cuantos les cuesta horrores migrar a otro lenguaje). Es un consejo, nada más ;)

Pero en realidad no estamos usando cosas mas alla del lenguaje. Sino de la plataforma

Hay varios lenguajes que tienen sus funciones, si. Esta bien usarlos, si se aprovecha la plataforma mucho mejor

A lo que me refería es a usar las funciones básicas del lenguaje y no todas, no sólo para aprender de donde salen sino porque todos los lenguajes no tienen las mismas funciones y es una buena forma de portabilidad hacerse esa costumbre, lo demás es cambio de sintaxis y algunos agregados :D