• Jueves 2 de Mayo de 2024, 13:48

Mostrar Mensajes

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


Temas - IAO

Páginas: [1]
1
Visual Basic para principiantes / RS232 Binary+Picture Grafico
« en: Domingo 9 de Agosto de 2009, 20:50 »
Holaaaaaa:

Okey después de meses ya terminé este programita ayer.
Es muy básico, pero funciona. Se requiere más conocimientos para dejarlo fino, fino.
Está funcionando, pueden modificarlo a su gusto. Es todo suyo
Dentro del Zip hay un Documento en word. Para entenderlo un poco mejor.
Fuente del Programa en VB6....
http://www.box.net/shared/7mcbn6pxb3

Captura programa Graficando, en este caso un diodo....
http://img269.imageshack.us/img269/9067/capture3igi.png
Espero les guste.

Gracias a F_Tanori, Nebire y Moskito por la ayuda pretada en meses pasados.........Gracias muchas gracias......
Saludos

2
Visual Basic para principiantes / Grafico Parametrico en PictureBox
« en: Sábado 31 de Enero de 2009, 04:19 »
Holaaaa:

Señores...
De nuevo una pregunta, espero no rebuznar....

Tengo casi listo lo de un  gráfico parametrico en el picturebox. Pero me lanza un error y me
gustaría saber si gustan lanzarme una mano.

Código: Text
  1.  
  2. Option Explicit
  3.  
  4. Const PI = 3.14159265
  5. Dim x As Single
  6. Dim y As Single
  7. Dim r As Single
  8. Dim t As Single
  9. Dim dt As Single
  10.  
  11. Dim i As Integer
  12. Dim a(12) As Single
  13. Dim b(12) As Single
  14.  
  15. Private Sub Command1_Click()      
  16.     '''Draw the parametric curve.  
  17.     t = 0: x = 0: y = 0
  18.     dt = PI / 100
  19.     picGraph.CurrentX = 0
  20.     picGraph.CurrentY = 0
  21.     Do While t <= 2 * PI '''Pienso que indica los 360 grados del circulo.
  22.         r = 0.5    '2 * Sin(5 * t)     '''Pienso que indica el radio del circulo
  23.         '''Circulo
  24.         'x = r * Cos(t)
  25.         'y = r * Sin(t)
  26.          
  27.         Ploting
  28.     Loop
  29.     picGraph.Line -(0, 0), vbRed
  30.    
  31. End Sub
  32.  
  33. Private Sub Form_Load()
  34.  
  35.     '''Set a convenient scale.
  36.     picGraph.AutoRedraw = True
  37.     picGraph.Scale (-2.02, 2.02)-(2.02, -2.02)
  38.    
  39. '''--------------------------------------------------------------------------------
  40.     '''Draw axes. Dibuja los Ejes en Azul.
  41.     picGraph.Line (-2, 0)-(2, 0), vbBlue  '''Eje X en Azul
  42.     For x = -2 To 2 Step 0.5
  43.         picGraph.Line (x, -0.1)-(x, 0.1), vbBlue   '''Secciones del Eje X
  44.     Next x
  45.    
  46.     picGraph.Line (0, -2)-(0, 2), vbBlue    '''Eje Y en Azul
  47.     For y = -2 To 2 Step 0.5
  48.         picGraph.Line (-0.1, y)-(0.1, y), vbBlue   '''Secciones del Eje Y
  49.     Next y
  50. '''--------------------------------------------------------------------------------
  51.  
  52. '''Toma los Valores del List
  53.     For i = 0 To List1.ListCount - 1
  54.         List1.ListIndex = i
  55.         a(i) = CSng(List1.Text)
  56.     Next i
  57.    
  58.     For i = 0 To List2.ListCount - 1
  59.         List2.ListIndex = i
  60.         b(i) = CSng(List2.Text)
  61.     Next i
  62. End Sub
  63.  
  64. Private Sub Ploting()
  65.          For i = 0 To 11 'UBound(a)
  66.          x = a(i * t) / 5 '''<-------------SubIndice fuera del intervalo
  67.          Next i
  68.          Label1 = a(8)            '''Only Probe. It's Ok.
  69.        
  70.          For i = 0 To 11 'UBound(b)
  71.          y = b(i * t) / 5 '- t
  72.          Next i
  73.          Label2 = b(8)            '''Only Probe. It's Ok.
  74.  
  75.          picGraph.Line -(x, y), vbRed          t = t + dt
  76. End Sub
  77.  
  78.  
  79.  

Aquí me dice:
x = a(i * t) / 5 '''<-------------SubIndice fuera del intervalo

Sé que es por la t, pero demen una orientación de como mantenerla allí, porque es lo mejor que he podido
obtener al intentar graficar esos datos que estan en los listbox.
Les pego el programa, no es mio totalmente. Le hice varias modificaciones.

De antemano muchas gracias...Espero haber sido claro y solicitar la ayuda correctamente.
Por favor sino comprenden algo haganme saber y trataré de reordenar la pregunta.

Bye('_')......

3
Visual Basic para principiantes / Problema con TextBox y ListBox Resuelto..
« en: Sábado 24 de Enero de 2009, 21:18 »
Hola para todos...

Amigos tengo un pequeño inconveniente, he buscado por todas partes algo similar pero no logro
dar con la solución a esto.

Tengo recibiendo por el MSCOMM unos datos en formato texto y los coloco en un TextBox.
Todo trabaja bien hasta allí.
Al tratar de operar o manipular el texto en dicho control se tranca la comunicación o no me muestra nada
el el segundo textbox.

Un poco de código, para hacerme entender.
Código: Text
  1.  
  2.  If Option1.Value = True Then
  3.         Select Case MSComm1.CommEvent
  4.             Case comEvReceive
  5.             '''Recibe y lo almacena en sData.
  6.             sData = MSComm1.Input
  7.                         
  8.             For i = 1 To Len(sData)
  9.             'svar1 = Mid$(sData, i, 1)
  10.             svar2 = sData
  11.             'svar1 = Mid(svar1, 12, 4)
  12.             sDatos(i) = sDatos(i) & svar2
  13.             Text1.Text = Text1.Text & sDatos(i)
  14.             Next i
  15.            
  16.             For j = 1 To Len(sData)
  17.             svar1 = svar1 & sDatos(j)
  18.             'svar3 = Mid(svar1, 11, 5)
  19.             Text3.Text = Text3.Text + sDatos(j)
  20.             Next j
  21.            
  22.         End Select
  23.      End If
  24.    
  25. End Sub          
  26.  
  27.  

Puede que este haciendo algo mal, tengo muchos intentos de todo tipo, pero ninguno me resulta.
No estoy seguro si el   svar3 = Mid(svar1, 11, 5) funciona con los textbox. Estoy frustrado de verdad.
Yo recibo estos datos por el Pto Serial:
......
     8ms    00.3mV
     9ms    00.1mV
    10ms    00.4mV
    11ms    00.1mV
    12ms    00.1mV
    13ms    00.3mV
......
Y lo que quiero tomar y meterlo en una variable o arreglo es lo que está en color azul, para graficarlo.
Me parece que debo mandar esto a un archivo de texto.txt, y manipularlo desde el archivo pero lo veo
como infuncional.
No puedo modificar lo recibido, porque es un Multimetro Digital que envía en ese formato.
Puede alguien entender esto y ayudarme?

Cualquier comentario, o ayuda lo agradecería muy grandemente.....

Bye('_')....

Nota: Perdón aquí dejo un link del codigo VB6 funcionando... Pero sin manipular el TextBox.
http://www.box.net/shared/lp89o3rrdg

4
Visual Basic para principiantes / De Access A Txt
« en: Domingo 13 de Abril de 2008, 23:52 »
Holaaaa:
De una Base de Datos Access pasar a .TXT el contenido.
Estuve mucho tiempo intentando hacer este ejemplito. No se consigue mucha información y la que hay es medio confusa.
Citar
Solo tengo que añadir :
Debe de estar referenciado Microsoft DAO 3.6 Object Library  -- En proyecto referencias

Da un un error de: Separador de campos coincide con el separador decimal o de texto. (Ver .GIF el error.)
Quité este error pasando la configuración regional a Inglés.
Como evitar esto, todavía no lo he resuelto.

Es un ejemplo para que tengan un poco más claro como hacerlo.

Hay un archivo que debemos aprender a manejar que es el ---Schema.ini --- y es importante para su correcta ejecución.

Espero les sirva de algo en el futuro....

Bye('_').

5
Visual Basic para principiantes / Registros Dentro De Un Txt.
« en: Martes 2 de Octubre de 2007, 15:49 »
Hola para todos.
Amigos estoy atrapado en una tontería que no consigo la solución.

Tengo un archivo.dat (es un .TXT) que tiene varios números de 8 caracteres de longitud. En el pueden haber 20, 40, 100 ó XX registros de números guardados.
La pregunta es:
¿Como hago para saber la cantidad de registros guardados en ese archivo.dat?
Esa cantidad de registros es para colocarla en una Variable y luego poder hacer un: FOR 1 to Variable
He intentado varias formas pero no doy con la solución.
Si alguno me pudiera ayudar a resolver esto, le estaría muy agradecido.

Este es uno de mis fallidos intentos. Está un poco confuso como yo.
'''Aquí debo hacer un Get y un For para leer datos en el .Dat
Dim MiCar As String
Open "RS232.dat" For Random As #1 'Len = Len(MiCar)  'Len("RS232.dat")

MiCar = String(41, " ")
 Do While Not EOF(1)               '''Repite hasta el final del archivo.
    Get #1, 8, MiCar      
   'MiCar = Left(Input(1, #1), 8)    '''Lee el siguiente carácter de datos.
   For iCol = 1 To 41 'Asc(MiCar) '41
   Input #1, varLinea
   Next iCol
Loop
Close #1   ' Cierra el archivo.

El programa me funciona, pero debo abrir el archivo.dat contar manualmente cuantos numeros hay,
luego voy al programa y en el "For iCol = 1 To 41" <--Cambio este último número y así trabaja
sin problemas. Como pueden ver es un fastidio, abrir y contar, cambiar y ejecutar.

Este es el original sin cambios.
    Open "RS232.dat" For Input As #2                    '''Abre el archivo para lectura.
    For iCol = 1 To 41  '2 '50 '24 '52         '''armo un contador
      Input #2, varLinea                            '''meto en la variable varLinea cada dato
      aTemp(iCol) = varLinea                        '''paso al ARRAY el valor leído
    Next iCol                                       '''incremento el contador y sigo
    Close #2


Por favor si alguien sabe como hacerlo, les agradecería el auxilio que pudieran darme.
Si gustan, al finalizarlo les paso el programita completo, es bien ponqueto, simpático pués.

Bye('_').

6
ASM (Ensamblador) / Lpt Archivo Fuente
« en: Martes 24 de Enero de 2006, 16:31 »
Hola a todos.
Lamento que cerraran la discusión del puerto serial.

Aqui les mando unos ejemplos del puerto paralelo.

Ojo - Ojo - Ojo  Los archivos trabajan Solo con el EMU8086 o
con Micro-Assembler (Gratis). Estos emulan y compilan.
La ventaja, es que no hace falta usar code segment, data segment, es màs
fàcil en ese sentido.

Si deseas pasarlo a Tasm o Masm debes hacer algunos cambios.
Solo hay que colocar al principio del programa las directivas, que
corresponden al Tasm o Masm



Ya pronto estaré más frecuente y abriremos otro serial port.

7
Visual Basic para principiantes / Problemas Timer1_timer()
« en: Martes 16 de Agosto de 2005, 16:39 »
Hola a todos.

Soy un Novato. Este mi primer Mensaje.
Trataré comunicarles mi problema.
Hice a medias un programa que envía al Puerto físico (LPT1) unos Bits.
Luego le añadí un Puerto Lógico (200) y comenzaron los conflíctos.

Ambos Puertos (Lógico y Físico) tienen sus respectivos Módulos.

El programa funciona bién si lo compilo con uno solo de esos puertos (Lógico o Físico).
 
Pero al unir los 2 puertos  en el  "Private Sub Timer1_Timer()", los indicadores de salida (led's), muestran intermitencia.

Entiendame por favor, no le pido, que me lo haga.
Solo que me oriente, en lo que pueda.
Si debo leer algo en particular, muestreme el enlace.
He intentado varias maneras y formas, pero sin resultado.


Por favor.
Dele un vistazo al código, y hágame algún comentario.
Será de mucha utilidad para mí.
Si prefieres bájate el proyecto completo, al final puedes tomarlo.
*-*-* (Gracias y recontra Gracias)*-*-*


Private Sub Timer1_Timer()

    ' Read SIGNED WORD from port 200:
    EmuPto = 200 'READ_IO_WORD(200)
    Dim i As Integer
    Dim v As Byte
    For i = 0 To 7
        v = EmuPto Mod 2 'Cantidad de digitos. 1 y 0 Aquí.
        Led(i).Picture = dig(v).Picture
        EmuPto = Int(EmuPto / 2) '10)
    Next i

'Lee el dato del puerto.  'Inp(&H378)
m = Inp(Puerto)  '+ 1) Esto Daba un problema en la salida.

'Debe ir en éste Orden.
'=========================
'Otra forma de Entenderlo.
If m > 127 Then Bit(7) = 0: m = m - 128 Else Bit(7) = 1 '0 'Invertido
If m > 63 Then Bit(6) = 0: m = m - 64 Else Bit(6) = 1
If m > 31 Then Bit(5) = 0: m = m - 32 Else Bit(5) = 1
If m > 15 Then Bit(4) = 0: m = m - 16 Else Bit(4) = 1
If m > 7 Then Bit(3) = 0: m = m - 8 Else Bit(3) = 1
If m > 3 Then Bit(2) = 0: m = m - 4 Else Bit(2) = 1
If m > 1 Then Bit(1) = 0: m = m - 2 Else Bit(1) = 1
If m > 0 Then Bit(0) = 0: m = m - 1 Else Bit(0) = 1

'Controla los Led's de estado.
For Ciclo = 0 To 7
If Bit(Ciclo) = 0 Then _
Led(Ciclo).Picture = LoadPicture(App.Path + "\LR.BMP") _
Else Led(Ciclo).Picture = LoadPicture(App.Path + "\LG.BMP")
Next Ciclo
End Sub
[/size]

Páginas: [1]