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