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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Duda Remplazar archivos sin pedir confirmacion de dialogo windows
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda Remplazar archivos sin pedir confirmacion de dialogo windows  (Leído 6,873 veces)
musicaward

Desconectado Desconectado

Mensajes: 25



Ver Perfil WWW
Duda Remplazar archivos sin pedir confirmacion de dialogo windows
« en: 3 Febrero 2009, 20:02 pm »

Por favor borren el tema de aqui:
http://foro.elhacker.net/programacion_general/duda_remplazar_archivo_sin_pedir_confirmacion_de_windows-t244013.0.html

creo q lo hice en un lugar inadecuado era en la sección vb
-------------------------------------------------------------------------------------------

Estaba utilizando este code para remplazar archivos.. pero


Citar
SHCopyFile "archivo.bmp", "C:\archivo.bmp"

quisiera saber si existe una mejor funcion.. que permita que al remplazar los archivos no pida confirmacion de windows para remplazar a otro archivo con el mismo nombre...

Muchas gracias por leer este tema

Tambien tengo otra duda.. si me pudieran dar un ejemplo de como hacer para
buscar un archivo en el directorio con un boton examinar y que la direccion se muestre en un textbox
usar un command para remplazar cierto archivo... a una ruta que indiquemos en vb


por ejemplo q encontremos c:\archivo.txt




En línea

gulabyte

Desconectado Desconectado

Mensajes: 97



Ver Perfil
Re: Duda Remplazar archivos sin pedir confirmacion de dialogo windows
« Respuesta #1 en: 3 Febrero 2009, 20:16 pm »


Sobre lo del botón de examinar busca ejemplos sobre CommonDialog en google, es muy simple...
Respecto a lo de reemplazar un archivo... se me ocurre eliminarlo y luego escribir uno en la misma ruta con el mismo nombe...

no sé es una idea.. ;D

salu10!!



En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Duda Remplazar archivos sin pedir confirmacion de dialogo windows
« Respuesta #2 en: 3 Febrero 2009, 20:18 pm »

Que tal si primero compruebas si existe, en caso de existir lo eliminas y copias el nuevo file?
El VB ya tiene sus propias funciones para copia y eso...

Aqui te hago una funcioncita ;)
Código
  1. Public Sub Reemplazar(ByVal sRuta1 As String, ByVal sRuta2 As String)
  2.    'Si existe el fichero...
  3.    If Len(Dir$(sRuta2, vbArchive)) > 0 Then
  4.        'Primero comprobamos que no tengo atributos ReadOnly(Solo lectura)
  5.        If (GetAttr(sRuta2) And vbReadOnly) Then
  6.            'Le quitamos el solo lectura
  7.            Call SetAttr(sRuta2, GetAttr(sRuta2) - vbReadOnly)
  8.        End If
  9.        'Lo eliminamos
  10.        Call Kill(sRuta2)
  11.    End If
  12.    'Copiamos el fichero...
  13.    Call FileCopy(sRuta1, sRuta2)
  14. End Sub

Y lo del cuadro de dialogo tienes aqui unos lnks ;)
Código:
http://www.recursosvisualbasic.com.ar/htm/tutoriales/control-commondialog.htm
http://www.recursosvisualbasic.com.ar/htm/listado-api/api-27.htm
Te recomiendo si estas empezando el primero ;)

Saludos ;D
En línea

xkiz ™


Desconectado Desconectado

Mensajes: 1.252


Ver Perfil WWW
Re: Duda Remplazar archivos sin pedir confirmacion de dialogo windows
« Respuesta #3 en: 3 Febrero 2009, 20:28 pm »

para reemplazar un archivo podes hacer asi:


Código
  1. ' el primer parametro es el archivo de origen, el 2º parametro es el destino final
  2. FileCopy "C:\archivo1.bmp", "C:\archivo.bmp"
« Última modificación: 3 Febrero 2009, 20:31 pm por xkiz » En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Duda Remplazar archivos sin pedir confirmacion de dialogo windows
« Respuesta #4 en: 3 Febrero 2009, 22:47 pm »

para reemplazar un archivo podes hacer asi:


Código
  1. ' el primer parametro es el archivo de origen, el 2º parametro es el destino final
  2. FileCopy "C:\archivo1.bmp", "C:\archivo.bmp"

Si el esta con atributo Solo Lectura no podras hacer eso...

Saludos ;D
En línea

XcryptOR

Desconectado Desconectado

Mensajes: 228



Ver Perfil
Re: Duda Remplazar archivos sin pedir confirmacion de dialogo windows
« Respuesta #5 en: 4 Febrero 2009, 02:43 am »

mira si quieres usar el api SHFileOperation para copiar un file y si existe reemplazarlo debes usar FOF_NOCONFIRMATION para que no te muestre el mensaje del cual hablas.

aqui te dejo el code:


Código
  1. Option Explicit
  2.  
  3. Private Declare Function SHFileOperation Lib "shell32.dll" _
  4. Alias "SHFileOperationA" ( _
  5. lpFileOp As SHFILEOPSTRUCT) As Long
  6.  
  7. Private Type SHFILEOPSTRUCT
  8.    hWnd                            As Long
  9.    wFunc                           As Long
  10.    pFrom                           As String
  11.    pTo                             As String
  12.    fFlags                          As Long
  13.    fAnyOperationsAborted           As Boolean
  14.    hNameMappings                   As Long
  15.    lpszProgressTitle               As String
  16. End Type
  17.  
  18.  
  19. Private Enum eFO
  20.    FO_COPY = &H2&
  21.    FO_DELETE = &H3&
  22.    FOF_SILENT = &H4&
  23.    FOF_NOCONFIRMATION = &H10&
  24.    FOF_NOCONFIRMMKDIR = &H200&
  25.    FOF_NOERRORUI = &H400&
  26.    FOF_NOCOPYSECURITYATTRIBS = &H800&
  27. End Enum
  28.  
  29. Public Sub mCopyFile(sSource As String, sTarget As String)
  30.  
  31.    Dim SHFileOp As SHFILEOPSTRUCT
  32.  
  33.    sSource = sSource & vbNullChar & vbNullChar
  34.    sTarget = sTarget & vbNullChar & vbNullChar
  35.  
  36.    With SHFileOp
  37.        .wFunc = FO_COPY
  38.        .fFlags = FOF_NOCONFIRMMKDIR + FOF_NOCONFIRMATION
  39.        .hWnd = Form1.hWnd
  40.        .pFrom = sSource
  41.        .pTo = sTarget
  42.    End With
  43.  
  44.    Call SHFileOperation(SHFileOp)
  45. End Sub
  46.  
En línea



musicaward

Desconectado Desconectado

Mensajes: 25



Ver Perfil WWW
Re: Duda Remplazar archivos sin pedir confirmacion de dialogo windows
« Respuesta #6 en: 5 Febrero 2009, 01:18 am »

mira si quieres usar el api SHFileOperation para copiar un file y si existe reemplazarlo debes usar FOF_NOCONFIRMATION para que no te muestre el mensaje del cual hablas.

aqui te dejo el code:


Código
  1. Option Explicit
  2.  
  3. Private Declare Function SHFileOperation Lib "shell32.dll" _
  4. Alias "SHFileOperationA" ( _
  5. lpFileOp As SHFILEOPSTRUCT) As Long
  6.  
  7. Private Type SHFILEOPSTRUCT
  8.    hWnd                            As Long
  9.    wFunc                           As Long
  10.    pFrom                           As String
  11.    pTo                             As String
  12.    fFlags                          As Long
  13.    fAnyOperationsAborted           As Boolean
  14.    hNameMappings                   As Long
  15.    lpszProgressTitle               As String
  16. End Type
  17.  
  18.  
  19. Private Enum eFO
  20.    FO_COPY = &H2&
  21.    FO_DELETE = &H3&
  22.    FOF_SILENT = &H4&
  23.    FOF_NOCONFIRMATION = &H10&
  24.    FOF_NOCONFIRMMKDIR = &H200&
  25.    FOF_NOERRORUI = &H400&
  26.    FOF_NOCOPYSECURITYATTRIBS = &H800&
  27. End Enum
  28.  
  29. Public Sub mCopyFile(sSource As String, sTarget As String)
  30.  
  31.    Dim SHFileOp As SHFILEOPSTRUCT
  32.  
  33.    sSource = sSource & vbNullChar & vbNullChar
  34.    sTarget = sTarget & vbNullChar & vbNullChar
  35.  
  36.    With SHFileOp
  37.        .wFunc = FO_COPY
  38.        .fFlags = FOF_NOCONFIRMMKDIR + FOF_NOCONFIRMATION
  39.        .hWnd = Form1.hWnd
  40.        .pFrom = sSource
  41.        .pTo = sTarget
  42.    End With
  43.  
  44.    Call SHFileOperation(SHFileOp)
  45. End Sub
  46.  

Hola estoy interesado con lo de FOF_NOCONFIRMATION aplique lo que me explicaste pero  me sigue saliendo igual


sera que tenga que aplicar algo mas ?

Citar
SHCopyFile "Archivo.txt", "C:\Archivo.txt"

o el codigo que uso lo estoy aplicando mal...
En línea

XcryptOR

Desconectado Desconectado

Mensajes: 228



Ver Perfil
Re: Duda Remplazar archivos sin pedir confirmacion de dialogo windows
« Respuesta #7 en: 5 Febrero 2009, 01:52 am »

A mi no me pide confirmación, el uso de esta función desde donde lo llames seria así:

por ejemplo haciendo la llamada desde el form:

Código
  1. Private Sub Form_Load()
  2.     call mCopyFile(sSource As String, sTarget As String)
  3. End Sub

PD: no te olvide de estas constantes FOF_NOCONFIRMMKDIR , FOF_NOCONFIRMATION
« Última modificación: 5 Febrero 2009, 01:58 am por XcryptOR » En línea



musicaward

Desconectado Desconectado

Mensajes: 25



Ver Perfil WWW
Re: Duda Remplazar archivos sin pedir confirmacion de dialogo windows
« Respuesta #8 en: 5 Febrero 2009, 02:30 am »

A mi no me pide confirmación, el uso de esta función desde donde lo llames seria así:

por ejemplo haciendo la llamada desde el form:

Código
  1. Private Sub Form_Load()
  2.     call mCopyFile(sSource As String, sTarget As String)
  3. End Sub

PD: no te olvide de estas constantes FOF_NOCONFIRMMKDIR , FOF_NOCONFIRMATION

me vota error de sintaxis sera por q estoy usando vb6..?

En línea

XcryptOR

Desconectado Desconectado

Mensajes: 228



Ver Perfil
Re: Duda Remplazar archivos sin pedir confirmacion de dialogo windows
« Respuesta #9 en: 5 Febrero 2009, 03:08 am »

Perdon hermano, ese fue un error garrafal, casi me muero cuando lo veo aquí esta la forma correcta:
Código
  1. Private Sub Form_Load()
  2.     call mCopyFile("origen", "destino") ' donde origen es el file que quieres copiar y destino es la ruta donde quieres copiarte
  3. End Sub

gracias por hacerme caer en cuenta de este mostruoso error
 :rolleyes:

En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
cuadro de dialogo fuente de Windows
Programación Visual Basic
pynsoluciones 2 1,910 Último mensaje 24 Julio 2012, 09:08 am
por pynsoluciones
Como tener confirmación de copia de archivos vbs
Scripting
pepeponce 2 2,341 Último mensaje 27 Septiembre 2017, 22:19 pm
por pepeponce
Me recomiendan remplazar Windows 10 por Ubuntu?
Dudas Generales
n1sen 2 2,043 Último mensaje 17 Octubre 2017, 01:24 am
por n1sen
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines