Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Mostrar el ultimo comentario ingresado, de primero en el Textbox

Estas en el tema de Mostrar el ultimo comentario ingresado, de primero en el Textbox en el foro de Visual Basic clásico en Foros del Web. Les comento rapidamente, estoy realizando la modificacion de un programa (en visual basic 6.0) el cual graba una nota como archivo .txt en una base ...
  #1 (permalink)  
Antiguo 16/03/2010, 17:35
 
Fecha de Ingreso: marzo-2010
Mensajes: 3
Antigüedad: 14 años, 9 meses
Puntos: 0
Mostrar el ultimo comentario ingresado, de primero en el Textbox

Les comento rapidamente, estoy realizando la modificacion de un programa (en visual basic 6.0) el cual graba una nota como archivo .txt en una base de datos, ya he realizado el añadir que en el mensaje que se ponga aparezca el nombre del usuario que lo escribe y la fecha, ahora me hace falta una cosa no tan dificil pero en realidad no he logrado hacerla, es el ordenar los comentarios de la nota es decir que el ultimo comentario ingresado en la nota aparezca de primero

ejemplo: el usuario franco escribio el 13-03-2010 "esto es un mensaje de prueba"

Franco 13-03-2010 Esto es un mensaje de prueba
el usuario franco escribio el 15-03-2010 "Hola"

la manera en la que actualmente se graban es en orden ascendente dentro del .txt

Franco 13-03-2010 Esto es un mensaje de prueba
Franco 15-03-2010 Hola

pero necesito que aparezcan asi en el textbox

Franco 15-03-2010 Hola
Franco 13-03-2010 Esto es un mensaje de prueba

Repito estos comentarios se agregan a un archivo que he llamado Notadelcliente.txt no importa si dentro del archivo .txt no cambian de posicion, lo unico que quiero es que en el textbox aparezca el ultimo comentario ingresado de primero.


de antemano agradezco cualquier tipo de ayuda ya que hace tiempo que no programaba algo en visual basic
  #2 (permalink)  
Antiguo 16/03/2010, 17:37
 
Fecha de Ingreso: marzo-2010
Mensajes: 3
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Mostrar el ultimo comentario ingresado, de primero en el Textbox

esta es la parte del codigo donde agregue lo de "USUARIO" Y "FECHA"

Private Sub cmdguardarnota_Click() ' AR COMENTARIOS EN LAS NOTAS
Dim oCliente As New cCliente
Dim oCliente1 As New cCliente1
If txtcliente_id.Text <> "" Then
oCliente.Buscar_Nom txtcliente_id.Text
End If
If txtCliente_id1.Text <> "" Then
oCliente1.Buscar_Nom txtCliente_id1.Text
End If
If MsgBox("¿Esta Seguro que Desea Agregar el Comentario a la nota?", vbYesNo, ":::: SISTEMA ²º¹º ::::") = vbYes Then
If (oCliente.nombre = cmbNombre.Text) And (cmbNombre.Text <> "") Then
If Format(oCliente.Notas, "") <> Format(txtlc3.Text, "") Then
If oCliente.Notas = "Nota" Or oCliente.Notas = "" Then
oCliente.Notas = "Fecha " + CStr(Date) + " : " + usuario + " , " + Format(CStr(oCliente.Notas), "$##,##0.00") + " a: " + txtlc3.Text
Else
oCliente.Notas = oCliente.Notas + Chr(13) + Chr(10) + " Fecha " + CStr(Date) + " , " + usuario + " " + txtlc3.Text
End If
txtNotas.Text = oCliente.Notas
oCliente.Actualizar_Limite_Credito Format(txtLC.Text, "00000.00")
oCliente.Notas = oCliente.Notas + " Fecha " + CStr(Date) + " , " + usuario + txtlc3.Text
Else
MsgBox "El comentario se ha agregado a la nota", vbExclamation, ":::: SISTEMA ²º¹º ::::"
End If
Else: MsgBox "La Clave del Cliente no coincide con el Nombre, no Habrá Cambio", vbExclamation, ":::: SISTEMA ²º¹º ::::"
End If

MsgBox "La nota ha sido Guardada", vbInformation, ":::: SISTEMA ²º¹º ::::"
End If
End Sub



Y AQUI LES DEJO DONDE SE GUARDA Y EDITA LA NOTA OSEA EL FORMULARIO DE LA NOTA




Dim rs1 As adodb.Recordset
Dim rs2 As adodb.Recordset


Private Sub CmdGrabar_Click()
On Error GoTo Atrapado
Set rs1 = New adodb.Recordset
Set rs2 = New adodb.Recordset

cnn.BeginTrans
rs1.Open "Update CLIENTES Set Notas = ' " & Me.TxtNota.Text & "' where Cliente_Id = " & _
frmCACPC.txtcliente_id.Text, cnn

cnn.CommitTrans

Set rs1 = Nothing
Set rs2 = Nothing

Unload Me

Exit Sub
Atrapado:
MsgBox Err.Description
End Sub

Private Sub Command1_Click()
Unload Me
End Sub

Private Sub Form_Load()
cnn.Close
If cnn.State <> adStateOpen Then
cnn.CursorLocation = adUseClient
cnn.Open "UBICACION DE LA BASE DE DATOS EN EL SERVIDOR "
End If
If cnn1.State <> adStateOpen Then
cnn1.CursorLocation = adUseClient
cnn1.Open "UBICACION DE LA BASE DE DATOS EN EL SERVIDOR DE ACUERDO AL ODBC Y SU IP"
End If
End Sub
  #3 (permalink)  
Antiguo 17/03/2010, 04:31
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 18 años, 4 meses
Puntos: 29
Respuesta: Mostrar el ultimo comentario ingresado, de primero en el Textbox

Lo que puedes hacer es guardar el log a la inversa y así es más fácil de examinar.

Código vb:
Ver original
  1. Option Explicit
  2.  
  3. Private Sub Command1_Click()
  4.   Static Contador As Double
  5.   Contador = Contador + 1
  6.   GuardarDato App.Path & "\FicheroLog.txt", "Prueba " & Contador
  7.  
  8.   ' y mostrar el último dato añadido
  9.  'Text1.Text = LeerUltimoLog(App.Path & "\FicheroLog.txt")
  10.  ' o añadirlo al comienzo:
  11.  Text1.Text = LeerUltimoLog(App.Path & "\FicheroLog.txt") & vbCrLf & Text1.Text
  12. End Sub
  13.  
  14. Function GuardarDato(FicheroLog As String, Dato As String) As Long
  15.   Dim NumFichero As Integer
  16.   Dim Texto As String
  17.   On Local Error GoTo ErrorFunction
  18.   NumFichero = FreeFile
  19.   Open FicheroLog For Binary Access Read Write As #NumFichero
  20.   Texto = input(FileLen(FicheroLog), #NumFichero)
  21.   Close #NumFichero
  22.   If Texto <> "" Then
  23.     Texto = Dato & vbCrLf & Texto
  24.   Else
  25.     Texto = Dato
  26.   End If
  27.   NumFichero = FreeFile
  28.   Open FicheroLog For Output As #NumFichero
  29.   Print #NumFichero, Texto
  30.   Close #NumFichero
  31.   Exit Function
  32. ErrorFunction:
  33.   GuardarDato = Err.Number
  34.   Err.Clear
  35.   On Local Error Resume Next
  36.   Close #NumFichero
  37. End Function
  38.  
  39. Function LeerUltimoLog(FicheroLog As String) As String
  40.   Dim NumFichero As Integer
  41.   On Local Error GoTo ErrorFunction
  42.   NumFichero = FreeFile
  43.   Open FicheroLog For Input As #NumFichero
  44.   Line Input #NumFichero, LeerUltimoLog
  45.   Close #NumFichero
  46.   Exit Function
  47. ErrorFunction:
  48.   Err.Clear
  49.   On Local Error Resume Next
  50.   Close #NumFichero
  51. End Function

Saludos
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!

Última edición por pkj; 17/03/2010 a las 10:35

Etiquetas: comentario, primero, textbox, ultimo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:35.