Autor
|
Tema: Problema file manager (Leído 3,320 veces)
|
Jareth
Desconectado
Mensajes: 334
|
Hola soy yo el pesao de siempre 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: Dim i As Long For i = 0 To File1.ListCount - 1
ws.SendData "list" & File1.List(i)
Next
Cliente: 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
Mensajes: 334
|
Bueno he hecho un Split pero sigue andando algo mal: Servidor: Dim i As Long For i = 0 To Form1.File1.ListCount - 1 Form1.ws.SendData "list" & Form1.File1.Path & "|" & File1.List(i) & "|" Next
Cliente: 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
|
|
|
|
~~
|
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 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
Mensajes: 334
|
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
|
|
|
|
~~
|
Pues ponle dos splits xDD Mira esta seria la estructura: list|archivo#carpeta|archivo#carpeta|archivo#carpeta|archivo#carpeta 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
|
|
|
En línea
|
|
|
|
Jareth
Desconectado
Mensajes: 334
|
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
|
|
|
|
~~
|
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
Mensajes: 334
|
Esta caido,dice file not found
|
|
|
En línea
|
|
|
|
~~
|
Mira aki te dejo el codigo: CLIENTE:modulo: '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: '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: '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: '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
Mensajes: 334
|
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema network-manager versus wicd
GNU/Linux
|
clamide
|
2
|
4,260
|
23 Agosto 2011, 11:47 am
por clamide
|
|
|
Problema con tucan manager
Software
|
d(-_-)b
|
0
|
1,633
|
9 Abril 2012, 17:17 pm
por d(-_-)b
|
|
|
PROBLEMA CON NETWORK MANAGER Y RALINK3070 USB
GNU/Linux
|
ALSER607
|
2
|
2,789
|
5 Febrero 2014, 02:36 am
por ALSER607
|
|
|
WP File Manager: si empleas este plugin, debes actualizarlo ya
Noticias
|
El_Andaluz
|
0
|
1,820
|
2 Septiembre 2020, 23:04 pm
por El_Andaluz
|
|
|
problema con file joker
Software
|
naxo_valladolid
|
0
|
2,467
|
7 Diciembre 2021, 11:08 am
por naxo_valladolid
|
|