Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Dark_Knight en 25 Octubre 2005, 09:24 am



Título: AYUDA CON CODIGO DE TRANSFERENCIA...
Publicado por: Dark_Knight en 25 Octubre 2005, 09:24 am
Hola

Tengo un problema.. este codigo es para hacer la transferencia de archivos pero.... el problema es que al hacer la transferencia.... como le puedo hacer para crear el archivo en donde yo le diga... porque... por ejemplo.. yo tengo los formularios en una carpeta, al hacer la transferencia, el archivo se crea en la misma carpeta y nose como hacerle para crear el archivo en otra parte ó en donde yo le indique... ya que primero intente que el archivo se cree en donde sea y luego se descarge  todo el archivo completo y se coloque en donde yo le diga... pero creo que eso no sirve ó es imposible... pero luego pense.. lo que tengo que hacer es crear el achivo en donde yo le indique y luego que empieze la descarga de todo el archivo completo.. pero ese es el problema.. que no se como hacerle para crear primero el archivo en donde yo le indique y que despues se empieze a descargar el achivo completo...

Les dejo el codigo para ver si me pueden ayudar...   

Código:
[/


SERVER

Dim WithEvents ws1 As CSocketMaster
Dim sz
Dim Size As Integer

Private Sub Form_Load()
Set ws1 = New CSocketMaster
Set ws2 = New CSocketMaster
ws1.LocalPort = "666"
ws1.Listen
Size = 0
End Sub

Private Sub ws1_ConnectionRequest(ByVal idrequest As Long)
ws1.CloseSck
ws1.Accept idrequest
End Sub

Private Sub ws1_dataarrival(ByVal bytesTotal As Long)
Dim data As String
Dim data4 As String
Dim data2 As String
Dim data3 As String
Dim data5 As String
Dim data6 As String
Dim data7 As String
Dim data8 As String

ws1.GetData data, vbString

If Mid(data, 1, 4) = "hola" Then
Label4.Caption = Right(data, Len(data) - (4))
End If

data2 = Left(data, 4)
Select Case data2
Case "rqst"


data3 = Right(data, Len(data) - (4))

ws1.SendData "okay"
Label4.Caption = data3
data5 = Split(data3, ".")(1)
data6 = "*." & data5
data7 = "Orignal extension (" & data6 & ") |All Files (*.*)|*.*"

Label3.Caption = data7

data4 = Label4.Caption

Open data4 For Binary As #1
Exit Sub

Case "EnDf"
Label1.Caption = "File revieved.Size of file : " & sz & " Kb"
Size = 0
sz = 0

Close #1
Case Else

Size = Size + 1
sz = Size * 8
Label1.Caption = sz & "Kb Recieved"

Put #1, , data
End Select
End Sub

CLENTE

Dim WithEvents ws1 As CSocketMaster
Dim fname As String
Dim fnamea As String
Dim datos As String
Private Const chunk = 8000

Private Sub Command1_Click()
ws1.Connect Text3, "666"
End Sub

Private Sub Command2_Click()
cd1.ShowOpen
If vbOK Then Text1 = cd1.FileName
End Sub

Private Sub Command3_Click()
If Text1.Text = "" Then
MsgBox "Coloca el nombre y la direccion del archivo!!!", , "ATENCION"
Exit Sub
End If
fname = Text1.Text
If Dir(fname) = "" Then
MsgBox "El archivo no existe", , "ATENCION"
Exit Sub
End If
fnamea = GetFileName(Text1.Text)
Dim temp2 As String
temp2 = "rqst" & fnamea
ws1.SendData temp2

End Sub
Private Sub send(fname As String)
Command2.Enabled = False
Command3.Enabled = False
Text1.Enabled = False

Dim data As String
Dim a As Long
Dim data1 As String
Dim data2 As String

enviar "hola" & Text2.Text

Open fname For Binary As #1

Do While Not EOF(1)
data = Input(chunk, #1)
ws1.SendData data

DoEvents
Loop

ws1.SendData "EnDf"
Close #1
Command2.Enabled = True
Command3.Enabled = True
Text1.Enabled = True

End Sub

Function GetFileName(attach_str As String) As String
    Dim s As Integer
    Dim temp As String
    s = InStr(1, attach_str, "\")
    temp = attach_str
    Do While s > 0
        temp = Mid(temp, s + 1, Len(temp))
        s = InStr(1, temp, "\")
    Loop
    GetFileName = temp
End Function

Private Sub Command6_Click()
ws1.CloseSck

End Sub

Private Sub Form_Load()
Set ws1 = New CSocketMaster
Set ws2 = New CSocketMaster
End Sub

Private Sub ws1_dataarrival(ByVal bytesTotal As Long)
Dim response As String
ws1.GetData response, vbString
Select Case response
Case "okay"
send fname
End Select

End Sub

Private Function enviar(data As String)
ws1.SendData data
End Function

En la segunda caja de texto.. intente poner la direccion donde yo queria que se descargara el archivo... y al mandarlo al server.. se colocaria en el label4 la direccion junto con el archivo... pero no funciono y tambien intente mandar el nombre del archivo en el label2 y aparte la direccion en el label4.. pero tampoco funciono... porque primero debo crear el archivo en donde yo le indique, para que despues se envie el archivo completo

El label2 es este.... solo se cambia el label4.caption = data3 por label2.caption = data3

ws1.SendData "okay"
Label2.Caption = data3
data5 = Split(data3, ".")(1)
data6 = "*." & data5
data7 = "Orignal extension (" & data6 & ") |All Files (*.*)|*.*

Les mando un saludo... y GRACIAS... :)


]