bueno me duele ya la chorla de tanto pensar.
al imprimir crei que se referia a imprimir por impresora jajaj.
lo intente con el codigo anterior,aun que le aregle lo del msgbox.
pero no me crea el exe. ni me da error ni nada,asin que hice lo siguiente.
no se mucho de vb aunque me defiendo,no keria hacer el front hasta el final como
siempre,pero he de ponerlo para ejecutar las funciones y no lo logro con call.
----------------------------------------------------
dicho esto no se si el msgbox lo hice bien,si ponemos este codigo nos copiaremos en temp con nombre aleatorio,pero luego no salta el 2º msgbox:MsgBox " abriendo archivo dat" ect ect.
asin que dejo el archivo en temp como si ya huvieramos hecho la 1º funcion de copiarnos y al codigo le kito esto en el front
SiError1 = CopiarParaLeer(App.Path & "\" & App.EXEName & ".exe")
If SiError1 = False Then: Exit Sub: MsgBox "Se ah producido un error en la apertura.", 0, App.EXEName
y lo compilo y tal y me dice : abriendo archivo data el msgbox y luego path/file acess error, como que no encuentra o no puede abrirlo.
el error lo encontre en Open ArchivoTemp For Binary Access Read As #1
yo nunca he copiado un archivo con GetSpecialFolder y menos aleatorio,si dejara el nombre fijo sabria mas o menos que hacer,pero estoy atascao.
el declara LeerlosAlmacenarlos(ArchivoTemp As String) As Boolean
el programa como sabe que ArchivoTemp es 39583.dat por ejemplo,si no tiene ninguna ruta pasada ni na? solo la declara he intenta abrirlo no?
y amigo Karcrack,como ago eso? la ventana siempre esta visible la del front
un salu2 y gracias por contestar.
al imprimir crei que se referia a imprimir por impresora jajaj.
lo intente con el codigo anterior,aun que le aregle lo del msgbox.
pero no me crea el exe. ni me da error ni nada,asin que hice lo siguiente.
no se mucho de vb aunque me defiendo,no keria hacer el front hasta el final como
siempre,pero he de ponerlo para ejecutar las funciones y no lo logro con call.
----------------------------------------------------
dicho esto no se si el msgbox lo hice bien,si ponemos este codigo nos copiaremos en temp con nombre aleatorio,pero luego no salta el 2º msgbox:MsgBox " abriendo archivo dat" ect ect.
asin que dejo el archivo en temp como si ya huvieramos hecho la 1º funcion de copiarnos y al codigo le kito esto en el front
SiError1 = CopiarParaLeer(App.Path & "\" & App.EXEName & ".exe")
If SiError1 = False Then: Exit Sub: MsgBox "Se ah producido un error en la apertura.", 0, App.EXEName
y lo compilo y tal y me dice : abriendo archivo data el msgbox y luego path/file acess error, como que no encuentra o no puede abrirlo.
el error lo encontre en Open ArchivoTemp For Binary Access Read As #1
yo nunca he copiado un archivo con GetSpecialFolder y menos aleatorio,si dejara el nombre fijo sabria mas o menos que hacer,pero estoy atascao.
el declara LeerlosAlmacenarlos(ArchivoTemp As String) As Boolean
el programa como sabe que ArchivoTemp es 39583.dat por ejemplo,si no tiene ninguna ruta pasada ni na? solo la declara he intenta abrirlo no?
y amigo Karcrack,como ago eso? la ventana siempre esta visible la del front
un salu2 y gracias por contestar.
Código [Seleccionar]
'Declaracion globar que almacena la ruta completa del _
fiochero DAT
Dim FicheroDAT As String
'Declaracion global que almacena la ruta completa del _
fichero Ejecutable.
Dim conenido As String
'Declaracion global que almacena los bits descifrados
'Cuando se ejecute el fichero.
Private Sub Form_Load()
'Llamamos a la funcion CopiarParaLeer que nos copia a un _
fichero .dat
SiError1 = CopiarParaLeer(App.Path & "\" & App.EXEName & ".exe")
If SiError1 = False Then: Exit Sub: MsgBox "Se ah producido un error en la apertura.", 0, App.EXEName
'Llamamos a la funcion que lee y almacena los bits cifrado _
en una variable y los desciframos.
SiError2 = LeerlosAlmacenarlos(FicheroDAT)
If SiError2 = False Then: Exit Sub: MsgBox "Se ah producido un error en la apertura.", 0, App.EXEName
End Sub
Private Function CopiarParaLeer(MiRuta As String) As Boolean
Dim z
Dim t As Integer
Dim i As Integer
Dim FSO As Object
'Si se produce algun error salta a la etiqueta "NoCopio"
'creo el objeto
Set FSO = CreateObject("Scripting.FileSystemObject")
'Activamos randomize para que VB sepa que vamos a crear una _
funcion que corresponde al "azar"
Randomize
'La variable "z" va a contener un nombre al azar para _
la copia, dicho nombre tendra 5 numeros:
For i = 1 To 5
't va a tener un numero al azar del 0 al 9
t = Int(Rnd * 9)
z = z & t
Next i
MsgBox "copiando archivo dat"
'Nos copiamos al directorio temporal con un nombre aleatorio.
FileCopy MiRuta, FSO.GetSpecialFolder(2) & "\" & z & ".dat"
'Si todo anduvo bien (porque llegamos a esta linea) _
debovemos true y almacenamos el fichero DAT en variable
FicheroDAT = FSO.GetSpecialFolder(2) & "\" & z & ".dat"
CopiarParaLeer = True
'Escribimos la etiqeta NoCopio
NoCopio:
CopiarParaLeer = False
End Function
Private Function LeerlosAlmacenarlos(ArchivoTemp As String) As Boolean
'Declaramos el array ContDividido
Dim ContDividido() As String
'Si hya error saltamos a la etiquero "Fallo"
MsgBox " abriendo archivo dat"
'Abrimos el arcihvo DAT de forma binaria
Open ArchivoTemp For Binary Access Read As #1
'Almacenamos en "Contenido" los bits del stub y del fichero original
Get #1, , Contenido
'Cerramos el archivo
Close #1
MsgBox contenido, vbInformation
End Function
[code]
[/code]