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

[Problema VB6] de FileList y FileCopy (sobreescribe archivos)

Estas en el tema de [Problema VB6] de FileList y FileCopy (sobreescribe archivos) en el foro de Visual Basic clásico en Foros del Web. Holas :p Bueno, como dice el titulo.. La cuestión es que mi novia tiene un celular Nokia 3220 y para pasar las fotos les tiene ...
  #1 (permalink)  
Antiguo 11/02/2007, 13:19
Avatar de (Pato)²  
Fecha de Ingreso: noviembre-2005
Mensajes: 130
Antigüedad: 18 años, 5 meses
Puntos: 1
[Problema VB6] de FileList y FileCopy (sobreescribe archivos)

Holas :p

Bueno, como dice el titulo.. La cuestión es que mi novia tiene un celular Nokia 3220 y para pasar las fotos les tiene que agregar el numerito manual, lo cual es la re paja.. Entonces le dije: no amor, te hago yo uno que te las agrega solo :P

Lo hice asi como me salia porque no se me ocurrian muchas formas de hacerlo con mi poco conocimiento de vb (ahora creo que estoy en condiciones de hacerlo mejor xD)

El problema surge que me sobreescribio imagenes, cuando no tendria que hacerlo, a lo que intuyo que debe ser un error de programacion que obvie..

Asi que paso a relatar el programa (?)

En el formload dos FileList cargan los archivos .jpg, uno carga los de la carpeta origen (a donde se pasan las fotos desde el cel con el Obtener Imagenes (nokia pc suit). Entonces hace un listcount de las imagenes en cada carpeta, asignandole a las imagenes de la carpeta Origen la variable Cantidad (o sea, la cantidad de imagenes a copiar) y a la de destino, la variable Vacante (o sea, la ultima imagen vacante)

En el cmd_click (o sea, en el copiar) Hace un for, desde 1 hasta la cantidad de fotos que hay, sumandole 1 al listindex del origen (asignandole a la variable z el filename del origen) ahora tenemos una cosa que ate con alambre para que las imagenes sean 001, 002, 003, etc (?)
Despues asignamos la direccion de la carpeta + el filename a la variable Origen y la direccion de la carpeta + "imagen" + Vacante + ".jpg" a la variable destino..
Hacemos un FileCopy Origen, Destino
borramos Origen
le sumamos 1 a la variable vacante
se repite el bucle y cuando termina manda msg..


El programa funciono perfecto hasta la foto numero 403, despues, o sea, hoy cuando quiso volver a pasar las fotos como siempre, noto un pequeño problema (?)en vez de agregarse al final de las fotos (o sea, 404, 405, etc (?)) sustituyeron a las imagenes 270, 271, 272, 273, etc :S, por lo cual mi novia perdio como 50 fotos.. Y va a dejar de usar el programa u.u y yo me siento re culpable.. no se, espero que alguien me pueda dar una mano y sepa por que pasa esto..

Aca les dejo source del programa para mas detalles (?)

Código:
Option Explicit
Dim Vacante As Integer, Cantidad As Integer
Dim Origen As String, Destino As String, Vacante2 As String
Private Sub CmdCopiar_Click()
    Dim i As Integer
    Dim z As String
    
    For i = 1 To Cantidad
        File1.ListIndex = i
        z = File1.FileName
        If Vacante < 10 Then
            Vacante2 = "00" & Vacante
        ElseIf Vacante >= 10 And Vacante < 100 Then
            Vacante2 = "0" & Vacante
        ElseIf Vacante >= 100 Then
            Vacante2 = Vacante
        End If
        DoEvents
        Origen = "C:\Documents and Settings\asd\Escritorio\Origen\" & z
        Destino = "C:\Documents and Settings\asd\Escritorio\Destino\" & "Imagen" & Vacante2 & ".jpg"
        FileCopy Origen, Destino
        Kill Origen
        Vacante = Vacante + 1
    Next i
MsgBox "Imagenes copiadas satisfactoriamente", vbOKOnly
End
End Sub
Private Sub Form_Load()
    File1.Path = "C:\Documents and Settings\asd\Escritorio\Origen\"
    File1.Pattern = "*.jpg"
    Cantidad = File1.ListCount
    File2.Path = "C:\Documents and Settings\asd\Escritorio\Destino\"
    File2.Pattern = "*.jpg"
    Vacante = File2.ListCount
End Sub
  #2 (permalink)  
Antiguo 11/02/2007, 20:36
 
Fecha de Ingreso: noviembre-2004
Ubicación: Corrientes, Arg.
Mensajes: 129
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: [Problema VB6] de FileList y FileCopy (sobreescribe archivos)

Creo que el problema viene porque tu novia debe haber sacado a otra carpeta cierta cantidad de fotos, o las borró. Y como en la Load te vales de Vacante = File2.ListCount para establecer el número siguiente, por allí vino el drama.
Creo que la forma de asegurarte de no sobreescribir (FileCopy lo hace sin avisar nada) sería que verifiques por código si cada archivo que vas a grabar no existe ya en el destino, y de ser así cambiarle el nombre.
  #3 (permalink)  
Antiguo 12/02/2007, 12:37
Avatar de (Pato)²  
Fecha de Ingreso: noviembre-2005
Mensajes: 130
Antigüedad: 18 años, 5 meses
Puntos: 1
Re: [Problema VB6] de FileList y FileCopy (sobreescribe archivos)

Muchas gracias, hice eso y ya esta solucionado :)
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 03:23.