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.
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.
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
Código [Seleccionar]
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.
Código [Seleccionar]
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)
![:) :)](https://forum.elhacker.net/Smileys/navidad/smiley.gif)
Muchas gracias