|
82
|
Programación / Programación Visual Basic / modificar list1
|
en: 4 Marzo 2020, 23:20 pm
|
Hola soy corlo modificar datos de text1,text2 a list1 del formulario 2 al formulario 1 leer datos de list1 a text1, text2 del formulario 1 al formulario 2 aqui dejo el codigo que tengo hasta ahora en el formulario1 Private Sub Form_Load() List1.AddItem "jorge" & " " & "Ramirez" List1.AddItem "luis" & " " & "Rodriguez" List1.AddItem "pedro" & " " & "Gonzalez"
End Sub
Private Sub List1_DblClick()
'Form2.Text1.Text = List1.List(List1.ListIndex)
Dim i As Integer
Form2.Text1.Text = Mid(List1.Text, 1, InStr(1, List1.Text, " ") - 1) Form2.Text2.Text = Mid(List1.Text, InStr(List1.Text, " ") + 16) i = List1.ListIndex
Form2.Show End Sub
y en el formulario 2 esto
Private Sub Command1_Click() Form1.List1.List(Form1.List1.ListIndex) = Form2.Text1.Text Form1.List1.List(Form1.List1.ListIndex) = Form2.Text2.Text Unload Me End Sub
no logro hacer la modificacion del formulario 2 al formulario 1 gracias
|
|
|
83
|
Programación / Programación Visual Basic / archivo de texto resumen de un mes
|
en: 22 Enero 2020, 15:46 pm
|
hola soy corlo tengo un pequeño problema a la hora de pasar informacion de un archivo de texto , combo1 tengo los 12 meses, y cuando selecciono un mes vaya leyendo en list1. en el formulario hay un combo1, y un list1 en el list1 hay lo iguiente: en el dia 1/1/2020 1 1/1/2020 a 1 1/1/2020 b 1 1/1/2020 c 4 1/1/2020 d 5 11/12/2018 e en dia 2/1/2020 5 2/1/2020 f 7 2/1/2020 g 8 2/1/2020 h 9 2/1/2020 i en dia 3/1/2020 10 3/1/2020 o 11 3/1/2020 p 12 3/1/2020 s y este el codigo: Option Explicit Dim g As Integer Dim i As Integer Dim fencontrada As Boolean
Private Sub Combo1_Click() Dim f_Canal As Long On Error GoTo plo fencontrada = False List1.Clear Select Case Combo1.Text Case "enero": g = 0 Call BuscarItems(List1.List(List1.ListIndex))
Case "febrero": g = 1 Call BuscarItems(List1.List(List1.ListIndex))
Case "marzo": g = 2 Call BuscarItems(List1.List(List1.ListIndex))
Case "abril": g = 3 Call BuscarItems(List1.List(List1.ListIndex))
Case "mayo": g = 4 Call BuscarItems(List1.List(List1.ListIndex))
Case "junio": g = 5 Call BuscarItems(List1.List(List1.ListIndex))
Case "julio": g = 6 Call BuscarItems(List1.List(List1.ListIndex))
Case "agosto": g = 7 Call BuscarItems(List1.List(List1.ListIndex))
Case "septiembre": g = 8 Call BuscarItems(List1.List(List1.ListIndex))
Case "octubre": g = 9 Call BuscarItems(List1.List(List1.ListIndex))
Case "noviembre": g = 10 Call BuscarItems(List1.List(List1.ListIndex))
Case "diciembre": g = 11 Call BuscarItems(List1.List(List1.ListIndex))
End Select
plo: If Not fencontrada Then MsgBox "El Mes " & Combo1.Text & " no existe." Combo1.Text = "" Close f_Canal
End If End Sub
Private Sub Form_Load() Combo1.Clear Combo1.AddItem "enero" Combo1.AddItem "febrero" Combo1.AddItem "marzo" Combo1.AddItem "abril" Combo1.AddItem "mayo" Combo1.AddItem "junio" Combo1.AddItem "julio" Combo1.AddItem "agosto" Combo1.AddItem "septiembre" Combo1.AddItem "octubre" Combo1.AddItem "noviembre" Combo1.AddItem "diciembre" End Sub
Private Sub BuscarItems(ByVal strFecha As String) Dim item As String Dim f_Canal As Long With file Text1.Text = CStr(.Id) Text2.Text = CStr(.Date) Text3.Text = CStr(.Name) End With Open App.Path & "\database.txt" For Random As f_Canal Len = Len(file) Seek (f_Canal), 1 ' posicionar el puntero de lectura al comienzo del fichero (en vb6 es la dirección 1). Do While Not EOF(f_Canal) Get f_Canal, , file With file If (StrComp(strFecha, CStr(.date), vbTextCompare) = 0) Then item = FormatStr(CStr(.id), 4, True) item = FormatStr(item, 12) & _ FormatStr(CStr(.date), 16) & _ FormatStr(.name, 40) Call List1.AddItem(item) End If End With Loop Close f_Canal End Sub
Private Function FormatStr(ByRef Txt As String, ByVal Limite As Integer, Optional ByVal EsNumero As Boolean = False)
If EsNumero Then FormatStr = FormatNumber(Txt, Limite) Else FormatStr = FormatString(Txt, Limite) End If End Function ' Asegura que el texto tenga por tamaño exactamente el valor de límite ' Si es más corto añade espacios a la derecha. Private Function FormatString(ByRef Txt As String, ByVal Limite As Integer) As String Dim k As Integer Dim maximo As Integer k = Len(Txt) k = (Limite - k) If (k > 0) Then FormatString = Txt & Space$(k) ElseIf (k < 0) Then FormatString = Left$(Txt, maximo) Else FormatString = Txt End If End Function 'Asegura que el texto tenga por tamaño exactamente el valor de límite ' OJO: Si es más corto añade 'ceros' a la izquierda. Private Function FormatNumber(ByRef Txt As String, ByVal Limite As Integer) As String Dim k As Integer k = Len(Txt) k = (Limite - k) If (k > 0) Then FormatNumber = String$(k, "0") & Txt ElseIf (k < 0) Then FormatNumber = Left$(Txt, Limite) Else FormatNumber = Txt End If End Function
y en un modulo:
Type Task id As Integer date As Date name As String * 30 End Type
Option Explicit Global file As Task
gracias
|
|
|
84
|
Programación / Programación Visual Basic / Re: cambiar contador a uno al dia siguiente
|
en: 1 Diciembre 2019, 16:07 pm
|
Hola soy Corlo tengo una duda del programa a la hora de entrar nuevo registro funciona bien, pero cuando sales del programa y vuelves ha entrar no te dice los datos introducidos anteriormente del fichero database.txt, te vuelve a entrar id=1. ¿como seria actualizar el valor id del fichero database.txt? gracias
|
|
|
87
|
Programación / Programación Visual Basic / cambiar contador a uno al dia siguiente
|
en: 24 Noviembre 2019, 14:22 pm
|
Hola soy Corlo necesito una ayuda para el siguiente tema La cuestion es que el siguiente programa que he hecho funciona correctamente, pero el problema que hay es que cuando pasa un dia entero que cambie el contador de n=1 en la caja de texto text1.text y que vaya sumando el contador correlativamente dejo el codigo Option Explicit Dim n As Integer
Private Sub Command1_Click() 'Nuevo Open App.Path & "\database.txt" For Random As 1 Len = Len(file)
n = LOF(1) / Len(file)
Get #1, n, file Text1.Text = n + 1 Close #1
Text2.Text = Format(date, "dd/mm/yyyy") Text3.Text = "" Text3.SetFocus End Sub
Private Sub Command2_Click() 'Guardar file.id = Text1.Text file.date = Text2.Text file.name = Text3.Text
Open App.Path & "\database.txt" For Random As 1 Len = Len(file)
n = LOF(1) / Len(file) Put #1, n + 1, file Close #1 End Sub
Private Sub Command3_Click() End End Sub
Private Sub Command4_Click() Unload Me Form2.Show End Sub
Private Sub Form_Load() Open App.Path & "\database.txt" For Random As 1 Len = Len(file)
n = LOF(1) / Len(file)
Get #1, n, file Text1.Text = n + 1
Close #1
Text2.Text = Format(date, "dd/mm/yyyy") End Sub
y en un modulo Type Task id As Integer date As Date name As String * 30 End Type
Option Explicit Global file As Task
Gracias
|
|
|
88
|
Programación / Programación Visual Basic / como hacer un pdf
|
en: 12 Marzo 2019, 23:07 pm
|
hola soy corlo quisiera hacer un pdf del siguiente codigo
en un modulo:
Type Task id As Integer date As Date name As String * 30 End Type
Option Explicit Global file As Task
en el formulario
Private f_Canal As Integer ' canal del fichero.
Private Sub List1_Click() Call BuscarItems(lisFechas.List(lisFechas.ListIndex)) End Sub ' Qué buscamos?: El dato (fecha), que se ha pulsado en list1... ' y lo buscamos en todos los registros del fichero. Private Sub BuscarItems(ByVal strFecha As String) Dim item As String List2.Clear Open App.Path & "\database.txt" For Random As f_canal Len = Len(file) Seek (f_Canal), 1 ' posicionar el puntero de lectura al comienzo del fichero (en vb6 es la dirección 1). Do While Not EOF(f_Canal) Get f_Canal, , file With file If (StrComp(strFecha, CStr(.Date), vbTextCompare) = 0) Then item = FormatStr(CStr(.Id), 6, True) item = FormatStr(item, 12) & _ FormatStr(CStr(.Date), 16) & _ FormatStr(.Name, 44) Call List2.AddItem(item) ' list2, probablemente no precise estar ordenado... End If End With Loop
Close #f_canal End Sub
gracias
|
|
|
90
|
Programación / Programación Visual Basic / pasar informacion de list1 a list2
|
en: 26 Febrero 2019, 19:27 pm
|
hola soy corlo tengo un pequeño problema a la hora de pasar informacion de un archivo de texto de list1, y que vaya leyendo cada dia en list2. en list1 hay lo siguiente: list1 11/12/2018 12/12/2018 13/12/2018 en el list2 hay losiguiente: en el dia 11/12/2018 1 11/12/2018 a 1 11/12/2018 b 1 11/12/2018 c 4 11/12/2018 d 5 11/12/2018 e en dia 12/12/2018 5 12/12/2018 f 7 12/12/2018 g 8 12/12/2018 h 9 12/12/2018 i en dia 13/12/2018 10 13/12/2018 o 11 13/12/2018 p 12 13/12/2018 s Option Explicit Dim n As Integer Dim c As Integer
Private Sub Command1_Click() Unload Me Form1.Show End Sub
Private Sub Form_Load() List1.Clear Open App.Path & "\database.txt" For Random As 1 Len = Len(file) n = LOF(1) / Len(file) c = 1 For c = 1 To n
Get #1, , file
List1.AddItem file.date QuitaDup Next Close #1 End Sub Private Sub QuitaDup() Dim i As Long, X As Long X = List1.ListCount - 1 For i = 0 To List1.ListCount - 2 If List1.List(i) = List1.List(X) Then List1.RemoveItem X Exit For End If Next i End Sub
Private Sub List1_Click() Dim i As Integer Dim ind As Integer List2.Clear Form1.Text1.Text = file.id Form1.Text2.Text = file.date Form1.Text3.Text = file.name ind = List1.ListIndex Open App.Path & "\database.txt" For Random As 1 Len = Len(file) n = LOF(1) / Len(file) For i = 0 To List1.ListCount + 1 If ind <= 0 Then Get #1, i + 1, file
List2.AddItem file.id & " " & file.date & " " & file.name End If Next Close #1 End Sub
y en list2 solamente me lee el primer dia que la rutina es en list1_click y quisiera que me lea el primer dia el segundo dia y el tercer dia. gracias.
|
|
|
|
|
|
|