Problemas al partir archivo

Iniciado por LeandroA, 19 Junio 2008, 03:25 AM

0 Miembros y 1 Visitante están viendo este tema.

LeandroA

Buenas vengo utilizando una forma vastante fea para partir un archivo, y ahora me doy cuenta que si la configuracion local esta cambiada las cuentas me dan cualquier cosa,

Explico:


Const Buffer = 4096

Private Sub Form_Load()
Dim LenFile As Long
Dim TotInteger As Long
Dim SegmentCount As Long
Dim LenRest As Long

LenFile = 3921
SegmentCount = Val(LenFile / Buffer)
TotInteger = SegmentCount * Buffer
LenRest = LenFile - TotInteger
Debug.Print SegmentCount, TotInteger, LenRest
End Sub


yo deseo saber cuanas veces entra LenFile en el Buffer lo que esto me da como resultado SegmentCount, y a su ves LenRest seria el resto de lo que no llego a completar el tamaño del Buffer

ejemplo
si el archivo pesa 3921 SegmentCount = 0 y lenResto = 3921
si el archivo pesa 8192 SegmentCount = 2 y lenResto = 0
si el archivo pesa 8195 SegmentCount = 2 y lenResto = 3
si el archivo pesa 6000 SegmentCount = 1 y lenResto = 1904


como pueden notar estoy trabjando con numeros enteros

bien el ejemplo que puse por mas feo que sea funciona pero el tema es que si la configuracion local esta cambiada me tira cualquier resultados

por ejemplo

Simbolo Decimal = .
Simbolo de separacion de miles = ,

correctamente en el debug deve mostrar esto
0             0             3921
incorrectamente si la configuracion esta cambiada me muestra esto
1             4096         -175


hay alguna forma elegante de hacer lo que quiero, pero sin tener que verificar la configuracion local

Saludos

Freeze.

Yo realmente no entiendo lo que dices. Si te refieres a que no debes usar numeros decimales puedes usar Round o Int ;)

krackwar

Rebisa un programa de E0N que esta en la recopilación de codes se llama "split" me parece ;).
Mi blog
Bienvenido krackwar, actualmente tu puntuación es de 38 puntos y tu rango es Veteran.
El pollo número 1, es decir yo, (krackwar), adoro a Shaddy como a un dios.

LeandroA

Solucionado, chateando con Cobein me dijo que el lo havia utilzado en su proyecto Check-Summer


LenFile = 3921
SegmentCount = LenFile \ Buffer
LenRest = LenFile - SegmentCount * Buffer

el secreto es usar \ y no / ya que el primero devuelve un numero entero.

Saludos