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)
| | | | |-+  [SRC] + [Función] Text_Between_Words [by *PsYkE1*]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: [SRC] + [Función] Text_Between_Words [by *PsYkE1*]  (Leído 6,678 veces)
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [SRC] + [Función] Text_Between_Words [by *PsYkE1*]
« Respuesta #10 en: 1 Junio 2010, 00:08 am »

Gracias Black! ;-)
Corregire esos detalles... :P
 :o
Se puede hacer en una linea!
En cuanto a lo del Msgbox lo hice para que fuera mas grafico, para no meter el resultado de la funcion en una variable... :silbar:
Como me recomiendas ponerlo?¿  :huh:

Salu2!  :)


« Última modificación: 1 Junio 2010, 00:14 am por *PsYkE1* » En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [SRC] + [Función] Text_Between_Words [by *PsYkE1*]
« Respuesta #11 en: 1 Junio 2010, 00:48 am »

si se puede en una linea lo malo es que se usan variadas veces   Len() o Instr() o X cosa yo pefiero hacerlo una sola vez aun  que sean mas lineas.

Código
  1.  
  2. Private Function TextoEntreMedio(Texto As String, Palabra1 As String, Palabra2 As String)
  3.    TextoEntreMedio = Left$(Mid$(Texto, InStr(Texto, Palabra1) + Len(Palabra1)), InStr(Mid$(Texto, InStr(Texto, Palabra1) + Len(Palabra1)), Palabra2) - 1)
  4. End Function
  5.  
  6.  

y lo del msgbox como dije no metas nada dentro de una funcion a mi personalmente no me convence por que no es DINAMICO.

A se me paso lo del Mid() cuando uses un string usa Mid$() en lugar de Mid() es cuando tomas X texto y lo almacenas en una variable tipo strinmg o similar!¡.

Dulce Infierno Lunar!¡.


En línea

The Dark Shadow is my passion.
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [SRC] + [Función] Text_Between_Words [by *PsYkE1*]
« Respuesta #12 en: 1 Junio 2010, 00:54 am »

mmmmmmmm
OK
Porque no es aconsejable utilizar muchas veces  Len() o Instr()??  :huh:
Lo de Mid$() lo sabia, pero se me olvido... :P (ya esta corregido)

Gracias!
En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: [SRC] + [Función] Text_Between_Words [by *PsYkE1*]
« Respuesta #13 en: 1 Junio 2010, 03:28 am »

por si no te fijaste, la que posteo BlackZeroX▓▓▒▒░░ , ya te la habia puesto en este post:

[Ayuda] Leer texto web

En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [SRC] + [Función] Text_Between_Words [by *PsYkE1*]
« Respuesta #14 en: 1 Junio 2010, 06:41 am »

mmmmmmmm
OK
Porque no es aconsejable utilizar muchas veces  Len() o Instr()??  :huh:
Lo de Mid$() lo sabia, pero se me olvido... :P (ya esta corregido)

Gracias!

1er Caso:

Donde 12 +5 se repite una sola vez y se usa su resultado:

Código
  1.  
  2. Variable1 = 12 + 5
  3. Variable2 = Variable1 + 7 + 2 + Variable1
  4.  
  5.  



2do Caso:

Donde (12+5) se repite 3 veces.

Código:

Variable1 = (12 + 5) + (12 + 5) + 7 + 2 + (12 + 5)


Ahora imagina que ese (12 + 5) te conlleva 15 segundos:

1er Caso:

Calculo de (12+5 = 15 seg ) + Segundos extras

2do Caso:

Como se repite (12+5) tres veces:

(12+5) = 15 segundos por 3 = 45 segundos + segundos extras

Conclusion: Si puedes almacenar el resultado de una funcion o x dato en una variable será mas optimo por que no se repite el proceso inesesariamente!¡.

En otras Palabras las cosas minimalistas NO SIEMPRE son las mas optimas y adaptables!¡.

P.D.: Como dice Seba123Neo esa funcionla sa que de el post que cito.}

Dulce Infierno Lunar!¡.

« Última modificación: 1 Junio 2010, 06:49 am por BlackZeroX▓▓▒▒░░ » En línea

The Dark Shadow is my passion.
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [SRC] + [Función] Text_Between_Words [by *PsYkE1*]
« Respuesta #15 en: 1 Junio 2010, 09:01 am »

por si no te fijaste, la que posteo BlackZeroX▓▓▒▒░░ , ya te la habia puesto en este post:

[Ayuda] Leer texto web
AJAJAJA :laugh:
No me habia fijado...
Gracias por la explicacion BlackZeroX▓▓▒▒░░! ;)

Salu2!
En línea

cobein


Desconectado Desconectado

Mensajes: 759



Ver Perfil WWW
Re: [SRC] + [Función] Text_Between_Words [by *PsYkE1*]
« Respuesta #16 en: 2 Junio 2010, 05:52 am »

Todas las funciones esas tiene un problema de logica.....

Si, por ejemplo, hago una busqueda asi
    Const StrOri As String = "Miguel Angel Ortega Avila"
    Const StrIni As String = "El"
    Const StrFin As String = "el"

el resultado va a ser nulo porque se comienza a buscar desde el principio en ambas ocasiones y en realidad la segunda palabra se tiene que buscar a partir del final de la primera.....


Código:
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
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.
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [SRC] + [Función] Text_Between_Words [by *PsYkE1*]
« Respuesta #17 en: 2 Junio 2010, 06:55 am »

@Cobein

Código
  1.  
  2. Public Function Entre_Texto(ByRef StrIn As String, ByVal StrIni As String, ByVal StrFin As String, Optional ComparacionEstricta As Boolean) As String
  3. Dim Pos(1) As Long
  4. Dim IniPos As Long
  5. Dim OptionalCompare As VbCompareMethod
  6.  
  7.    If Len(StrIn) > 0 Then
  8.        If ComparacionEstricta Then
  9.            OptionalCompare = vbBinaryCompare
  10.        Else
  11.            OptionalCompare = vbTextCompare
  12.        End If
  13.        Pos(0) = InStr(1, StrIn, StrIni, OptionalCompare)
  14.        Pos(1) = InStr(1, StrIn, StrFin, OptionalCompare)
  15.        If CBool(Pos(0)) And CBool(Pos(1)) And Pos(0) < Pos(1) Then
  16.            IniPos = Pos(0) + Len(StrIni)
  17.            Entre_Texto = Mid$(StrIn, IniPos, Pos(1) - IniPos)
  18.        End If
  19.    End If
  20. End Function
  21. Public Function Entre_Texto_EditCobein(ByRef StrIn As String, ByVal StrIni As String, ByVal StrFin As String, Optional ComparacionEstricta As Boolean) As String
  22.    Dim Pos(1) As Long
  23.    Dim IniPos As Long
  24.  
  25.    If Len(StrIn) Then
  26.        Pos(0) = InStr(1, StrIn, StrIni, Abs(Not ComparacionEstricta))
  27.        If Pos(0) = 0 Then Exit Function
  28.        IniPos = Pos(0) + Len(StrIni)
  29.        Pos(1) = InStr(IniPos, StrIn, StrFin, Abs(Not ComparacionEstricta))
  30.        If Pos(1) = 0 Then Exit Function
  31.        Entre_Texto_EditCobein = Mid$(StrIn, IniPos, Pos(1) - IniPos)
  32.    End If
  33. End Function
  34. Private Sub Form_Load()
  35.    Const StrOri As String = "Miguel Angel Ortega Avila"
  36.    Const StrIni As String = "El"
  37.    Const StrFin As String = "el"
  38.    Debug.Print "BlackZeroX"
  39.    Debug.Print "with true """; Entre_Texto(StrOri, StrIni, StrFin, True); """"
  40.    Debug.Print "with false """; Entre_Texto(StrOri, StrIni, StrFin, False); """"
  41.    Debug.Print "Cobein"
  42.    Debug.Print "with true """; Entre_Texto_EditCobein(StrOri, StrIni, StrFin, True); """"
  43.    Debug.Print "with false """; Entre_Texto_EditCobein(StrOri, StrIni, StrFin, False); """"
  44. End Sub
  45.  
  46.  

Creo que no viste esta linea!¡.

If CBool(Pos(0)) And CBool(Pos(1)) And Pos(0) < Pos(1) Then

Aunque Cbool() se vea un poco demas solo es para compresion igual se quita.

Dulñce Infierno Lunar!¡.
En línea

The Dark Shadow is my passion.
cobein


Desconectado Desconectado

Mensajes: 759



Ver Perfil WWW
Re: [SRC] + [Función] Text_Between_Words [by *PsYkE1*]
« Respuesta #18 en: 2 Junio 2010, 06:57 am »

Código:
       
 IniPos = Pos(0) + Len(StrIni)
 Pos(1) = InStr(IniPos, StrIn, StrFin, Abs(Not ComparacionEstricta))
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.
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [SRC] + [Función] Text_Between_Words [by *PsYkE1*]
« Respuesta #19 en: 2 Junio 2010, 07:01 am »

ya Sorry xP se me paso ¬¬", aunque igual con la comparacion de aquella linea no deja seguir (y mira que postee el formato en este hilo).

Edito:
Aun asi es un error grave!¡.

Dulce Infierno
« Última modificación: 2 Junio 2010, 07:08 am por BlackZeroX▓▓▒▒░░ » En línea

The Dark Shadow is my passion.
Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

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