SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Toph en Sábado 20 de Mayo de 2006, 00:21

Título: Como Poner Mensaje De Advertencia
Publicado por: Toph en Sábado 20 de Mayo de 2006, 00:21
:) Hola, estoy haciendo un proyecto donde finalmente guardo un archivo .txt, la duda que tengo ahora es que quisiera poner el mensaje de advertencia de: "el archivo tal ya existe ¿desea remplazarlo?"

la rutina con la que guardo el archivo es la siguiente:
Código: Text
  1.  CommonDialog1.CancelError = False  
  2.  CommonDialog1.DialogTitle = "guardar archivo como" 'titulo del cuadro de dialogo
  3. 'filtros para los archivos
  4.    CommonDialog1.Filter = "Archivos de texto (*.txt) |*.txt|"
  5.    CommonDialog1.InitDir = doctext
  6.    CommonDialog1.FileName = ""
  7.    CommonDialog1.ShowSave 'muestra el cuadro de dialogo guardar como
  8.    fichero1 = CommonDialog1.FileName
  9.    num = FreeFile
  10.    If Trim(fichero1) <> "" Then
  11.       Open fichero1 For Binary Access Write As #num
  12.            Put #num, 1, doctext  'guarda los datos en un archivo .txt
  13.     Close #num
  14.        MsgBox "El archivo ha sido guardado" 'indica que el archivo ha sido guardado
  15.     End If
  16.  

funciona perfecto, pero si guardo un archivo con un nombre que ya existe simplemente lo remplaza sin preguntar ¿que se le pone para que haga la pregunta?

cualquier ayuda sera bienvenida

gracias :)
Título: Re: Como Poner Mensaje De Advertencia
Publicado por: cpmario en Sábado 20 de Mayo de 2006, 02:09
Código: Text
  1.     If FileExists(strFname) Then
  2.         gstrMsg = "El nombre de ese archivo ya existe en este disco." & vbCrLf & " ¿Desea Grabarlo con este mismo nombre?"
  3.         gintResponse = MsgBox(gstrMsg, vbQuestion + vbYesNo, gstrAppTitle)
  4.         If gintResponse = vbYes Then
  5.             'Tu código
  6.         End If
  7.     End If
  8.  

Código: Text
  1. Public Function FileExists(sFile As String) As Boolean
  2.     If sFile = "" Then
  3.         FileExists = False
  4.     End If
  5.     On Error Resume Next
  6.     FileExists = ((GetAttr(sFile) And vbDirectory) = 0)
  7. End Function
  8.  
:comp:
Título: Re: Como Poner Mensaje De Advertencia
Publicado por: Toph en Sábado 20 de Mayo de 2006, 03:39
:( probe el codigo que me posteaste pero no lo pude hacer funcionar, lo probe tal como lo pusiste y cambiando de posicion mi codigo porque creo que por lo menos una parte va arriba de la siguiente sentencia que es la que me da el error
Citar
If FileExists(strFname) Then
al llegar aqui me pone el siguiente mensaje de error:

Citar
Error de compilacion:
El tipo de argumento de ByRef no coincide
 :(

ayudaaaaaaaa :(
Título: Re: Como Poner Mensaje De Advertencia
Publicado por: cpmario en Sábado 20 de Mayo de 2006, 06:54
Te adjunto un ejemplo...
:comp:
Título: Re: Como Poner Mensaje De Advertencia
Publicado por: Toph en Domingo 21 de Mayo de 2006, 02:15
:) gracias cpmario el error ocurria porque strFname lo declaraba como variant y debia ser como string. tambien tenia que cambiar algo a mi codigo de guardar, pero al fin funciono  :comp:


 :gracias:
Título: Re: Como Poner Mensaje De Advertencia
Publicado por: Jose Arriagada en Lunes 22 de Mayo de 2006, 15:57
Existe una funcion de VB que te permite saber si existe un archivo o directorio...

If Dir(archivo, vbArchive) = "" Then
  msgbox "Archivo No Existe"
else
  msgbox "Archivo Existe
endif

if Dir(Ruta, vbDirectory) = "" Then
   msgbox "Carpeta Existe"
else
  msgbox "Carpeta No Existe"
endif



Y no tienes que definir nada adicional, solo usarla...
Título: Re: Como Poner Mensaje De Advertencia
Publicado por: charlytos en Viernes 26 de Mayo de 2006, 12:05
en las propiedades del commonDialog hay una propiedad q hace q mire si ya existe el archivo en la ruta especificada...

    CommonDialog1.Flags = 2

Un saludo.