Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/04/2010, 05:40
Avatar de erbuson
erbuson
 
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 15 años
Puntos: 53
Respuesta: Funcion eliminar registro que borra todo

Hola:

Te respondo en este mensaje porque aqui es donde tienes la pregunta y a fin de no liar al foro:

Código vb:
Ver original
  1. Private Sub EliminarRegistro()
  2.   Dim Entrada As Integer, Salida As Integer, Registro As Single
  3.   Dim RegistroDatos As String * 256
  4.  
  5.   Entrada = FreeFile
  6.   Open "Horas.dat" For Random As #Entrada Len = 256
  7.   Salida = FreeFile
  8.   Open "Horas.tmp" For Random As #Salida Len = 256
  9.   ' Bucle desde el segundo hasta el final (el tamaño del archivo dividido por la longitud de registro)
  10.  For Registro = 2 To LOF(Entrada) / 256
  11.     ' Leemos el Registro
  12.    Get #Entrada, Registro, RegistroDatos
  13.     ' Grabamos el nuevo en el siguiente registro (el tamaño del archivo dividido por la longitud) + 1
  14.    Put #Salida, LOF(Salida) / 256 + 1, RegistroDatos
  15.   Next
  16.   Close #Entrada
  17.   Close #Salida
  18.  
  19.   Kill "Horas.dat"
  20.   Name "Horas.tmp" As "Horas.dat"
  21.  
  22. End Sub

Como ves resulta mas simple de lo que parece, pero no me saltes de aqui para allá. Como te decía en el otro mensaje, revisa el código para aprender su función.

No he puesto la comprobación de existencia del anterior que la puedes simplificar en una sóla y yo te aconsejaría utilizarla así

If Dir("Horas.tmp") <> "" Then Kill "Horas.tmp"

porque si por ejemplo el archivo en disco se llama HORAS.TMP no te funcionará porque el nombre Horas.tmp es diferente de HORAS.TMP


Saludos
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...