![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Wow !!! lluvia de respuestas rapidisimo !!! Gracias a todos !!! estoy probando con la segunda opcion de Casimiro y aca va , creo yo, algo mas detallado de lo que estoy haciendo Azid.
Estoy usando unos componentes basados en Indy para escuchar el puerto 502 para PLC, el tema es que el automata me envia una palabra (1,2, 5, 128, 255) yo lo que hice fue programar las salidas del automata para que me diga ciertos enteros dependiendo de lo que pase dentro del mismo. Ahora cuando trabajo con pocas entradas no pasa nada, el codigo es corto y rapido, pero si tengo que procesar 8 bits se complica ya que obtengo de 0 a 255 combinaciones posibles entre esos bits! El agruparlos con [1..100] me funciona, ahora mi problema es en los primeros bits, porque por ejemplo mi IF va con in[1,3,5,7,9,11,13.... asi hasta llegar a 255 !! , hay algun metodo que yo pueda usar para decirle oye cuenta pero solo los impares hasta 255??? y el bit 2 cuenta 2,4 7,8 etc? De todas formas una vez escrito es copiar y pegar pero quiero aprender a hacer mas eficiente mi codigo ! ![]() Gracias a todos !!! |
|
#2
|
||||
|
||||
|
Si te devuelve un word puedes compararlo con su equivalente decimal que es más sencillo de hacer, ahora bien, mencionas que dependiendo de ciertas condiciones te devolverá diferentes enteros, pues esto es mas simple, a no ser que varias condiciones produzcan los mismos resultados, por ejemplo hablando en términos naturales : "ya no me puedo mover hacia arriba", "no me puedo mover hacia abajo", "no soporto el peso", etc. todas son condiciones que pudieran tener como respuesta " regresa al punto inicial".
Ya mas o menos te voy entendiendo, serviria si platicas más que hace tu robot y que esperas tú que haga con lo la información que te envía.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
|
#3
|
|||
|
|||
|
una manera fácil q supongo funcionaría y rápida (quizá no es la más optimizada) es esto:
Hacer un for o while en la que contenga 2 variables: Una se llama por ej: formula de tipo integer o float. la segunda ej: resultado de tipo array. entonces, segun las matematicas para obtener un número impar es 2n (para asegurarnos de que sea par) + 1 (para el impar) esto es, (2n+1) <- nº impar. en el for que ya contiene la variable I: integer; colocas "2 X I + 1" luego la agregas al array.. ... |
|
#4
|
|||
|
|||
|
hola más o menos así sería:
resultante es el array que contiene los números impares.., no está del todo perfecto, ni siquiera tengo el delphi a mano xD pero obtinene los primeros 255 impares Última edición por cmm07 fecha: 09-10-2010 a las 03:08:44. |
|
#5
|
||||
|
||||
|
Cita:
Código:
if (x in [1..255]) and Odd(x) then
showmessage('x vale entre 1..255 y es impar');
//para par
if (x in [1..255]) and Not Odd(x) then
...........
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
|
#6
|
||||
|
||||
|
Cita:
de los 'bits' pares e impares recibidos... Si no entiendo mál y es eso lo que buscas, podrías hacer:
Ejemplo de llamada: Lo que te arroja el mensaje: 'Par: 1 Impar: 3' dado que: 1 = 01 (un bit número impar) 2 = 10 (un bit número par) 3 = 11 (dos bits número impar) Es sólo un ejemplo, modificando un poco el código podes hacer que solo haga el conteo de bits por numero recibido, o en última instancia, espero que te aporte alguna idea... Saludos. ![]() Última edición por ecfisa fecha: 13-10-2010 a las 21:18:08. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Como hacer un smtp server ¿relay? como el de argosoft | JXJ | Varios | 5 | 02-12-2008 19:13:52 |
| como hacer graficos en php? | gabrielflowers | PHP | 2 | 22-04-2008 22:15:17 |
| como hacer conexion con dbe | cutfe | Conexión con bases de datos | 1 | 18-04-2008 05:15:57 |
| ¡¡Como hacer un exe que modifique un EXE | JXJ | Varios | 0 | 09-08-2005 20:36:33 |
| No se como hacer SQL | Alexander | SQL | 1 | 28-06-2005 22:27:51 |
|