Visual Basic - no sobrescribir imagen

Life is soft - evento anual de software empresarial
 
Vista:

no sobrescribir imagen

Publicado por soru (7 intervenciones) el 26/08/2006 23:53:05
tengo un problema en mi programa, lo que hace es capturar la pantalla y guardar la imagen, pero si esta ya existe la sobrescribe y no quiero que haga eso, si por ejemplo existe ya uno que se llama captura1 pues que haga otra nueva k sea captura2 asi sucesivamente

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
'Api para generar un evento de tecla
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const KEYEVENTF_KEYUP = 2
'Api para generar una pausa
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

------------------------

Private Sub copiar_Y_Guardar()
On Local Error Resume Next
'Variable para la imagen
Dim imagen As IPictureDisp
keybd_event 44, 0, 0, 0
'mediante Keyevent accionamos la tecla Alt+Printscreen
Set imagen = Clipboard.GetData
DoEvents
'Guardamos la imagen en el directorio especificado
SavePicture imagen, "c:\documents and settings\All users\Escritorio\captura1.bmp"
'eliminamos la imagen de la memoria
Set imagen = Nothing
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:no sobrescribir imagen

Publicado por The Emulator (96 intervenciones) el 27/08/2006 00:27:47
Hola

Bueno aqui te muestro una forma de hacerlo este codigo iria antes de guardar la imagen (Antes SavePicture y borrando esa linea para remplazarla por la que esta al final del codigo)

Dim NumeroArchivo As Integer
Dim Archivo As String
Dim blnExiste As Boolean

While blnExiste <> True
Archivo = Dir("c:\documents and settings\All users\Escritorio\captura" & NumeroArchivo & ".bmp")
If Archivo = "" Then
blnExiste = True
Else
NumeroArchivo = NumeroArchivo + 1
End If
Wend
SavePicture imagen, "c:\documents and settings\All users\Escritorio\captura" & NumeroArchivo & ".bmp"


Te explico que hace el codigo
Como lo que necesitas es si ya existe la imagen 1 guarde la 2 si ya existe la dos guarde la 3..............

El codigo lo que hace es mirar e un ciclo si el archivo X existe si ya existe este archivo se revisa el siguiente X+1, se queda en un ciclo hasta que encuentre un archivo que no existe, al no existir se sale del ciclo. con esto ya sabemos que archivo sigue para ser guardado.

Espero sea lo que necesites.


Saludos
http://www.theemulator.tk
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:no sobrescribir imagen

Publicado por soru (7 intervenciones) el 28/08/2006 08:55:00
muchisimas gracias, me funciono a la perfeccion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar