Autor Tema: no tengo nivel suficiente  (Leído 3901 veces)

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

Desconectado fastyx

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 353
no tengo nivel suficiente
« en: 31 de Julio de 2006, 09:50:17 »
Pd: el archivo  http://miarroba.com/foros/ver.php?foroid=348538&temaid=3607620&do=prevtopic no lo puedo abrir ya que me dice que no tengo nivel suficiente :shock: :shock:

alguna ayuda...

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: no tengo nivel suficiente
« Respuesta #1 en: 31 de Julio de 2006, 13:01:52 »
Hola fastyx. Ni idea que le estara pasando a mi@.
Aca te adjunto el programa del post.
Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado fastyx

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 353
Re: no tengo nivel suficiente
« Respuesta #2 en: 31 de Julio de 2006, 13:46:53 »
GRACIAS!!

otra cosa: vos me mandaste la contestacion y no recibo la actualizacion en los topicos . alguna idea?? :shock:

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: no tengo nivel suficiente
« Respuesta #3 en: 31 de Julio de 2006, 13:51:07 »
Hola.
¿No la recibis?  :shock:
¿Cual de todas las notificaciones? ¿en: "Mostrar mensajes no leídos desde la última visita."?
Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado fastyx

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 353
Re: no tengo nivel suficiente
« Respuesta #4 en: 31 de Julio de 2006, 15:01:56 »
en la columna respuesta tengo 0. voy por las dudas y tengo mensajes nuevos :shock:

te hago una pregunta : del programa que me mandaste (lo que necesitaba!) tengo que sacar los valores de la recepcion y volcarlos a una graficacion de puntos
tipo setp( x,y) . que variable tengo que tomar?

desde ya gracias

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: no tengo nivel suficiente
« Respuesta #5 en: 31 de Julio de 2006, 15:09:29 »
Hola. Puede que sea tu navegador el que molestando. ¿Cual usas?

Con respecto al programa, el buffer de entrada del puerto serie es el : MSComm1.Input
Alli es donde tomas los datos de entrada, y luego utilizando la instruccion Pset generas puntos.
Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado fastyx

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 353
Re: no tengo nivel suficiente
« Respuesta #6 en: 31 de Julio de 2006, 16:18:41 »
uso el netscape 6.2

voy a probar con mscomm1.input y despues te cuento

la idea es hacer un graficador para armar el pid de un motor

gracias de nuevo!!

Desconectado fastyx

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 353
Re: no tengo nivel suficiente
« Respuesta #7 en: 01 de Agosto de 2006, 23:29:22 »
 Brunof:

si quiero insertar la variable llamemos P = mscomm1.input en una instruccion pset ( X,P)
me da error de tipos de variables . es como si pset no soportara el tipo de variable de mscomm1.input

te paso el codigo a ver si me das una mano ya que yo pretendo graficar con circle para verlo mejor
esta es la parte modificada de tu archivo
Private Sub MSComm1_OnComm()
Dim Y As Variant
Dim X As Integer


Select Case MSComm1.CommEvent
    Case comEvReceive
        TxtRecibir.Text = TxtRecibir.Text & StrConv(MSComm1.Input, vbUnicode) & vbCrLf
        TxtRecibir.SelStart = Len(TxtRecibir)
        Y = TxtRecibir.Text
        X = 100
        grafica.Circle (Y * 0.2, X), 0.5
    End Select
End Sub

si pongo Y = txtrecibir.txt me da error de compilacion porque las variables no se pueden colocar en circle( con pset me pasa lo mismo).
si pongo Y =  Len(TxtRecibir) lo grafica , pero no es lo que necesito porque no grafica los valores,pero lo use para ver si entraba (debug)

no le puedo encontrar la vuelta... Confused

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: no tengo nivel suficiente
« Respuesta #8 en: 02 de Agosto de 2006, 00:31:46 »
Hola.
Hay dos cosas a tener en cuenta.
Si mal no recuerdo, MsComm1.input es una variable que debe ser volcada en otra antes de poder utilizarla, por lo tanto estas obligado a volcarla en otro lado primero. A esto lo haces.
Pero surge el siguiente problema:

TxtRecibir.Text = TxtRecibir.Text & StrConv(MSComm1.Input, vbUnicode) & vbCrLf

Aqui estas juntando el dato que obtienes con muchas cosas mas. Hay cosas que no son valores numericos. Como por ejemplo el vbCrLf que es lo mismo que hacer un ENTER (Chr(10) & Chr(13)).
Obviamente al no tener valores numericos, vas a tener error.

Yo lo plantearia asi:

Private Sub MSComm1_OnComm()
Dim Y As String
Dim X As Integer


Select Case MSComm1.CommEvent
    Case comEvReceive
        Y = MSComm1.Input
        TxtRecibir.Text = TxtRecibir.Text & StrConv(Y, vbUnicode) & vbCrLf
        'TxtRecibir.SelStart = Len(TxtRecibir) '¿? ¡innecesario!
        X = 100
        if isnumeric(Y) then grafica.Circle (csng(Y) * 0.2, X), 0.5
    End Select
End Sub

Probalo y me contas que tal te fue. Tene en cuenta que asi tal como tenes el codigo, vas a obtener circulos siempre con el mismo valor X, lo unico que puede variar es el eje Y.
Recuerda tambien que el componente picturebox contiene el eje Y invertido. Asi que los datos te saldran espejados.
Para que salgan correctamente cambia:

        if isnumeric(Y) then grafica.Circle (csng(Y) * 0.2, X), 0.5

por esto:

        if isnumeric(Y) then grafica.Circle (grafica.height - csng(Y) * 0.2, X), 0.5

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.