Autor
|
Tema: [Resuelto] Como Crear un programa que "identifique cada linea de un textbox"??? (Leído 4,303 veces)
|
agus0
Desconectado
Mensajes: 360
|
Hola, como andan? Bueno... Mi duda es la siguiente Como podria hacer un programa que, por ejemplo yo tuviera un textbox multilinea que diga: hola como andas agus0 foro.elhacker.net
y un Boton que al apretarlo, salga un textbox que diga, "hola", despues uno que diga "como" a continuacion de este "andas" y despues "agus0" y asi sucesivamente. Espero que me allan entendido, Gracias; Felices fiestas y Prospero año nuevo
|
|
« Última modificación: 19 Diciembre 2009, 01:23 am por agus0 »
|
En línea
|
|
|
|
Hasseds
Desconectado
Mensajes: 145
|
Private Sub Command1_Click() Dim s() As String: s = Split(Text1, vbNewLine) Dim x As Integer: For x = 0 To UBound(s) - 1: MsgBox s(x): Next x End Sub
|
|
|
En línea
|
Sergio Desanti
|
|
|
|
Hasseds
Desconectado
Mensajes: 145
|
UBound(s) - 1
|
|
|
En línea
|
Sergio Desanti
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
' API de Windows SendMessage '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Const EM_GETLINECOUNT = &HBA Const EM_LINEFROMCHAR = &HC9 Const EM_LINELENGTH = &HC1 Const EM_LINEINDEX = &HBB
Con esto lo puedes hacer Aquí un ejemplo http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/40.htmP.D.: Te andaba haciendo una funcion mejor que la del link pero al correrla se me crasheo y no tenia nada guardado asi que estodo lo que te pouedo dejar. Dulces Lunas!¡
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
En un Modulo de Clase clsTexboX.cls ' ' ///////////////////////////////////////////////////////////// ' // Web: http://InfrAngeluX.Sytes.Net/ // ' // // ' // |-> Pueden Distribuir Este Codigo siempre y cuando // ' // no se eliminen los creditos originales de este codigo // ' // No importando que sea modificado/editado o engrandesido // ' // o achicado, si es en base a este codigo es requerido // ' // el agradacimiento al autor. // ' ///////////////////////////////////////////////////////////// Option Explicit Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Const EM_GETLINE = &HC4 Private Const EM_GETLINECOUNT = &HBA Private Const EM_LINEFROMCHAR = &HC9 Private Const EM_LINEINDEX = &HBB Private Const EM_LINELENGTH = &HC1 Private vhwnd As Long Public Property Get Textbox_hwnd() As Long: Textbox_hwnd = vhwnd: End Property Public Property Let Textbox_hwnd(vData As Long): vhwnd = vData: End Property Public Function LineCount() As Long LineCount = SendMessage(vhwnd, EM_GETLINECOUNT, 0&, 0&) End Function Public Function LineLen(CharPos As Long) LineLen = SendMessage(vhwnd, EM_LINELENGTH, CharPos, 0&) End Function Public Function GetLineFromChar(CharPos As Long) As Long GetLineFromChar = SendMessage(vhwnd, EM_LINEFROMCHAR, CharPos, 0&) End Function Public Function GetCharFromLine(LineIndex As Long) If LineIndex < LineCount Then GetCharFromLine = SendMessage(vhwnd, EM_LINEINDEX, LineIndex, 0&) End Function Public Function GetLineStr(LineIndex As Long) As String Dim StrArray() As Byte Dim lngLineLen As Long If Not LineIndex >= LineCount Then lngLineLen = LineLen(GetCharFromLine(LineIndex)) If Not lngLineLen < 1 Then ReDim StrArray(lngLineLen + 1) StrArray(0) = lngLineLen And 255 StrArray(1) = lngLineLen \ 256 SendMessage vhwnd, EM_GETLINE, LineIndex, StrArray(0) GetLineStr = Left$(StrConv(StrArray, vbUnicode), lngLineLen) End If End If End Function
En un Formulario... Private Sub Form_Load() Dim ct As clsTexboX Dim i As Long Set ct = New clsTexboX With Text1 .Text = "Clase By HTTP://InfrAngeluX.Sytes.Net/" & vbCrLf & _ "Miguel" & vbCrLf & _ "Angel" & vbCrLf & _ "Ortega" & vbCrLf & _ "Avila" & vbCrLf & _ "Alias" & vbCrLf & _ "BlackZeroX" End With With ct .Textbox_hwnd = Text1.hwnd For i = 0 To .LineCount - 1 MsgBox .GetLineStr(i) Next i End With End Sub
Dulces Lunas!¡
|
|
« Última modificación: 19 Diciembre 2009, 07:15 am por ░▒▓BlackZeroҖ▓▒░ »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
Hasseds
Desconectado
Mensajes: 145
|
Private Sub Command1_Click() Dim s() As String: s = Split(Text1, vbNewLine) Dim x As Integer: For x = 0 To UBound(s) - 1: MsgBox s(x): Next x End Sub
Un split y un for son suficientes.
|
|
|
En línea
|
Sergio Desanti
|
|
|
seba123neo
|
si, la verdad depende lo que uno quiere hacer, pero creo que para lo que quiere le alcanza el split y el for, lo de la api es para algo mas avanzado como un editor de texto o algo parecido, si tenes miles de lineas la api es mucho mas rapida.
|
|
|
En línea
|
|
|
|
agus0
Desconectado
Mensajes: 360
|
A mi con la respuesta de Hasseds me alcanso, G R A C I A S .
Aunque voy a tener en cuenta lo de la API, Gracias ░▒▓BlackZeroҖ▓▒░
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
¿Como crear un textbox y grabar lo que se puse en tal textbox en visual basic 8?
Programación Visual Basic
|
El anonimato
|
3
|
6,539
|
25 Noviembre 2010, 16:10 pm
por NightMore
|
|
|
[Resuelto] TV LG dice: "Power Only Version"
Dudas Generales
|
Krähne
|
2
|
24,584
|
20 Mayo 2011, 22:07 pm
por Krähne
|
|
|
(RESUELTO Gracias ) Ayuda con programa "regresar al inicio"
Programación C/C++
|
Ruben_efl18
|
3
|
2,844
|
16 Abril 2013, 04:11 am
por Ruben_efl18
|
|
|
Programa identifique partes de una linea
Programación C/C++
|
m@o_614
|
5
|
2,841
|
28 Diciembre 2013, 10:14 am
por leosansan
|
|
|
[Resuelto] ¿Cómo se llama el "Theme" de Piccolo (DBZ)?
Foro Libre
|
Br1ant
|
3
|
2,667
|
4 Enero 2015, 00:37 am
por Br1ant
|
|