Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Piccolo intoppo nella programmazione TRASFERIMENTO FILE (vb6)
Forum - Visual Basic 6 - Piccolo intoppo nella programmazione TRASFERIMENTO FILE (vb6)

Avatar
LoL (Normal User)
Newbie


Messaggi: 6
Iscritto: 16/02/2011

Segnala al moderatore
Postato alle 22:18
Mercoledì, 16/02/2011
Carissimi programmatori vi vorrei sottoporre un piccolo problema, vorrei sapere come fare a mandare un file .txt diciamo in modo "automatizzato". Mi spiego meglio. Sto sperimentando l'oggetto winsock e ho creato una piccola applicazione client/server e mi sono posto il problema se io dal mio client do il comando di creare un file .txt nel mio computer o di chi possiede il server come posso poi dal client o dal server riprenderlo? esempio (io dal client creo un file vuoto e a chi possiede il server gli dico di scriverci qualcosa in questo file, poi io voglio leggere ciò che quest'ultimo ha scritto e quindi devo riavere il file) cosa mi consigliate di fare?! Spero di essere stato chiaro e ringrazio anticipatamente per l'attenzione ^^

Ultima modifica effettuata da LoL il 16/02/2011 alle 22:19
PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 10:06
Giovedì, 17/02/2011
si usa il procollo ftp. TU crei il file in una directory leggibile via ftp dall'altro che richiede il file, lo modifica e lo reinvia (sovracrivendo il precedente oppure inserendo quello modificato in una seconda directory)

PM Quote
Avatar
LoL (Normal User)
Newbie


Messaggi: 6
Iscritto: 16/02/2011

Segnala al moderatore
Postato alle 15:50
Giovedì, 17/02/2011
Grazie per la risposta tempestiva, mi scriveresti in vb6 questo procedimento?!

PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 16:04
Giovedì, 17/02/2011
non sono un cameriere che prende ordinazioni.....documentati sul protocollo ftp oppure cerca su google, ci sono tanti ocx già pronti all'uso.

Non è una cosa da due linee di codice comunque.

PM Quote
Avatar
LoL (Normal User)
Newbie


Messaggi: 6
Iscritto: 16/02/2011

Segnala al moderatore
Postato alle 20:50
Giovedì, 17/02/2011
Io non ti ho ordinato niente ho solo fatto una domanda o richiesta nessun ordine :_doubt: cmq ti ringrazio lo stesso per la risposta ^^

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 23:01
Venerdì, 18/02/2011
Testo quotato

Postato originariamente da LoL:

Io non ti ho ordinato niente ho solo fatto una domanda o richiesta nessun ordine :_doubt: cmq ti ringrazio lo stesso per la risposta ^^




nei forum generalmente non si fa richiesta di un codice già pronto, ma dovresti provare a documentarti e scrivere te del codice, poi se hai qualche problema ce lo scrivi qui e noi ti proveremo ad aiutare

PM Quote
Avatar
LoL (Normal User)
Newbie


Messaggi: 6
Iscritto: 16/02/2011

Segnala al moderatore
Postato alle 18:41
Sabato, 19/02/2011
Ok tutto chiaro ^^. Allora io ho cambiato metodo e per inviare il file ho usato il winsock e non le mail. Io vorrei che il mio programma funzionasse senza che io inserisca niente, cioè senza che io inserisca il percorso del file (che sarà costante) e senza dover cliccare su invia o su connetti (anche l'ip sarà costante) quindi all'apertura della form il programma dovrebbe fare tutto solo. Vi posto il mio codice(del client) spero che mi possiate aiutare.
________________________________________________________________________________

Option Explicit
Private Declare Function getsockopt Lib "wsock32.dll" (ByVal s As Long, ByVal Level As Long, ByVal optname As Long, optval As Any, optlen As Long) As Long
Private Const SO_SNDBUF = &H1001
Private Const SOL_SOCKET = &HFFFF&

Private FILEHANDLE As Integer
Private DIMENSIONEPACCHETTO As Long

Private Sub Connetti_Click()
    If Socket.State <> sckClosed Then Socket.Close
    Socket.LocalPort = 0
    Socket.Connect IndirizzoIP.Text, 1500
End Sub

Private Sub Form_Unload(Cancel As Integer)
    If SocketInvio.State <> sckClosed Then SocketInvio.Close
    If Socket.State <> sckClosed Then Socket.Close
    Socket.LocalPort = 0
End Sub

Private Sub Invia_Click()
    Dim POSIZIONE As Integer
    If Socket.State <> sckConnected Then Exit Sub
    If Dir(NomeFile.Text) = "" Then
        MsgBox "Il file non esiste!", vbCritical + vbOKOnly
    Else
        POSIZIONE = 0
        While InStr(POSIZIONE + 1, NomeFile.Text, "\") > 0
            POSIZIONE = InStr(POSIZIONE + 1, NomeFile.Text, "\")
        Wend
        Socket.SendData "/FILE " & Mid(NomeFile.Text, POSIZIONE + 1) & " " & FileLen(NomeFile.Text)
    End If
End Sub

Private Sub SocketInvio_Connect()
    Dim DATI(511) As Byte
    FILEHANDLE = FreeFile
    Open NomeFile.Text For Binary As FILEHANDLE
    Get FILEHANDLE, , DATI
    SocketInvio.SendData DATI
    Call getsockopt(SocketInvio.SocketHandle, SOL_SOCKET, SO_SNDBUF, DIMENSIONEPACCHETTO, Len(DIMENSIONEPACCHETTO))
    If DIMENSIONEPACCHETTO = 0 Then DIMENSIONEPACCHETTO = 8192
End Sub

Private Sub SocketInvio_Close()
    Close FILEHANDLE
    If SocketInvio.State <> sckClosed Then SocketInvio.Close
End Sub

Private Sub Socket_DataArrival(ByVal bytesTotal As Long)
    Dim DATI() As Byte
    Call Socket.GetData(DATI)
    DATI = StrConv(DATI, vbUnicode)
    If Left(DATI, 11) = " +OK: PORTA" Then
        If SocketInvio.State <> sckClosed Then SocketInvio.Close
        SocketInvio.LocalPort = 0
        SocketInvio.Connect Socket.RemoteHostIP, Mid(DATI, 12)
    End If
    If (Left(DATI, 10) = " +OK: RECV") Then
        If FILEHANDLE <> 0 Then
            DATI = Space(DIMENSIONEPACCHETTO / 2)
            Get FILEHANDLE, , DATI
            SocketInvio.SendData DATI
        End If
    End If
    If (Left(DATI, 10) = " +OK: FINE") Then
        Close FILEHANDLE
        SocketInvio.Close
        MsgBox "Trasferimento completato!", vbInformation + vbOKOnly
    End If
End Sub

Ultima modifica effettuata da LoL il 19/02/2011 alle 18:43
PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 18:16
Domenica, 20/02/2011
Dunque tu vorresti inviare del testo dal server verso il client il quale dovrebbe poi salvarlo su un txt?

Se si dimmi dove hai problemi, se nell'invio del testo, o nel salvataggio del testo nel file txt

PM Quote
Avatar
LoL (Normal User)
Newbie


Messaggi: 6
Iscritto: 16/02/2011

Segnala al moderatore
Postato alle 20:54
Domenica, 20/02/2011
Si esatto GrG. Il programma funziona perfettamente (nessun problema) vorrei solo sapere come fare per eseguire tutto questo codice alla sola apertura della form, credi che si possa fare?!

Ultima modifica effettuata da LoL il 20/02/2011 alle 20:57
PM Quote