Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: seba123neo en 3 Junio 2010, 02:32 AM
claro, lo unico que yo nunca la usaria para buscar 2 palabras solas como mostro cobein , que se pueden repetir 500 veces en un texto, la usaria para buscar 2 cadenas bien largas e irrepetibles en el texto, como hice en el ejemplo de la web.
       
 IniPos = Pos(0) + Len(StrIni)
 Pos(1) = InStr(IniPos, StrIn, StrFin, Abs(Not ComparacionEstricta))
				Public Function Entre_Texto(ByRef StrIn As String, ByVal StrIni As String, ByVal StrFin As String, Optional ComparacionEstricta As Boolean) As String
    Dim Pos(1) As Long
    Dim IniPos As Long
 
    If Len(StrIn) Then
        Pos(0) = InStr(1, StrIn, StrIni, Abs(Not ComparacionEstricta))
        If Pos(0) = 0 Then Exit Function
        IniPos = Pos(0) + Len(StrIni)
        Pos(1) = InStr(IniPos, StrIn, StrFin, Abs(Not ComparacionEstricta))
        If Pos(1) = 0 Then Exit Function
        Entre_Texto = Mid$(StrIn, IniPos, Pos(1) - IniPos)
    End If
End Function
 
Private Sub Form_Load()
    Const StrOri As String = "Miguel Angel Ortega Avila"
    Const StrIni As String = "El"
    Const StrFin As String = "el"
 
    'MsgBox Text_Between_Words(StrOri, StrIni, StrFin)
    'MsgBox TextoEntreMedio(StrOri, StrIni, StrFin)
 
    Debug.Print Entre_Texto(StrOri, StrIni, StrFin, True)
    Debug.Print Entre_Texto(StrOri, StrIni, StrFin, False)
End Sub
				
Module Constants;
GUID = {343DB180-2BCC-1069-82D4-00DD010EDFAA};
  vbObjectError = -2147221504;
  vbNullString = ;
  vbNullChar = iant; stdcall;
  function _B_str_Mid(String: BSTR; Start: I4; out Length: ^Variant): BSTR; stdcall;
  function _B_var_Mid(String: ^Variant; Start: I4; out Length: ^Variant): Variant; stdcall;
				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