Shell 27-04-2023, 12:17
Buenas!.

El tiempo que tarda la copia total la vimos hace ya tiempo en un ejemplo con la barra de progreso.

Código:
Public Sub Copiar()
 
  Dim aarchivos As New String[]  
  Dim unarchivo As String
  Dim incrementos As Float
 
  comienzo = Timer
 
  aarchivos.Clear
  ProgressBar1.Value = 0
 
  aarchivos = RDir(directoriorigen, "*", gb.File)
  incrementos = 1 / aarchivos.Count
  For Each unarchivo In aarchivos
    ProgressBar1.Value += incrementos
    lblStatus.Text = "Copiando " & unarchivo    
    Wait 0.01     
    ' Para copiar, descomentar
    ' Copy directoriorigen &/ unarchivo To directoriodestino &/ unarchivo
  Next
  diferenciadetiempo = Timer - comienzo  
  Message.Info("Copia completada" & gb.NewLine & "El tiempo que ha tardado en copiar los archivos es: " & Format(diferenciadetiempo, "-#.##") & "s")
 
  Me.Close
 
End

Pero, ¿ cómo calcularíamos la velocidad en tiempo real de la copia de "x" archivos ?.

En Gambas tenemos la posibilidad de saber cuanto mide un archivo mediante el comando Stat.

Código:
Public Sub Main()

  Dim rutaarchivo As String
 
  'Uso un nombre de archivo que tengo en el disco
  rutaarchivo = User.Home &/ "001 The Present Simple of to be.mp3"
 
  With Stat(rutaarchivo)    
    Print "Tamaño de archivo: " & Round(.Size / 1024); "K"
    Print "Tamaño de archivo: " & Round(.Size / 1024 ^ 2); "M"
  End With
 

End

Salida:
Cita: 
Tamaño de archivo: 4458K
Tamaño de archivo: 4M

Imaginar que tenemos 10 archivos iguales como ese. ( Eso puede ser lo más fácil )

Cada vez que termina la copia de uno de esos archivos, ha pasado un tiempo y se ha transferido una cantidad de información.
Cada vez que escribe 4458K en el disco se acaba una copia, tenemos cuando comenzó y cuando terminó y vuelve a repetirse el proceso.

comienzo = Timer
diferenciadetiempo = Timer - comienzo

Es tamaño / tiempo si no recuerdo mal.

En el caso de un archivo si ha tardado 0.25 segundos y su tamaño es 4M, su velocidad podía haber sido:

4M / 0.25 = 16M/s ¿ No ?.

Eso sería lo que tarda en copiarse un archivo.  Como son archivos iguales pues sería sencillo de calcular.
Ahora lo interesante sería de que los archivos fueran de distinto tamaño.

Entonce supongo que por la formula anterior iríamos sumando los tiempos que tarda cada copia y dividiríamos por la media del número de archivos.
Eso supongo que es lo que debe mostrarse en el progresos de la copia.

¿ Ustedes que opinan ?. Tranquis el mundo va a seguir ahí. Wink

Saludos
tincho 25-04-2023, 12:03
Hola amigos.
Si en gambas ponemos:
Código:
Print TypeOf("untextocualquiera")
Esto devolverá 9.
Muy bien. Ahora, sabiendo el 9 ¿Como puedo "imprimir" gb.String?
Shell 24-04-2023, 21:32
Buenas!.

Iba a crear el paquete de instalación de un paquete que tengo traducido para ver si veo algún problema con la nueva versión de Gambas.
Y me ha extrañado que a la hora de querer crear el paquete de instalación me pida antes crear un ejecutable y después de esto pasa
a la creación del paquete de instalación. Eso no lo había visto antes y puede que ese paso no corresponda.

No creo que sea normal ya que editor incluye la opción "concreta" en el menú para crear un ejecutable.
Que por cierto según el formulario de creación, más que decir crear ejecutable dice configurar ejecutable.

En el menú de proyectos de la Gambas 3.18.2 tenemos tanto la opción "crear ejecutable" como "configurar ejecutable".
Es como si enlazaran para comenzar al mismo lugar. Al mismo proceso

Saludos
Páginas (560):    1 179 180 181 182 183 560   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 288
Último miembro: shoUsho
Temas del foro: 1,729
Mensajes del foro: 8,987
Últimos temas
Paren...WAIT !!!
Foro: Aplicaciones/Fragmentos de Código
Último mensaje por: guizans, 25-08-2025, 14:49
Respuestas: 3 - Vistas: 458
GambOS
Foro: General
Último mensaje por: guizans, 20-08-2025, 13:58
Respuestas: 0 - Vistas: 318
Gambas y Wayland
Foro: General
Último mensaje por: guizans, 20-08-2025, 13:56
Respuestas: 6 - Vistas: 597
Odio a gb.Report
Foro: General
Último mensaje por: guizans, 19-08-2025, 10:40
Respuestas: 8 - Vistas: 943
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.