Autor Tema: Uno más de RS232 - WinXP+VB6  (Leído 24123 veces)

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

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Uno más de RS232 - WinXP+VB6
« Respuesta #30 en: 16 de Agosto de 2007, 20:04:19 »
Hola Bruno

Es mucho código para corregir un detalle estético, mejor me quedo con las ganas  :D aunque ya aprendí algo más, como CStr, e investigué sobre CDbl y Cint, ¡a qué buenas funciones!  :mrgreen:

Gracias

Desconectado PalitroqueZ

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re: Uno más de RS232 - WinXP+VB6
« Respuesta #31 en: 17 de Agosto de 2007, 12:30:08 »
Mig, no es nada de otro mundo, lo que hay que hacer es convertirlo a string y lo demás es jugar con las funciones para string ($MID, $left, Right, etc).
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Uno más de RS232 - WinXP+VB6
« Respuesta #32 en: 17 de Agosto de 2007, 19:28:38 »
Lo malo es que soy nuevo con VBasic... hago todo con bolitas y palitos  :D me tardo mucho y pues como es solo un detalle estético mejor sigo programando lo demás.

Ahora otra pregunta, ¿cómo obtengo el residuo de una división?

En lenguaje C se pone

residuo= 9%7; //residuo valdrá 2

 :?:

Desconectado PalitroqueZ

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re: Uno más de RS232 - WinXP+VB6
« Respuesta #33 en: 18 de Agosto de 2007, 15:57:54 »
con la función MOD

Acá el maestro Bruno dá una aplicación a dicha función, y la explica en gran detalle.

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Uno más de RS232 - WinXP+VB6
« Respuesta #34 en: 20 de Agosto de 2007, 12:49:08 »
Perfecto... lo puse a prueba con un programa simple...

Text3.Text = Text1.Text Mod Text2.Text 'saca residuo

Gracias Pedro

Edito:

Haciendo más pruebas intenté dividir 40 entre 3.5 y pasa algo raro, me entrega 0 como residuo. Parece ser que siempre hay que entregarle enteros a esta función para que trabaje bien.
« Última modificación: 20 de Agosto de 2007, 15:00:06 por migsantiago »

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Uno más de RS232 - WinXP+VB6
« Respuesta #35 en: 20 de Agosto de 2007, 20:02:41 »
Hola!

Efectivamente. Sólo sirve para enteros NO negativos.

Podriamos recurrir a la matemática para hacer lo que querés con punto flotante:

Si querés el resto con decimales:

Resto = Dividendo - fix(Dividendo/Divisor)*Divisor

Si lo querés pero sin decimales:

Resto = fix(Dividendo - fix(Dividendo/Divisor)*Divisor)

Probalo.

Saludos!

P.D: Fix() se queda sólo con la parte entera de la expresión entre paréntesis.
« Última modificación: 20 de Agosto de 2007, 20:12:26 por BrunoF »
"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 migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Uno más de RS232 - WinXP+VB6
« Respuesta #36 en: 21 de Agosto de 2007, 10:50:51 »
Hola

Lo corregí de forma más directa usando Int(). Es bueno porque no redondea el número como la instrucción CInt().

residuo = dividendo Mod Int(divisor)

Gracias Bruno
« Última modificación: 21 de Agosto de 2007, 13:30:11 por migsantiago »

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Uno más de RS232 - WinXP+VB6
« Respuesta #37 en: 21 de Agosto de 2007, 11:19:00 »
Otra pregunta...

¿Cómo se usa una listbox?

Solo me gustaría saber qué opción es la que selecciona el usuario. Estuve leyendo por internet que es con la propiedad .text y .listindex, pero no encontré qué tipo de variable entregan y vb me marca errores.

Sé agregarle un elemento a la lista, es con .additem pero es lo único que sé.
« Última modificación: 21 de Agosto de 2007, 13:29:21 por migsantiago »

Desconectado PalitroqueZ

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re: Uno más de RS232 - WinXP+VB6
« Respuesta #38 en: 21 de Agosto de 2007, 15:06:16 »
añadiendo a lo de Bruno, en la ayuda msdn dice:

"El operador de módulo, o resto, divide número1 por número2 (redondeando a enteros los números de signo flotante) y devuelve sólo el resto como resultado"

es decir, que si tienes 3.5 él lo reconoce como 4, dando por ello 0 el resto.

respecto a lo del listbox, tendré quie repasar ese control jeje, ya que las veces que lo he usado ha sido guiandome por la ayuda  8)
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Uno más de RS232 - WinXP+VB6
« Respuesta #39 en: 21 de Agosto de 2007, 15:21:39 »
Hola!

Está bien tu solución. El int() es una conversión explicita de variable a entero y hace lo mismo que un fix().

Con respecto al ListView:

Hay 4 modos de visualizar los datos si mal no recuerdo, yo uso el ultimo casi siempre(el "report").(podes configurarlo facilmente desde tiempo de diseño, haciendo click derecho sobre el control listview y seleccionando "propiedades".


"Objeto.SelectedItem" hace referencia al elemento seleccionado actualmente.

Ejemplo:

Private Sub Form_Load()
ListView1.ListItems.Add , , "Foro"
ListView1.ListItems.Add , , "Todopic"
ListView1.ListItems.Add , , "2007"
End Sub

Private Sub ListView1_Click()

MsgBox "El item seleccionado es el: " & ListView1.SelectedItem.Index & ". Y tiene por texto: " & ListView1.ListItems.Item(ListView1.SelectedItem.Index)

End Sub

El Listview es un control MUY completo. Si necesitas algo mas, decime.

Salu2!!!




"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 migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Uno más de RS232 - WinXP+VB6
« Respuesta #40 en: 21 de Agosto de 2007, 15:34:48 »
Hola Bruno

¿Esas son instrucciones para una listbox de visual basic 6? Es que cuando corro el programa me marca...



Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Uno más de RS232 - WinXP+VB6
« Respuesta #41 en: 21 de Agosto de 2007, 21:11:32 »
Sisi.
¿En que linea te tira eso?

¿Agregaste un objeto Listview al formulario?

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 migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Uno más de RS232 - WinXP+VB6
« Respuesta #42 en: 22 de Agosto de 2007, 11:07:33 »
Hola  :)

El error aparece en:

ListView1.ListItems.Item(ListView1.SelectedItem.Index)

pero en vez de ponerle listview, yo le pongo el nombre de mi list box.

Va a sonar tonto, ¿pero que un listbox no es diferente a un listview? Además no encuentro ese control en la barra de controles...


Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Uno más de RS232 - WinXP+VB6
« Respuesta #43 en: 22 de Agosto de 2007, 14:03:07 »
jaja ok!

Bueno, era lo que me temía.

Vete a Proyecto->Componentes y tilda en la lista "Microsoft Windows Common Controls 6.0".

Se te agregarán varios controles. Inserta uno de tipo "ListView".

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 migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Uno más de RS232 - WinXP+VB6
« Respuesta #44 en: 23 de Agosto de 2007, 18:01:49 »
Gracias Bruno  :mrgreen: