Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Xrage87

#1
Les voy a poner el código completo del todo el programa, que de hecho de es muy chico. El tema es que la parte del código que me da error, la corro por separado y no tengo ningún problema.



Option Explicit

Dim tiempos(5) As Single
Dim diametros(5) As Single
Dim matrizfluidos(10, 5) As Single



Private Sub calcular_Click()

Dim i As Integer
Dim tiempo As Single
Dim diametro As Single
Dim m As Integer
Dim l As Integer
Dim columna As Integer
Dim encontrado As Boolean
Dim viscosidad As Integer

tiempos(1) = txtTiempo1.Text
tiempos(2) = txtTiempo2.Text
tiempos(3) = txtTiempo3.Text
tiempos(4) = txtTiempo4.Text
tiempos(5) = txtTiempo5.Text

diametros(1) = txtDiam1.Text
diametros(2) = txtDiam2.Text
diametros(3) = txtDiam3.Text
diametros(4) = txtDiam4.Text
diametros(5) = txtDiam5.Text

tiempo = promedio(tiempos())
diametro = promedio(diametros())


Print tiempo
Print diametro




Open "C:\A\nums.txt" For Input As #1

For m = 1 To 10 Step 1

    For l = 1 To 5 Step 1
   
        Line Input #1, c$
        matriz(l, m) = c$
   
    Next l
   
Next m


For m = 1 To 10 Step 1
    For l = 1 To 5 Step 1
        Print matriz(l, m)
    Next l
Next m

Print matriz(5, 10)

Close


'función buscar

a = 1

While encontrado = False And columna <= 10

   
    If matrizfluidos(a) = txtTemp.Text Then

        encontrado = True
   
    Else

        columna = columna + 1

    End If

Wend

viscosidad = matrizfluidos(fila, columna)


End Sub

Private Function promedio(valores() As Single) As Single

Dim prom As Single

    prom = (valores(1) + valores(2) + valores(3) + valores(4) + valores(5)) / difcero(valores())

promedio = prom

End Function

Private Function difcero(valores2() As Single) As Integer

Dim i As Integer
Dim k As Integer

k = 0

    For i = 1 To 5 Step 1
   
        If valores2(i) <> 0 Then
       
            k = k + 1
       
        End If
       
    Next i



If k = 0 Then

    MsgBox ("Debe introducir por lo menos un tiempo y un diámetro")
    Stop
   
End If

difcero = k



End Function


Private Sub txtFluido_Validate(Cancel As Boolean)

Dim fluido As String

fluido = txtFluido.Text

If fluido <> "agua" Then
    If fluido <> "glicerina" Then
        If fluido <> "alcohol" Then
            MsgBox ("fluido no valido")
        End If
    End If
End If

End Sub



Lo que me da error es la variable $c, pero con el siguien código y utilizada de la misma manera no me crea problemas.

Private Sub Command4_Click()
Dim matriz(20, 10) As Integer
Dim i As Integer
Dim i As Integer



Open "C:\A\nums.txt" For Input As #1

For j = 1 To 10 Step 1

    For i = 1 To 20 Step 1
   
        Line Input #1, c$
        matriz(i, j) = c$
   
    Next i
   
Next j

Close

End Sub



Adjunto también un link de megaupload donde pueden bajar el programita, creo que seguramente les va a servir para detectar el problema, aunque seguro es una tontera (como siempre) :)     http://www.megaupload.com/es/?d=SVE6Z7OD

Muchas gracias
#2
Lo que quiero hacer es rellenar una matriz previamente creada en el programa, desde un archivo txt en el que estarían almacenados los datos. Los datos dentro del txt los puedo poner como más convenga para hacerlo.

Muchas gracias