Buenas, bueno tengo un problema con un joiner que estoy intentando hacer, se trata de que sólo me enseña el ultimo archivo de todos los que añada, aquí os dejo el code haber que me deciis:

Cliente: ( sólo lo necesario )

Open App.Path & "\stub.exe" For Binary As 1
stub = Space(LOF(1))
Get 1, , stub
Close 1

For i = 1 To Lv.ListItems.Count
all = "|||" & Lv.ListItems.Item(i) & "|||"
Next i


Open App.Path & "\server.exe" For Binary As 1
Put 1, , stub & pit
Put 1, , all & pit
Close 1

MsgBox " FIN "

Pit es una constante que utiliso de split:


Stub:


Open App.Path & "\" & App.EXEName & ".exe" For Binary As 1
stub = Space(LOF(1))
Get 1, , stub
Close 1

sp() = Split(stub, pit) ' separas stub de datos

spo() = Split(sp(1), "|||") ' separas posibles datos con el |||


For i = 0 To UBound(spo)


MsgBox spo(i) ' mensaje con cada archivo !


Next i




Teóricamente me devería hacer un msgbox con la dirección de todos los archivos, sin embargo , sólo me tira el último archivo, el resto no me dice donde están


Saludos
Imagen

http://img844.imageshack.us/img844/8088/mujerrara.jpg
http://img715.imageshack.us/img715/5813/tigree.png
http://img830.imageshack.us/img830/6484/camaleon.png

http://img839.imageshack.us/img839/4944/tigrev2.jpg
http://img843.imageshack.us/img843/443/spidermanxn.png

http://www.youtube.com/watch?v=wHYYkciIKE0
El problema está en que los anteriores archivos no los metes :

Open App.Path & "\stub.exe" For Binary As 1
stub = Space(LOF(1))
Get 1, , stub
Close 1


Open App.Path & "\server.exe" For Binary As #1
Put #1, , stub & pit
Close #1


For i = 1 To Lv.ListItems.Count

all = "|||" & Lv.ListItems.Item(i) & "|||"

Open App.Path & "\server.exe" For Binary As #1
Put #1, Space(LOF(1)+1) , all & pit
Close #1


Next i

MsgBox " FIN "
Asi estaría regular, ya que me imagino que los item's del Listview mostrarán la ruta, osea que tienes que obtener el binario de las rutas y meterlos en una variable, todo esto dentro del for.

Saludos!
Y en teoria no es lo mismo ? , estás metiendo el stub , y luego escribes en +1 el server, y de mi manera lo metes todo con la diferencia de que hay un split nada más. La cosa es que no hay subitems, lo estoy haciendo básico es decir, que solo te muestra la ruta del archivo y ya está. Yo estaba pensando en:

Abres tantos archivos como hallan en el listitem , los obtienes en plan stub, y luego los metes en el server.exe, y lo que yo creo que me falla es el puñetero UBOUND que no tengo practica maldita con él, así que lo que pienso es que luego con el UBOUND saco todos los archivos que hallan, y tiro un msgbox con cáda archivo que halla, teóricamente tirando un msgbox con cada archivo nosé si me devería mostrar la ruta o algo raro xD.

Imagen

http://img844.imageshack.us/img844/8088/mujerrara.jpg
http://img715.imageshack.us/img715/5813/tigree.png
http://img830.imageshack.us/img830/6484/camaleon.png

http://img839.imageshack.us/img839/4944/tigrev2.jpg
http://img843.imageshack.us/img843/443/spidermanxn.png

http://www.youtube.com/watch?v=wHYYkciIKE0
xpro escribió:Y en teoria no es lo mismo ? , estás metiendo el stub , y luego escribes en +1 el server, y de mi manera lo metes todo con la diferencia de que hay un split nada más. La cosa es que no hay subitems, lo estoy haciendo básico es decir, que solo te muestra la ruta del archivo y ya está. Yo estaba pensando en:

Abres tantos archivos como hallan en el listitem , los obtienes en plan stub, y luego los metes en el server.exe, y lo que yo creo que me falla es el puñetero UBOUND que no tengo practica maldita con él, así que lo que pienso es que luego con el UBOUND saco todos los archivos que hallan, y tiro un msgbox con cáda archivo que halla, teóricamente tirando un msgbox con cada archivo nosé si me devería mostrar la ruta o algo raro xD.
Esto está mal :
Por que? porque metes el último archivo, el bucle llega hasta los listitems contados y se va metiendo de uno en uno en la cadena, por lo tanto si lo pones fuera del bucle esto :

Next i

Open App.Path & "\server.exe" For Binary As 1
Put 1, , stub & pit
Put 1, , all & pit
Close 1

Pondrá la última ruta del archivo, ya que ni siquiera obtienes el binario del archivo.
Piensa, no te voy a hacer todo el code, primero porque tengo resaca y segundo porque no tengo ganas.

Saludos!
Tal ves así ?
Client:

Open App.Path & "\stub.exe" For Binary As 1
stub = Space(LOF(1))
Get 1, , stub
Close 1

Open App.Path & "\server.exe" For Binary As 1
Put 1, , stub & pit
Close 1

For i = 1 To Lv.ListItems.Count

all = "|||" & Lv.ListItems.Item(i) & "|||"

Open App.Path & "\server.exe" For Binary As 1
Put 1, Space(LOF(1) + 1), all & pit
Close 1

Next i


Ok según tu es así el cliente, ahora el stub me imagino que será algo asi:



Open App.Path & "\" & App.EXEName & ".exe" For Binary As 1
archivos = Space(LOF(1) - 1)
Get 1, , archivos
Close 1

sp() = Split(archivos, "|||")

For i = 0 To UBound(sp)

MsgBox spo(i)

Next i




El problema es que el cliente me tira error

también probe así:

Open App.Path & "\server.exe" For Binary As 1
Put 1, , stub & pit
Put 1, Space(LOF(1) + 1), all & pit
Close 1

y nada
Imagen

http://img844.imageshack.us/img844/8088/mujerrara.jpg
http://img715.imageshack.us/img715/5813/tigree.png
http://img830.imageshack.us/img830/6484/camaleon.png

http://img839.imageshack.us/img839/4944/tigrev2.jpg
http://img843.imageshack.us/img843/443/spidermanxn.png

http://www.youtube.com/watch?v=wHYYkciIKE0
xpro escribió:Tal ves así ?
Client:

Open App.Path & "\stub.exe" For Binary As 1
stub = Space(LOF(1))
Get 1, , stub
Close 1

Open App.Path & "\server.exe" For Binary As 1
Put 1, , stub & pit
Close 1

For i = 1 To Lv.ListItems.Count

all = "|||" & Lv.ListItems.Item(i) & "|||"

Open App.Path & "\server.exe" For Binary As 1
Put 1, Space(LOF(1) + 1), all & pit
Close 1

Next i


Ok según tu es así el cliente, ahora el stub me imagino que será algo asi:



Open App.Path & "\" & App.EXEName & ".exe" For Binary As 1
archivos = Space(LOF(1) - 1)
Get 1, , archivos
Close 1

sp() = Split(archivos, "|||")

For i = 0 To UBound(sp)

MsgBox spo(i)

Next i




El problema es que el cliente me tira error

también probe así:

Open App.Path & "\server.exe" For Binary As 1
Put 1, , stub & pit
Put 1, Space(LOF(1) + 1), all & pit
Close 1

y nada
Si dijeses el error..
Error "13" en tiempo de ejecución:
No coinciden los tipos



Imagen

http://img844.imageshack.us/img844/8088/mujerrara.jpg
http://img715.imageshack.us/img715/5813/tigree.png
http://img830.imageshack.us/img830/6484/camaleon.png

http://img839.imageshack.us/img839/4944/tigrev2.jpg
http://img843.imageshack.us/img843/443/spidermanxn.png

http://www.youtube.com/watch?v=wHYYkciIKE0
xpro escribió:Error "13" en tiempo de ejecución:
No coinciden los tipos


For i = 1 To UBound(sp)

Prueba haber.. ¬¬
SharkI escribió:
xpro escribió:Error "13" en tiempo de ejecución:
No coinciden los tipos


For i = 1 To UBound(sp)

Prueba haber.. ¬¬

Eso ya lo hice el problema está en el cliente , si fuera en el stub, el problema saltaría al ejecutar el server y nó al a apretar el boton juntar.

edit: además, ahí estoy separando el stub de los archivos, y solo hay un stub por lo que no hace falta un ubound :S
Imagen

http://img844.imageshack.us/img844/8088/mujerrara.jpg
http://img715.imageshack.us/img715/5813/tigree.png
http://img830.imageshack.us/img830/6484/camaleon.png

http://img839.imageshack.us/img839/4944/tigrev2.jpg
http://img843.imageshack.us/img843/443/spidermanxn.png

http://www.youtube.com/watch?v=wHYYkciIKE0
Xpro pasate por la seccion de videotutoriales hice un pequeño tuto para crear un simple joiner.... A lo mejor ahi encuentres la solución a u error!
Imagen
Responder

Volver a “VB/.NET”