elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  decir si un caracter es vocal, consonante, número o signo de puntuación
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: decir si un caracter es vocal, consonante, número o signo de puntuación  (Leído 12,428 veces)
minette1988

Desconectado Desconectado

Mensajes: 53


Ver Perfil
decir si un caracter es vocal, consonante, número o signo de puntuación
« en: 24 Mayo 2010, 11:44 am »

Hola, tengo que hacer un script que pida por teclado un carácter y determine si es una vocal, consonante, número o signo de puntuación. ¿Podéis echarme una mano?, ando muy perdida con esto de Visual Basic y el jueves tengo examen. Gracias.


En línea

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: decir si un caracter es vocal, consonante, número o signo de puntuación
« Respuesta #1 en: 24 Mayo 2010, 14:56 pm »

Mira este ejemplo que hice:

Código
  1. Rem añade un TextBox llamado Text1 y un CommandButton llamado Command1
  2.  
  3. Private Sub Command1_Click()
  4.    Call Comprobar_Caracter(Text1.Text)
  5. End Sub
  6.  
  7. Private Sub Form_Load()
  8.    Text1.MaxLength = 1
  9. End Sub
  10.  
  11. Private Sub Comprobar_Caracter(Cadena As String)
  12.    If Len(Cadena) > 1 Then MsgBox "Solo se puede analizar un caracter", vbCritical, "Error": Exit Sub
  13.    Dim Vocal As String, Consonante As String, Numero As String
  14.    Vocal = "aeiou"
  15.    Consonante = "bcdfghjklmnñpqrstvwxyz"
  16.    Numero = "1234567890"
  17.    If Not InStr(1, Vocal, Cadena) = 0 Then
  18.        MsgBox "El caracter """ & Cadena & """ es una vocal", vbInformation
  19.    ElseIf Not InStr(1, Consonante, Cadena) = 0 Then
  20.        MsgBox "El caracter """ & Cadena & """ es una consonante", vbInformation
  21.    ElseIf Not InStr(1, Numero, Cadena) = 0 Then
  22.        MsgBox "El caracter """ & Cadena & """ es un número", vbInformation
  23.    Else
  24.        MsgBox "El caracter """ & Cadena & """ es un símbolo", vbInformation
  25.    End If
  26. End Sub

Espero haberte ayudado... ;)


« Última modificación: 25 Mayo 2010, 02:27 am por *PsYkE1* » En línea

Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: decir si un caracter es vocal, consonante, número o signo de puntuación
« Respuesta #2 en: 24 Mayo 2010, 16:22 pm »

Hola PsYkE1, otra opcion seria

Código:

Option Explicit

Private Sub Form_DblClick()
  Me.Cls
End Sub

Private Sub Form_Load()
  Me.AutoRedraw = True
  StartHook
End Sub

Private Sub Form_Unload(Cancel As Integer)
  StopHook
End Sub



Código:

Option Explicit

Private Declare Function SetWindowsHookEx Lib "user32.dll" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Private Declare Function UnhookWindowsHookEx Lib "user32.dll" (ByVal hHook As Long) As Long
Dim hHook As Long

Public Sub StartHook()
    hHook = SetWindowsHookEx(13, AddressOf KeyProc, App.hInstance, 0)
End Sub
 
Public Sub StopHook()
    Call UnhookWindowsHookEx(hHook)
End Sub
 
Private Function KeyProc(ByVal nCode As Long, ByVal wParam As Long, lParam As Long) As Long

Form1.Caption = lParam
   
If wParam = 257 Then
    If lParam > 47 And lParam < 58 Then
        Form1.Print lParam & vbTab & Chr(lParam) & vbTab & "Numero"
    ElseIf lParam > 64 And lParam < 91 Then
        If lParam = 65 Or lParam = 69 Or lParam = 73 Or lParam = 79 Or lParam = 85 Then
            Form1.Print lParam & vbTab & Chr(lParam) & vbTab & "Letra Vocal"
        Else
            Form1.Print lParam & vbTab & Chr(lParam) & vbTab & "Letra Consonante"
        End If
    Else
        Form1.Print lParam & vbTab & Chr(lParam) & vbTab & "Ni letra ni numero"
    End If
End If

End Function




En línea

Adrian Desanti
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: decir si un caracter es vocal, consonante, número o signo de puntuación
« Respuesta #3 en: 24 Mayo 2010, 16:40 pm »

Muy interesante Dessa!! ;)
En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: decir si un caracter es vocal, consonante, número o signo de puntuación
« Respuesta #4 en: 24 Mayo 2010, 16:57 pm »

Le han hecho la tarea al usuario.
En línea

Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: decir si un caracter es vocal, consonante, número o signo de puntuación
« Respuesta #5 en: 24 Mayo 2010, 17:03 pm »

La proxima te pedimos permiso ...
En línea

Adrian Desanti
[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: decir si un caracter es vocal, consonante, número o signo de puntuación
« Respuesta #6 en: 24 Mayo 2010, 17:03 pm »

un hook para una tarea ta simple, se complicaron mucho ..

PD: Si , ya le hicieron la tarea del cole xD
En línea

Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: decir si un caracter es vocal, consonante, número o signo de puntuación
« Respuesta #7 en: 24 Mayo 2010, 17:06 pm »


Hola PsYkE1, otra opcion seria


me dirigia a PsYkE1, ya que se habló de un tema parecido en otro hilo del foro de VB6








« Última modificación: 24 Mayo 2010, 17:11 pm por Dessa » En línea

Adrian Desanti
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: decir si un caracter es vocal, consonante, número o signo de puntuación
« Respuesta #8 en: 24 Mayo 2010, 17:15 pm »

mmmmm
Teneis razon, quizas le hice los deberes... :-\
Aun asi, me sirvio para aprender una cosa nueva... :)

Salu2!
En línea

cobein


Desconectado Desconectado

Mensajes: 759



Ver Perfil WWW
Re: decir si un caracter es vocal, consonante, número o signo de puntuación
« Respuesta #9 en: 24 Mayo 2010, 19:51 pm »

Me parece que esta manera es mejor para determinar el tipo de caracter puesto que funciona con ê,ñ, etc.

Código:
Option Explicit

Private Declare Function IsCharAlpha Lib "user32" Alias "IsCharAlphaA" (ByVal cChar As Byte) As Long
Private Declare Function IsCharAlphaNumeric Lib "user32" Alias "IsCharAlphaNumericA" (ByVal cChar As Byte) As Long
'-1 - Error
' 0 - Symbol
' 1 - Vowel
' 2 - Consonant
' 3 - Number
Private Function CharacterKind(ByVal sChar As String) As Long
    Dim bChar As Byte
   
    If Len(sChar) = 1 Then
        bChar = Asc(UCase(sChar))
        If IsCharAlphaNumeric(bChar) Then
            If IsCharAlpha(bChar) Then
                Select Case bChar
                    Case 65, 69, 73, 79, 85
                        CharacterKind = 1
                    Case Else
                        CharacterKind = 2
                End Select
            Else
                CharacterKind = 3
            End If
        End If
    Else
        CharacterKind = -1
    End If
   
End Function
En línea

http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines