Autor
|
Tema: Borrar última línea de un textbox (Leído 12,171 veces)
|
extreme69
Desconectado
Mensajes: 178
Be BlackHat but don't forget your principles.
|
¡Me encantan! son super nerds, aún ya teniendo la solución se ponen a discutir entre ustedes la mejor manera de hacerlo, adoro este foro y sus participantes Pero estoy a favor de un código simple, esto obviamente es parte de un código mas extenso (que a veces son muchisimas páginas de código) así que siempre es bueno mantener el código comentado, corto y simple. Mi solución fue usar un listbox y: 'El último item del listbox List1.ListIndex = List1.ListCount - 1
'Remueve el último item del listbox List1.RemoveItem List1.ListIndex Creo que más simple imposible, también agregué un if para cuando se acaban los items de la lista, sino tira error. ¡Gracias a todos! PD: Lo usé para hacer un "mailer" para enviar newsletters, está basado en php y el software en VB ya que no puedo usar cronjob en un shared hosting con limite de 200 mails por hora, con esto le digo que mande 1 mail cada 30 segundos y son 120 mails por hora, y aún me queda margen para enviar mails manualmente sin caer en el limite, plus, no saturo el sitio con visitas simultaneas (es un hosting malisimo). Buena idea, ¿no? me ahorré un dedicado para un sitio que realmente no lo merece
|
|
« Última modificación: 12 Mayo 2012, 09:08 am por extreme69 »
|
En línea
|
|
|
|
seba123neo
|
para hacer todas estas cosas con el textbox, por ejemplo saber la cantidad de lineas, contar palabras, etc..podes usar la api SendMessage, que te ofrece un monton de funciones para poder trabajar con los textbox y manipularlos a tu antojo. aca hay una implementacion de lo que seria borrar la linea que vos quieras con esta api. aparte con apis es muhco mas rapido si tenes miles de lineas. 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 Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long Private Const EM_SETSEL = &HB1 Private Const EM_GETLINECOUNT = &HBA Private Const EM_LINEINDEX = &HBB Private Sub BorrarLinea(ByVal pNumeroLinea As Long) Dim vComienzo As Long, vFin As Long, vCantLineas As Long With Text1 vCantLineas = SendMessage(.hwnd, EM_GETLINECOUNT, 0, ByVal 0&) Select Case True Case pNumeroLinea > vCantLineas - 1 Exit Sub Case pNumeroLinea = 0 And vCantLineas = 1 vComienzo = 0 vFin = Len(.Text) Case pNumeroLinea = vCantLineas - 1 vComienzo = SendMessage(.hwnd, EM_LINEINDEX, pNumeroLinea, ByVal 0&) - 1 vFin = Len(.Text) - vComienzo + 1 Case Else vComienzo = SendMessage(.hwnd, EM_LINEINDEX, pNumeroLinea, ByVal 0&) vFin = SendMessage(.hwnd, EM_LINEINDEX, pNumeroLinea + 1, ByVal 0&) - vComienzo End Select .SetFocus Call SendMessage(.hwnd, EM_SETSEL, vComienzo, ByVal vFin) LockWindowUpdate .hwnd .SelStart = vComienzo .SelLength = vFin .SelText = vbNullString LockWindowUpdate False End With End Sub Private Sub Command1_Click() Call BorrarLinea(2) ' Borra la tercera linea del textbox End Sub
saludos.
|
|
|
En línea
|
|
|
|
extreme69
Desconectado
Mensajes: 178
Be BlackHat but don't forget your principles.
|
para hacer todas estas cosas con el textbox, por ejemplo saber la cantidad de lineas, contar palabras, etc..podes usar la api SendMessage, que te ofrece un monton de funciones para poder trabajar con los textbox y manipularlos a tu antojo.
aca hay una implementacion de lo que seria borrar la linea que vos quieras con esta api.
aparte con apis es muhco mas rapido si tenes miles de lineas.
Está muy lindo el código, por ahí venía intentando yo, pero sin éxito, de todas formas ya está resuelto de la manera más fácil posible. Gracias.
|
|
« Última modificación: 12 Mayo 2012, 23:29 pm por raul338 »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
tomar de un textbox, cambiar y pegar en otro textbox
Programación Visual Basic
|
Nakp
|
9
|
5,457
|
2 Septiembre 2006, 18:42 pm
por Nakp
|
|
|
[C#] borrar TextBox's en un bucle
.NET (C#, VB.NET, ASP)
|
SRVAM
|
7
|
12,706
|
7 Enero 2010, 00:13 am
por SRVAM
|
|
|
¿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,854
|
25 Noviembre 2010, 16:10 pm
por NightMore
|
|
|
¿Borrar linea 1 de textbox multilinea y que la 2ª, suba a la primera?
.NET (C#, VB.NET, ASP)
|
usuario oculto
|
5
|
10,717
|
4 Agosto 2011, 19:48 pm
por usuario oculto
|
|
|
Borrar texto de un textbox
.NET (C#, VB.NET, ASP)
|
BrokerJoker
|
4
|
6,804
|
30 Enero 2012, 20:09 pm
por Sk9ITk5Z
|
|