Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: El_Marine en 3 Octubre 2006, 04:29 AM

Título: Como sumar numeros obtenidos al leer un archivo de texto? ayuda please.
Publicado por: El_Marine en 3 Octubre 2006, 04:29 AM
Hola a todos,veamos, como puedo sumar numeros,tomados a leer un archivo de texto,veamos, al leer un archivo de texto obtengo esto:

501||5||||11||20||0||0||0

(Los || son retornos de carros,intros..)

Como puedo quitar los caracteres || del text?

Como podría sumar todo lo que ahi en el text, tomado del archivo?

Espero sus respuestas,saludos.

Título: Re: Como sumar numeros obtenidos al leer un archivo de texto? ayuda please.
Publicado por: _Sergi_ en 3 Octubre 2006, 06:41 AM
Simplemente basta con crear una matriz con todos los números. Para ello usamos Split, pasándole como argumento los datos y el separador utilizado (En éste caso, ||)

Luego, usamos un bucle para recorrer todos los números y sumarlos.

Sería algo así, espero que no tenga ningún error.

Código (vb) [Seleccionar]
Private Sub Picture1_Click()
On Error Resume Next
Dim ValorASumar As Integer
Dim Datos As String
Dim Suma As Integer
'Llenamos la variable datos
Datos = "501||5||||11||20||0||0||0"
'Hacemos la matriz
MatrizDatos = Split(Datos, "||")
'Bucle que recorre todos los numeros y los suma
For n = 0 To UBound(MatrizDatos)
Valor = MatrizDatos(n)
Suma = Suma + Valor
Next n
'Presentamos el resultado
MsgBox "La suma es: " & Suma
End Sub


Para terminar, y si por alguna razón los separadores son otros caraceres (por ejemplo intro, como has dicho) puedes sustituirlos utilizando Replace, ya que los retornos de carro, espacios, etc son caracteres normales y corrientes.

Texto = Replace(Text1.Text, Chr(13), "||")

En vez de Chr(13) también puedes usar la constante vbCrLf como es lógico.

Un saludo
Título: Re: Como sumar numeros obtenidos al leer un archivo de texto? ayuda please.
Publicado por: <--v1c1ous--> en 3 Octubre 2006, 06:46 AM
¿Sumar o unir?

Como sea, por ejemplo:

Esto une la cadena de numeros:


Dim Cadena as String
Dim Separar() as String
Dim i as Interger

Cadena = "501||5||||11||20||0||0||0"
Sperar = Split(Cadena, "||")

Dim Buffer as String
For i = 0 To UBound(Separar)
'Unirlo
'Buffer = Buffer & Separar(i)
'O bien sumarlo
'Buffer = Buffer + Separar(i)
Next i


PD: Ya lo habia escrito todo _Sergi_, puse mandar y ya habias posteado :), lo posteo igual.