Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Amazon porta i colori sul suo Kindle da scrittura più grande: schermo Colorsoft a 11 pollici, processore quad-core, penna premium più reattiva e strumenti IA per le note, sono le note salienti. Il salto di prezzo rispetto al modello in bianco e nero si fa sentire, anche se la percezione è quella di trovarsi di fronte a un prodotto di fascia altissima, per veri appassionati
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
Abbiamo intervistato Sumit Dhawan, CEO di Proofpoint, per capire come stia cambiando il mondo della sicurezza con l'avvento dell'intelligenza artificiale e con il ritmo sempre più serrato a cui vengono trovate vulnerabilità nel software. Un problema significativo, che richiederà del tempo per essere risolto (o quantomeno arginato)
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
La parola d'ordine al Nextcloud Summit 2026, che si è tenuto a Monaco, è stata "sovranità". Non come è spesso usato questo termine in politica ma, al contrario, come capacità positiva di decidere il proprio destino tecnologico, con modalità collaborative e aperte. L'Europa dice già molto nel mondo open source, che viene visto come mezzo per ottenere la tanto agognata autonomia digitale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-10-2003, 14:48   #1
djcuca
Senior Member
 
Iscritto dal: May 2003
Città: Taranto
Messaggi: 418
FIle Transfer VB

ciao raga ho trovato su internet un sorgente per fare un file Transfer in Vb(io nn conosco il vb ) cmq l'ho migliorato nell'aspetto e ho aggiunto altre cose..ma mi servirebbe sapere cm posso inserire un contatore della velocità di trasferimento e il tempo restante...grazie
__________________
11001010110011001010
djcuca è offline   Rispondi citando il messaggio o parte di esso
Old 28-10-2003, 15:47   #2
bsummer
Senior Member
 
L'Avatar di bsummer
 
Iscritto dal: Oct 2002
Messaggi: 487
Un esempio su come fare per vedere quanti bytes sono stati inviati te lo può dare il sorgente presente a questo link (evento sendProgress, in particolare).

http://www.ostrosoft.com/vb/projects/transfer.asp

Per quanto riguarda il tempo potresti usare l'istruzione Time per ottenere l'ora di sistema...puoi salvarti in una variabile l'ora in cui è iniziato il download del file ed in base al n° di bytes inviati e l'ora attuale puoi calcolarti la velocità media e una stima del tempo che impiegherà a scaricare il resto...

Aloha!
bsummer è offline   Rispondi citando il messaggio o parte di esso
Old 28-10-2003, 15:51   #3
djcuca
Senior Member
 
Iscritto dal: May 2003
Città: Taranto
Messaggi: 418
si avevo gia visto quel sorgente...
cmq potresti darmi una mano in +? nn conosco il vb...magari se hai tempo ad aiutarmi ..(se mi aggiungi qualkosa al sorgente)così poi leggendolo capisco..
__________________
11001010110011001010
djcuca è offline   Rispondi citando il messaggio o parte di esso
Old 28-10-2003, 16:00   #4
bsummer
Senior Member
 
L'Avatar di bsummer
 
Iscritto dal: Oct 2002
Messaggi: 487
Per aiutarti non c'è problema, ma se fosse possibile preferirei vedere il sorgente che usi tu e fare le modifiche su quello

Aloha!
bsummer è offline   Rispondi citando il messaggio o parte di esso
Old 28-10-2003, 16:06   #5
djcuca
Senior Member
 
Iscritto dal: May 2003
Città: Taranto
Messaggi: 418
certo..te lo scrivo qui se è possibile..allora

SERVER
----------------------

Option Explicit

Dim lPos As Long
Dim bOK As Boolean
Dim fname As String

Private Sub cmdRun_Click()
If cmdRun.Caption = "Run" Then
cmdRun.Caption = "Stop"
wsTCP(0).LocalPort = 1111
wsTCP(0).Listen
Else
wsTCP(0).Close
cmdRun.Caption = "Run"
End If
End Sub

Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive & "\"
End Sub



Private Sub wsTCP_Close(Index As Integer)
Close #1
Unload wsTCP(1)
bOK = False
End Sub

Private Sub wsTCP_ConnectionRequest(Index As Integer, ByVal requestID As Long)
Load wsTCP(1)
If wsTCP(0).RemoteHostIP = txt_secure Then
wsTCP(1).Accept requestID
lblip = wsTCP(0).RemoteHostIP
Else
wsTCP(1).Close
lbl_lamer = wsTCP(0).RemoteHostIP
End If
End Sub

Private Sub wsTCP_DataArrival(Index As Integer, ByVal bytesTotal As Long)
If Not bOK Then
wsTCP(1).GetData fname
If InStr(fname, vbCrLf) <> 0 Then fname = Left(fname, InStr(fname, vbCrLf) - 1)
bOK = True
If Dir(Dir1.Path & "\" & fname) <> "" Then Kill Dir1.Path & "\" & fname
Open Dir1.Path & "\" & fname For Binary As 1
lPos = 1
wsTCP(1).SendData "OK" & vbCrLf
Else
Dim buffer() As Byte
wsTCP(1).GetData buffer
Put #1, lPos, buffer
lPos = lPos + UBound(buffer) + 1
End If
End Sub

---------------------------------------------------------------


Client
------------------------------
Option Explicit

Dim buffer() As Byte
Dim lBytes As Long
Dim temp As String

Private Sub cmdBrowse_Click()
dlg.ShowOpen
txtFile = dlg.FileName
End Sub

Private Sub cmdSend_Click()
cmdSend.Enabled = False
lBytes = 0
ReDim buffer(FileLen(dlg.FileName) - 1)
Open dlg.FileName For Binary As 1
Get #1, 1, buffer
Close #1
Load wsTCP(1)
wsTCP(1).RemoteHost = txtIP
wsTCP(1).RemotePort = 1111
wsTCP(1).Connect
lblStatus = "Connecting..."
End Sub



Private Sub wsTCP_Close(Index As Integer)
lblStatus = "Connection closed"
Unload wsTCP(1)
End Sub

Private Sub wsTCP_Connect(Index As Integer)
lblStatus = "Connected"

wsTCP(1).SendData dlg.FileTitle & vbCrLf
End Sub

Private Sub wsTCP_DataArrival(Index As Integer, ByVal bytesTotal As Long)
wsTCP(1).GetData temp
If InStr(temp, vbCrLf) <> 0 Then temp = Left(temp, InStr(temp, vbCrLf) - 1)
If temp = "OK" Then
wsTCP(1).SendData buffer
Else
lblStatus = "Something wrong"
Unload wsTCP(1)
cmdSend.Enabled = True
End If
End Sub

Private Sub wsTCP_SendComplete(Index As Integer)
If temp = "OK" Then
lblStatus = "Send complete"
temp = ""
Unload wsTCP(1)
cmdSend.Enabled = True
End If
End Sub

Private Sub wsTCP_SendProgress(Index As Integer, ByVal bytesSent As Long, ByVal bytesRemaining As Long)
If temp = "OK" Then
lBytes = lBytes + bytesSent
lblStatus = lBytes & " out of " & UBound(buffer) & " bytes sent"
End If
End Sub
-------------------------------------------


grazie!!
__________________
11001010110011001010
djcuca è offline   Rispondi citando il messaggio o parte di esso
Old 28-10-2003, 16:29   #6
bsummer
Senior Member
 
L'Avatar di bsummer
 
Iscritto dal: Oct 2002
Messaggi: 487
Il codice mi sembra uguale a quello del link che ti ho postato, o sbaglio?

Allora, le modifiche sono solo sulla parte del Client...il server non l'ho neanche guardato.

Timer è la funzione che restituisce il n° di secondi trascorsi dalla mezzanotte.

In tempoiniziale salvo quanti secondi sono trascorsi dalla mezzanotte. In questo modo posso sapere quando l'applicazione ha iniziato ad inviare dati.
L'evento sendProgress è generato durante l'invio dei dati: in questo evento salvo sulla variabile tempoAttuale il valore di Timer...faccio un controllo se questo nuovo valore è inferiore al tempoiniziale (in tal caso significa che ho passato la 1/2notte e quindi aggiungo 86400, cioè il n° di secondi che ci sono in un giorno).
Facendo la differenza tempoattuale - tempoiniziale ottengo quanti secondi sono passati dall'inzio dell'invio dei dati. lBytes mi tiene memoria di quanti dati ho inviato e quindi conoscendo i secondi trascorsi è facile calcolare la velocità media d'invio. Poi sapendo tale velocità e avendo in bytesRemaining il n° di bytes che devono essere ancora inviati è altrettanto facile calcolare una stima del tempo d'attesa rimanente.

Qui è stato facile perchè si invia tutto il file in una volta sola, quindi nell'evento sendProgresse so quanti bytes mi mancano...se il file fosse letto man mano da disco le cose cambierebbero. Non so se sto programma funziona per file molto grandi...


Codice:
'da aggiungere alle variabili globali
dim tempoiniziale


Private Sub wsTCP_DataArrival(Index As Integer, ByVal bytesTotal As Long)
    wsTCP(1).GetData temp
    If InStr(temp, vbCrLf) <> 0 Then temp = Left(temp, InStr(temp, vbCrLf) - 1)
    If temp = "OK" Then
	
	' salvo il tempo corrente
	tempoiniziale = Timer

        wsTCP(1).SendData buffer
    Else
        lblStatus = "Something wrong"
        Unload wsTCP(1)
        cmdSend.Enabled = True
    End If
End Sub



Private Sub wsTCP_SendProgress(Index As Integer, ByVal bytesSent As Long, ByVal bytesRemaining As Long)

dim velocitàmedia, temporestante, tempoattuale


    If temp = "OK" Then
        lBytes = lBytes + bytesSent

	tempoattuale= Timer
	
	'piccolo controllo se supero la mezzanotte
	if tempoattuale< tempoiniziale then tempoattuale=tempoattuale+86400
	' calcolo velocità media in kb/s
	velocitàmedia = (lBytes/1024)/(Timer-tempoiniziale)

	' calcolo tempo rimanente in secondi
	temporestante = (bytesRemaning/1024)/velocitàmedia

        lblStatus = lBytes & " out of " & UBound(buffer) & " bytes sent " & _
	" at " & velocitàmedia & "Kb/s : elapsed time " & temporestante & " seconds"
    End If
End Sub
In alternativa, se ti serve un programma di file transfer posso inviartene uno fatto da me. A guardarlo fa schifo (si inseriscono i comandi come in una console ) ma funziona discretamente...è possibile effettuare fino a 10 donwload contemporaneamente e l'unico limite alla grandezza del file è dato dalla capienza dell'hard disk...io l'ho fatto per scambiare file di piccole-medie dimensioni(da pochi Kb fino a centinaia di Mb) coi miei amici e devo dire che il suo sporco lavoro lo fa


Aloha!
bsummer è offline   Rispondi citando il messaggio o parte di esso
Old 28-10-2003, 16:54   #7
djcuca
Senior Member
 
Iscritto dal: May 2003
Città: Taranto
Messaggi: 418
grazie 1000 ora cerco di studiarmelo x bene!
__________________
11001010110011001010
djcuca è offline   Rispondi citando il messaggio o parte di esso
Old 28-10-2003, 18:03   #8
bsummer
Senior Member
 
L'Avatar di bsummer
 
Iscritto dal: Oct 2002
Messaggi: 487
azz...

nel codice sostituisci questo

velocitàmedia = (lBytes/1024)/(Timer-tempoiniziale)

con questo

velocitàmedia = (lBytes/1024)/(tempoattuale-tempoiniziale)




bsummer è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto Kindle Scribe Colorsoft: riduce le cornici e div...
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
Rocket Lab acquisisce Iridium: nasce un ...
Una ventola nascosta e un design fuori d...
Display e fotocamera insieme: a Zurigo n...
Lenovo Idea Tab Plus, il tablet per stud...
Un ingegnere di AMD ha riprodotto in cas...
SanDisk Optimus cresce con nuovi SSD cer...
Loongson contro Intel e AMD: dalla Cina ...
Australia, quasi tutti gli under-16 aggi...
Oltre 1.300 miliardi di dollari per la p...
Un nuovo studio mette in dubbio la natur...
Crisi Volkswagen, torna l'ipotesi cessio...
Il CERN spegne il Large Hadron Collider:...
Stranger Than Heaven avrà una storia mol...
Il futuro prezzo di PS6 preoccupa i gioc...
AMD Ryzen 10000 sempre più vicini...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 05:00.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v