elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  vb modificar datos list1 a archivo random txt
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: vb modificar datos list1 a archivo random txt  (Leído 1,290 veces)
corlo

Desconectado Desconectado

Mensajes: 53


Ver Perfil
vb modificar datos list1 a archivo random txt
« en: 8 Septiembre 2015, 14:23 pm »

Hola soy Corlo
Estoy intentando modificar los datos de la factura en el list1 en la opcion modificar datos, cuando guardo los datos de la factura lo ha bien, cuando leo la factura lo hace bien, cuando selecciono un elemento del list1 pasa a los text4, text5, text6, lo hace bien, pero cuando cambio los datos de los text4, text5, text6, no me guarda en archivo random los datos cambiados en Guardar_Factura porque tiene que estar guardados en el list1, no se que hago mal.
Si alquien me puede ayudar, gracias.


Código:

'DEFININMOS LOS ELEMENTOS DE LA FACTURA
Private Type Type_Articulos_Factura
    codigo_articulo As String
    nombre_articulo As String
    precio_articulo As String
End Type

Private Type Type_Datos_Factura
    Codigo_Factura As String
    Nombre_Cliente_Factura As String
    Fecha_Factura As String
    Articulos_Factura() As Type_Articulos_Factura
End Type
Dim factura As Type_Datos_Factura

Private Type Type_Indices
    Codigo_Facturas As Integer
    Codigo_Albaranes As Integer
End Type

Dim detalle As Integer
Const Prefix_Facturas = "Fact"  'Asignamos un prefijo a las facturas para cuandos se guarden
Private Indices As Type_Indices

Private Sub Agregar_Articulo(nombre_articulo, codigo_articulo, precio_articulo)
List1.AddItem nombre_articulo & Space(14) & codigo_articulo & Space(27) & precio_articulo
    factura.Articulos_Factura(UBound(factura.Articulos_Factura)).codigo_articulo = codigo_articulo
    factura.Articulos_Factura(UBound(factura.Articulos_Factura)).nombre_articulo = nombre_articulo
    factura.Articulos_Factura(UBound(factura.Articulos_Factura)).precio_articulo = precio_articulo
     ReDim Preserve factura.Articulos_Factura(0 To UBound(factura.Articulos_Factura) + 1)
End Sub

Private Sub Crear_Factura(Codigo_Factura, Nombre_Cliente, Fecha_Factura)
    factura.Codigo_Factura = Codigo_Factura
    factura.Nombre_Cliente_Factura = Nombre_Cliente
    factura.Fecha_Factura = Fecha_Factura
    ReDim Preserve factura.Articulos_Factura(0 To 0)
End Sub


Private Sub Command1_Click()
'Nueva Factura
Text4.SetFocus
 List1.Clear
    Indices.Codigo_Facturas = Indices.Codigo_Facturas + 1
    Label1.Caption = Indices.Codigo_Facturas
    'GUARDAMOS EL CODIGO DE LA NUEVA FACTURA
    Open App.Path & "\Indices.txt" For Binary As #1
    Put #1, , Indices
    Close #1
    Label4.Caption = "Factura:"
   Text1.Text = "Pedro"
   Text2.Text = Date
    Crear_Factura Indices.Codigo_Facturas, Text1.Text, Text2.Text

   
    'Iniciamos la nueva Factura
   
    Command5.Enabled = True
    Command6.Enabled = True
   
   
   
End Sub

Private Sub Command2_Click()
   End
   
End Sub


Private Sub GUARDAR_FACTURA()
factura.Nombre_Cliente_Factura = Text1.Text
factura.Fecha_Factura = Text2.Text


     Open App.Path & "\" & Prefix_Facturas & Indices.Codigo_Facturas & ".TXT" For Binary As #1
     Put #1, , factura
     Close #1
     
     
End Sub

Private Sub Command3_Click()
' modificar datos
If List1.ListIndex < 0 Then
MsgBox "Ningún elemento ha sido seleccionado", vbInformation
Exit Sub
End If



List1.AddItem Text4.Text & Space(14) & Text5.Text & Space(27) & Text6.Text
List1.RemoveItem List1.ListIndex


GUARDAR_FACTURA

Call Command7_Click


End Sub

Private Sub Command5_Click()
GUARDAR_FACTURA
End Sub

Private Sub Command6_Click()
' Agregar articulo al list1
  Agregar_Articulo Text4.Text, Text5.Text, Text6.Text
End Sub

Private Sub Command7_Click()
'leer los datos de la factura
Dim gh As String, lp As String

Text1.Text = ""
Text2.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
List1.Clear
On Error GoTo err:

 If Len(Dir(gh)) <> 0 Then
gh = App.Path & "\" & Prefix_Facturas & Text3.Text & ".TXT"
    Open gh For Binary Access Read Lock Read As #1
   
     Get #1, , factura
   
     Close #1
     Label1.Caption = factura.Codigo_Factura
     Text1.Text = factura.Nombre_Cliente_Factura
     Text2.Text = factura.Fecha_Factura
   
     For total_articulos = 0 To UBound(factura.Articulos_Factura) - 1
     nombre_articulo = factura.Articulos_Factura(total_articulos).nombre_articulo
      codigo_articulo = factura.Articulos_Factura(total_articulos).codigo_articulo
       precio_articulo = factura.Articulos_Factura(total_articulos).precio_articulo
     List1.AddItem nombre_articulo & Space(12) & codigo_articulo & Space(31) & precio_articulo
     
     Next
     
     End If
     
     Exit Sub
err:
MsgBox "Factura no Existe", vbCritical, "ERROR"
Kill gh
End Sub

Private Sub Form_Load()
' leer el numero de la ultima factura
Open App.Path & "\Indices.txt" For Binary As #1
    Get #1, , Indices
    Close #1
 Label1.Caption = Indices.Codigo_Facturas
Command1.Enabled = True
Command5.Enabled = True
End Sub

Private Sub List1_Click()
' leer los datos del list1 a text4.text, text5.text, text6.text
Dim gh As String
Dim total_articulos As Integer
If List1.ListIndex < 0 Then
MsgBox "Ningún elemento ha sido seleccionado", vbInformation
Exit Sub
End If


gh = App.Path & "\" & Prefix_Facturas & Text3.Text & ".TXT"
    Open gh For Binary Access Read Lock Read As #1
   
     Get #1, , factura
      For total_articulos = 0 To List1.ListIndex
   
     Text4.Text = factura.Articulos_Factura(total_articulos).nombre_articulo
     Text5.Text = factura.Articulos_Factura(total_articulos).codigo_articulo
     Text6.Text = factura.Articulos_Factura(total_articulos).precio_articulo
     Next
 
     Close #1

End Sub





En línea

Lekim

Desconectado Desconectado

Mensajes: 268



Ver Perfil
Re: vb modificar datos list1 a archivo random txt
« Respuesta #1 en: 8 Septiembre 2015, 17:01 pm »

Puede que sea porque estás usando el mismo número de archivo #1

Prueba a usar Freefile:
Código
  1. Dim intFile as Integer
  2. intFile = Freefile
  3. ...
  4. Open App.Path & "\Indices.txt" For Binary As intFile
  5.  


« Última modificación: 8 Septiembre 2015, 17:04 pm por Lekim » En línea

corlo

Desconectado Desconectado

Mensajes: 53


Ver Perfil
Re: vb modificar datos list1 a archivo random txt
« Respuesta #2 en: 8 Septiembre 2015, 21:04 pm »

Hola soy Corlo.
Gracias por contestar Lekim.
He echo los cambios que me has dicho y me hace lo mismo, no me guarda los datos una vez modificados GUARDAR_FACTURA, de la opcion MODIFICAR DATOS.


Código:

'DEFININMOS LOS ELEMENTOS DE LA FACTURA
Private Type Type_Articulos_Factura
    codigo_articulo As String
    nombre_articulo As String
    precio_articulo As String
End Type

Private Type Type_Datos_Factura
    Codigo_Factura As String
    Nombre_Cliente_Factura As String
    Fecha_Factura As String
    Articulos_Factura() As Type_Articulos_Factura
End Type
Dim factura As Type_Datos_Factura

Private Type Type_Indices
    Codigo_Facturas As Integer
    Codigo_Albaranes As Integer
End Type

Dim detalle As Integer
Const Prefix_Facturas = "Fact"  'Asignamos un prefijo a las facturas para cuandos se guarden
Private Indices As Type_Indices

Private Sub Agregar_Articulo(nombre_articulo, codigo_articulo, precio_articulo)
List1.AddItem nombre_articulo & Space(14) & codigo_articulo & Space(27) & precio_articulo
    factura.Articulos_Factura(UBound(factura.Articulos_Factura)).codigo_articulo = codigo_articulo
    factura.Articulos_Factura(UBound(factura.Articulos_Factura)).nombre_articulo = nombre_articulo
    factura.Articulos_Factura(UBound(factura.Articulos_Factura)).precio_articulo = precio_articulo
     ReDim Preserve factura.Articulos_Factura(0 To UBound(factura.Articulos_Factura) + 1)
End Sub

Private Sub Crear_Factura(Codigo_Factura, Nombre_Cliente, Fecha_Factura)
    factura.Codigo_Factura = Codigo_Factura
    factura.Nombre_Cliente_Factura = Nombre_Cliente
    factura.Fecha_Factura = Fecha_Factura
    ReDim Preserve factura.Articulos_Factura(0 To 0)
End Sub


Private Sub Command1_Click()
'Nueva Factura
Text4.SetFocus
 List1.Clear
 Dim intFile As Integer
intFile = FreeFile

 
    Indices.Codigo_Facturas = Indices.Codigo_Facturas + 1
    Label1.Caption = Indices.Codigo_Facturas
    'GUARDAMOS EL CODIGO DE LA NUEVA FACTURA
   Open App.Path & "\Indices.txt" For Binary As intFile
    Put #intFile, , Indices
    Close #intFile
    Label4.Caption = "Factura:"
   Text1.Text = "Pedro"
   Text2.Text = Date
    Crear_Factura Indices.Codigo_Facturas, Text1.Text, Text2.Text

   
    'Iniciamos la nueva Factura
   
    Command5.Enabled = True
    Command6.Enabled = True
   
   
   
End Sub

Private Sub Command2_Click()
   End
   
End Sub


Private Sub GUARDAR_FACTURA()
 Dim File As Integer
File = FreeFile
factura.Nombre_Cliente_Factura = Text1.Text
factura.Fecha_Factura = Text2.Text


     Open App.Path & "\" & Prefix_Facturas & Indices.Codigo_Facturas & ".TXT" For Binary As #File
     Put #File, , factura
     Close #File
     
     
End Sub

Private Sub Command3_Click()
' modificar datos
If List1.ListIndex < 0 Then
MsgBox "Ningún elemento ha sido seleccionado", vbInformation
Exit Sub
End If



List1.AddItem Text4.Text & Space(14) & Text5.Text & Space(27) & Text6.Text
List1.RemoveItem List1.ListIndex


GUARDAR_FACTURA

Call Command7_Click


End Sub

Private Sub Command5_Click()
GUARDAR_FACTURA
End Sub

Private Sub Command6_Click()
' Agregar articulo al list1
  Agregar_Articulo Text4.Text, Text5.Text, Text6.Text
End Sub

Private Sub Command7_Click()
'leer los datos de la factura
Dim gh As String, lp As String
 Dim File As Integer
File = FreeFile
Text1.Text = ""
Text2.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
List1.Clear
On Error GoTo err:

 If Len(Dir(gh)) <> 0 Then
gh = App.Path & "\" & Prefix_Facturas & Text3.Text & ".TXT"
    Open gh For Binary Access Read Lock Read As #File
   
     Get #File, , factura
   
     Close #File
     Label1.Caption = factura.Codigo_Factura
     Text1.Text = factura.Nombre_Cliente_Factura
     Text2.Text = factura.Fecha_Factura
   
     For total_articulos = 0 To UBound(factura.Articulos_Factura) - 1
     nombre_articulo = factura.Articulos_Factura(total_articulos).nombre_articulo
      codigo_articulo = factura.Articulos_Factura(total_articulos).codigo_articulo
       precio_articulo = factura.Articulos_Factura(total_articulos).precio_articulo
     List1.AddItem nombre_articulo & Space(12) & codigo_articulo & Space(31) & precio_articulo
     
     Next
     
     End If
     
     Exit Sub
err:
MsgBox "Factura no Existe", vbCritical, "ERROR"
Kill gh
End Sub

Private Sub Form_Load()
' leer el numero de la ultima factura
Dim intFile As Integer
intFile = FreeFile
Open App.Path & "\Indices.txt" For Binary As intFile
    Get #intFile, , Indices
    Close #intFile
 Label1.Caption = Indices.Codigo_Facturas
Command1.Enabled = True
Command5.Enabled = True
End Sub

Private Sub List1_Click()
' leer los datos del list1 a text4.text, text5.text, text6.text
Dim gh As String
Dim total_articulos As Integer
If List1.ListIndex < 0 Then
MsgBox "Ningún elemento ha sido seleccionado", vbInformation
Exit Sub
End If


gh = App.Path & "\" & Prefix_Facturas & Text3.Text & ".TXT"
    Open gh For Binary Access Read Lock Read As #1
   
     Get #1, , factura
      For total_articulos = 0 To List1.ListIndex
   
     Text4.Text = factura.Articulos_Factura(total_articulos).nombre_articulo
     Text5.Text = factura.Articulos_Factura(total_articulos).codigo_articulo
     Text6.Text = factura.Articulos_Factura(total_articulos).precio_articulo
     Next
 
     Close #1

End Sub




En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Manejar archivo .txt desde java (ingresar datos, modificar datos, buscar datos y
Java
chuystoty 9 101,756 Último mensaje 20 Mayo 2012, 06:13 am
por ELMED
sumar datos list1
Programación Visual Basic
corlo 6 1,344 Último mensaje 17 Enero 2016, 16:38 pm
por corlo
archivo secuencial de texto a archivo for random aleatorio
Programación Visual Basic
corlo 1 1,513 Último mensaje 14 Enero 2016, 22:35 pm
por XresH
modificar list1
Programación Visual Basic
corlo 2 844 Último mensaje 9 Marzo 2020, 20:30 pm
por corlo
descontar valor en list1 de la columna 3
Programación Visual Basic
corlo 0 336 Último mensaje 24 Febrero 2021, 00:42 am
por corlo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines