Autor
|
Tema: Crear un Joiner en VB (Leído 6,618 veces)
|
Hendrix
|
Weno, mi intencion es esa... yo ya tengo algo avanzado, pero no se kontinuar....lo que tengo es esto:
4 textbox, dos para la ruta de los archivos y dos para poner su tamaño....
luego creo un exe "virgen" que lo que hace es albergar los dos archivos y luego ejekutarlos....lo que no se hacer es que el archivo virgen los konsiga separar y luego crear y ejekutar... me expliko:
[VIRGEN] [programa1] -----> [Virgen] , [Programa1] , [Programa2] [Programa2]
Esto es lo que no se hacer....
Weno, gracias de todas formas...
Salu2
Hendrix
|
|
|
En línea
|
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
|
|
|
Gorky
|
Es de lo mas facil. Supongo que solo te tengo que decir el algoritmo ya que por lo que dices sabes como va el manejo de archivos.
1.-Al crear el archivo con los tres sub-archivos debes escribir tambien el tamaño de [VIRGEN] y [programa1]. Esto lo haces con FileLen(). 2.-Creas dos variables (una para cada archivo a separar) con el tamaño de cada programa. Esto lo haces con Space(). 3.-Abres el archivo. 4.-Haces Get desde el tamaño de [VIRGEN] y te cogera el primer archivo. 5.-Vuelves a hacer Get. Ahora no definas desde donde ya que el puntero esta en ese lugar. 6.-Haces Put para cada archivo. 7.-Y para terminar ejecutamos con shell().
Creo que ha quedado mas que claro. Si en algo te pierdes pregunta de nuevo.
|
|
|
En línea
|
|
|
|
Hendrix
|
Thank's Gorky!!!! ya lo e pillado en kuanto pueda lo pondre en praktika y si kieren les paso el kode final.... Salu2 a todos Hendrix
|
|
|
En línea
|
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
|
|
|
Hendrix
|
Muren, tengo esto: Private Sub Form_Load() Dim a As String * 9 Dim meu As String Dim dos As String Dim tres As String Dim b As String meu = Space(20480) Open App.Path & "\" & App.EXEName & ".exe" For Binary As #1 Seek (1), LOF(1) - 8 Get #1, , a Close #1 b = Trim(a) Open App.Path & "\" & App.EXEName & ".exe" For Binary As #1 dos = Space(b) Get #1, , meu Get #1, , dos Get #1, , tres Close #1 Open "C:\dos.exe" For Binary As #1 Put #1, , dos Close #1 Open "C:\tres.exe" For Binary As #1 Put #1, , tres Close #1 End End Sub Y me da error. Les expliko el kode: meu es el tamaño del archivo virgen. Dos es el tamaño del archivo 2 y tres del 3. lo que ago aki: Open App.Path & "\" & App.EXEName & ".exe" For Binary As #1 Seek (1), LOF(1) - 8 Get #1, , a Close #1 es sacar el tamaño del archivo 2 que previamente le introduje (esto si me sale bien)... Per luego kuando me krea los archivos el archivo Dos sale kon el tamaño korrekto, pero lo abro kon el HexWorkshop y me sale el numero de su tamaño y todo lo demas en blanko. Abro el archivo 3 y directamente no me pone nada (Todo en blanko).... Donde esta el fallo???? Weno, Gracias de todas maneras... Salu2 a todos Hendrix
|
|
|
En línea
|
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
|
|
|
Hendrix
|
Bien ,ya lo e resuelto...el archivo dos me lo crea correctamente i funciona, ahora lo que me falla es el archivo 3, no me pone nada dentro, me lo crea vacio.... Supongo que es porke no tiene volumen (Space)....Pero no se.. Vamos, que me keda pokito.... Muchas gracias!!!!! Salu2 Hendrix
|
|
|
En línea
|
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
|
|
|
Gorky
|
Es eso. A tres no le has dado Space(). Hazlo y nos cuentas.
|
|
|
En línea
|
|
|
|
Hendrix
|
jejeje Gracias a todos!!! ahora si funciona!!!! le puse el Space y todo listo....
Gracias!!!!
Salu2 a todos
Hendrix
|
|
|
En línea
|
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
|
|
|
Hendrix
|
Ahora me sale un error...lo que ago es que el user pueda elegir la extension. todo funciona, me krea el archivo kon la extension que se le introduce y todo correcto. pero llego a este punto y kreo que es aki que me da el error: Shell ("C:\dos." & ext) Shell ("C:\tres.exe") End Me sale este error: Error '53' en tiempo de ejecucion: No se ha encontrado el archivo Pero al archivo me lo crea correctamente....incluso le e puesto un timer que pasados 2 segundos lo ejekute, pero tampoko funciona... Alguien sabe que pasa??? porke el kode esta korrekto, no leveo ningun fallo... Salu2 Hendrix
|
|
|
En línea
|
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
|
|
|
Gorky
|
Para empezar asegurate que lo que esta en Shell() es exactamente el mismo nombre del archivo con el que hiciste Open(). Despues asegurate de haber cerrado el archivo antes de ejecutarlo. De todas maneras si pones un poco mas de codigo es mas facil detectar el error.
|
|
|
En línea
|
|
|
|
Hendrix
|
les dejo un poko mas de kode:
Open App.Path & "\" & App.EXEName & ".exe" For Binary As #1 Get #1, , meu Get #1, , dos Get #1, , tres Close #1 Open "C:\dos." & ext For Binary As #1 Put #1, , dos Close #1 Open "C:\tres.exe" For Binary As #1 Put #1, , tres Close #1 Shell ("C:\dos." & ext) Shell ("C:\tres.exe") End End Sub
Salu2
Hendrix
|
|
|
En línea
|
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
|
|
|
|
|