FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Sistema LaboratorioBioquimico
Hola querida gente como les va, voy a hacer una pregunta a ver si alguno me tira una idea ya que no me imagino por donde comenzar solo espero me puedan entender.
Me encargaron un sistema para un laboratorio bioquimico, este laboratorio cuenta con un sistema en DOS que quieren cambiar. Mi primer escollo es una caracteristica que tiene este programejo y que es le da la posibilidad al usuario de armar y editar sus propios informes donde el bioquimico pondra las variables que se imprimiran (Hemoglobina = 25.36% y cosa asi) como tambien los calculos que haran estas mostrando los resultados mas abajo algo asi como un Memo avanzado calculo (su version en windows) La pregunta es existe algun componente (Memo) que me valla interpretando lo que escribo y me haga calculos como multiplicar una variable por otra ? Lo que quiero es un Memo donde valla escribiendo las variables en las ubicaciones donde se imprimiran con sus mascaras y todo y definiendo los calculos que estas harán como multiplicarse por otra. Espero me entiendan y si no tratare de explicarme mejor. Saludos Mario |
#2
|
||||
|
||||
Hola
No creo que exista un componente Memo tan especifico. Creo que lo mejor seria programar lo que hará el memo en tal caso. Saludos
__________________
Siempre Novato |
#3
|
||||
|
||||
De hecho yo estoy haciendo un sistema para laboratorios clínicos, del que espero me de de comer en un futuro jajaja. Sin embargo nunca he tenido en cuenta este tipo de interacción/funcionalidad. Estaré atento a seguir este hilo.
En relación a tu pregunta, existen interpretes de formulas como uno de los que viene incluido en la JEDI. Nunca lo he usando pero creo que podrías probarlo y si necesitas adaptarlo, hazlo! no será muy díficil. Sólo que no olvides publicar el código de tus modificaciones (por ley lo tienes que hacer). saludos |
#4
|
||||
|
||||
Hola
Cita:
Saludos
__________________
Siempre Novato |
#5
|
|||
|
|||
Hola...
Aquí lo que necesitas es un gestor de reportes que tenga soporte para que el usuario pueda crear o modificar los reportes en tiempo de ejecución. Existen varios, algunos de pago y otros opensource, algunos son, así de memoria:
Saludos... |
#6
|
||||
|
||||
Antes que nada...analiza cuanto vas a cobrar por tal desarrollo para que sobre eso hagas tus cuentas de lo que te vas a tardar en hacerlo con memo o sin memo. Estás partiendo del lugar equivocado pues no se empieza por la intreface (por aquello del memo) sino del proceso, como lo hacen, que resultado esperan, etc. no te bases mucho en que ya tienen un sistema basado en DOS. Es mejor preguntar que necesitan que no tienen ahorita y como les gustaría que funcionara el proceso. Si bien se puede programar algo así tan elaborado como planteas tienen su costo en tiempo (y por ende en dinero) y al final lo que el usuario quiere siempre es mucho menos que lo que los desarrolladores nos imaginamos.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#7
|
||||
|
||||
Cita:
Así que primero que consulte. |
#8
|
||||
|
||||
Cita:
|
#9
|
||||
|
||||
Sí lo sé. Pero en este caso me refería a que si fuese en el caso que utilizara los componente JEDI. Ya queda la aclaración
|
#10
|
||||
|
||||
El que avisa no traiciona!
|
#11
|
||||
|
||||
Por lo que yo entiendo, del primer mensaje, lo que quiere es simplemente, pasar datos de una base de datos a un texto preparado, donde las mascaras sean cambiadas por los datos que ya tenemos, y en todo caso, por algunas variables que tengan el calculo de varios de estos datos, si es así, mírate en los foros, se que casimiro, dio una buena explicación de como hacerlo con word, pero no recuerdo el titulo del post.
En caso contrario, si te refieres a sistemas de formulación y estructuración química, lamento decirte que tendrás que hacerlo a pelo, la primera, aunque no es tan complicado, ya que solo es un listado de componentes y hacer sus cálculos, en cuanto a la estructuración esto es harina de otro costal, en formula matemática, no es tanto problema, en estructuración molecular, no conozco ningún componente que te lo permita, y en expresión científica, conozco uno de delphi que te permite su expresión pero no la tradicional sino en formato rejilla (queda como un Scrable) lo puedes en contrar en torry en las grids. espero haber podido ayudarte.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#12
|
||||
|
||||
Cita:
El Gestor de Reports que selecciones debe tener la posibilidad (o el módulo) de que el usuario cree sus propios reports; No entiendo la necesidad de hacer esto en un memo. Si el usuario se configura sus reports podrá colocar los campos deonde desee, aplicar las máscaras que desee y realizar operaciones matemáticas con ellos si lo desea.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#13
|
|||
|
|||
Sistema Laboratorio Bioquimico
Hola y gracias a todos por sus respuestas que tan amablemente me dieron.Voy a tratar de responde sus preguntas:
Analisis de requerimiento no hare porque el sistema anda muy bien (el anterior) y lo que quieren hacer es una copia fiel del que tienen pero para windows. La idea de usar un Memo es porque estan acostumbrados a escribir las variables e ir ubicandolas en la posicion que deseen se impriman con las teclas TAB o la barra espaciadora les da mas versatilidad para diseñar sus informes. Lo de usar Reportes (siempre uso Report Manager) deberia investigar porque la cosa es: A una persona se le puede realizar varios Analisis entonces al momento de colocar los resultados y mandar a imprimirlos y para ahorrar hojas (imprimen sobre impresora matricial sobre papel continuo) este sistema le permite indicar al doctor sobre que columna desea imprimir cada Analisis (a la hoja la dividen de manera imaginaria en tres columnas) o sea puedo imprimir tres Analisis uno al lado del otro. Esa impresion es para uso interno y le llaman mesada el bioquimico con una regla luego corta el papel en tres y le entrega a quien hara ese Analisis.No se si usar reportes porque no se como hacer para mandarlos a imprimir unos al lado del otro en el mismo papel no se si se puede. El sistema actualmente trabaja asi, estos son los comandos con los que cuenta el bioquimico para realizar sus informe: # = Para indicar la cantidad de caracteres a imprimir, y la ubicacion en el informe. ?x = variable a imprimir y a usar para el calculo. $x = indica una funcion. Y lo usan asi: ==================== Informe ================================================ Estudio de Globulos en Sangre bla bla bla.... ?1 Globulos Rojos = #### ?2 Globulos Blancos = #### ?3 = $1 (?2 - ?1) Resultados = ?3 ml/g ================= Fin Informe =============================================== Este seria un informe entonces lo guardan como plantilla, despues lo cargan y llenan las variables (?1 y ?2) y se calcula la ?3 en base a la funcion $1. Lo que se me ocurrio es guardar esta plantilla y despues para usarla leer linea a linea y crear sobre un form tantos Tedit como variables tenga para hacer los calculos = tengo que hacer pruebas a ver que es lo mejor. Bien espero haber aclarado mas el panorama. Me despido con un fuerte abrazo y desde ya gracias por su interes. Mario |
#14
|
||||
|
||||
Si entiendes que debe hacer el sistema, ya lo hiciste...
|
#15
|
|||
|
|||
Pero lo que necesito es copiar esa característica del programa de ser posible, si no puedo lo hare de otra manera y que el usuario se adapte a la nueva forma de trabajar.
Mario |
#16
|
||||
|
||||
Nomás que hay pequeño detalle Donald, tal vez ya tenga el análisis, pero está basado en la aplicación DOS. Precisamente lo que hacen los usuarios es prácticamente escribir una plantilla para que el sistema llene los espacios, además de que está basado en el esquema de 80 columnas que corresponden con los 80 caracteres que caben en una impresora matricial.
Una sugerencia podría ser que el sistema les arroje el reporte tal cual, otra más que en lugar de llenarse de papel como lo hacen ahora (y es normal, así están acostumbradas muchas empresas) el bioquímico únicamente capture lo necesario y quien haga el análisis capture lo que le toca y así sucesivamente. En fin, soy medio terco. Por otro lado, no siempre se puede hacer una copia "fiel" de un sistema basado en DOS y aunque en ocasiones se logra, la aplicación que se obtiene es bastante limitada. Ojo también con tus costos pues probablemente el cliente piense que como ya tiene un sistema y lo que vas a desarrollar se va a basar en eso le debes cobrar menos.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#17
|
|||
|
|||
Bueno en python y otros lenguajes existe algo que se llama expresiones regulares, probablemente puedas usar python detrás y sea el que te analice lo que escribiste en el memo, algo así rápido y simple para mostrar lo que te digo, sería:
Código:
import re buf="Estudio de Globulos en Sangre bla bla bla...\n\n?1 Globulos Rojos = ####\n?2 Globulos Blancos = ####\n\n\n?3 = $1(?1-?2)\n\nResultados = ?3 mlg/g\n?4 = $2(?3-?2)\nOtro resultado ?4 mlg/g" expresion=("\?([1-9]\s)[^=]") r=re.compile(expresion,re.S) var=r.findall(buf) print var expresion=("\?([1-9].)=(.*?)\n") r=re.compile(expresion,re.S) var=r.findall(buf) print var python prb.py ['1 ', '2 ', '3 ', '4 '] <---Lista las variables [('3 ', ' $1(?1-?2)'), ('4 ', ' $2(?3-?2)')] <-- Me dice que la variable 3 se va a cargar con la operación representada por ?1-?2 y 4 con la operación ?3-?2 Tienes la función replace, para cuando quieras sustituir las variables con su respectivo valor, en su defecto también puedes hacer uso de las expresiones regulares para reemplazar, es algo muy simple pero extremadamente potente que tan sólo sería buf.replace("?1","3.141592......") por ejemplo: Código:
import re var1=4.35 var2=2.5 buf="Estudio de Globulos en Sangre bla bla bla...\n\n?1 Globulos Rojos = ####\n?2 Globulos Blancos = ####\n?3 = (?1-?2)\n\nResultados = ?3 mlg/g\n?4 = (?3-?2)\nOtro resultado ?4 mlg/g" print buf expresion=("\?([1-9]\s)[^=]") r=re.compile(expresion,re.S) var=r.findall(buf) print var expresion=("\?([1-9].)= (.*?)\n") r=re.compile(expresion,re.S) var=r.findall(buf) print var funcion=var[0][1] funcion=funcion.replace("?1",str(var1)) funcion=funcion.replace("?2",str(var2)) var3=eval(funcion) print '?3 ' print var3 funcion=var[1][1] funcion=funcion.replace("?3",str(var3)) funcion=funcion.replace("?2",str(var2)) var4=eval(funcion) print '?4 ' print var4 bb='?'+var[0][0]+'= '+var[0][1] buf=buf.replace(bb,'') bb='?'+var[1][0]+'= '+var[1][1] buf=buf.replace(bb,'') buf=buf.replace("?1",str(var1)) buf=buf.replace("?2",str(var2)) buf=buf.replace("?3",str(var3)) buf=buf.replace("?4",str(var4)) print buf Código:
python prb.py Estudio de Globulos en Sangre bla bla bla... ?1 Globulos Rojos = #### ?2 Globulos Blancos = #### ?3 = (?1-?2) Resultados = ?3 mlg/g ?4 = (?3-?2) Otro resultado ?4 mlg/g ['1 ', '2 ', '3 ', '4 '] [('3 ', '(?1-?2)'), ('4 ', '(?3-?2)')] ?3 1.85 ?4 -0.65 Estudio de Globulos en Sangre bla bla bla... 4.35 Globulos Rojos = #### 2.5 Globulos Blancos = #### Resultados = 1.85 mlg/g Otro resultado -0.65 mlg/g Si no te gusta la idea de la tabla bien podría ser sustituida por otro Memo donde ellos sólo escriban Código:
var1=4 var2=5 var3=var1-var2 var4=var3-var1 etc.... Código:
Reporte bla bla bla var1 Globulos rojos var2 Globulos blancos Resultado var3 mlg/g Otro resultado var4 mlg/g var1= var2= var3=var1-var2 var4=var3-var1 Jejeje hay una infinidad de soluciones para resolver un problema Si quieres usar completamente delphi, me imagino que en el foro debe de existir mas información sobre las expresiones regulares en delphi Buscando rapidamente en internet encontré el siguiente enlace http://www.latiumsoftware.com/es/articles/00009.php <--TRegExpr Tal vez te sirva
__________________
No todo es lo que parece y lo que parece no es todo. |
#18
|
||||
|
||||
Cita:
Cita:
Los reporteadores que te mencionó Maeyanes, tienen muchas opciones para editar un reporte.
__________________
|
#19
|
|||
|
|||
Contra-Veneno tenes razon eso no lo discuto y esta mas que bien tus dichos, pero la persona que me encargo el sistema es un Bioquimico de 58 años y le gusta asi o sea la respuesta es por costumbre deberia ser asi, pero no descarto de pleno la opcion que mencionas.
aarmalo gracias me diste un par de ideas que las voy a investigar y esta muuuuy interesante como lo planteas. En fin ... a trabajar. |
#20
|
|||
|
|||
Por ahí también mencionas, que suelen dividirlo en columnas, me imagino que te sería mas sencillo que la salida fuera en html, por ejemplo
Al principio le pones el número de columnas (de 1 a 2 en este caso) con: columnas 2 (también se le podría agregar la opción de cuantas veces se repetirá cada reporte) despues declaras las variables y en el memo de a lado escribes los reportes para cada grupo de variables (no importa si se repiten los nombres de las variables entre cada grupo) Aquí muestro el código html generado (por lo pronto no interesa poner más que la parte de la tabla) Y vemos el resultado en el navegador, o en su defecto lo mostramos en algun componente que permita visualizar archivos html Así sólo te preocuparías por darle el formato adecuado a la tabla, que es mucho más fácil que estarle dando tabulaciones para ubicarlo en la columna que le corresponde.
__________________
No todo es lo que parece y lo que parece no es todo. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Sistema TPV | Gaim2205 | Varios | 4 | 07-01-2009 15:14:24 |
Sistema!! | einarcito | Varios | 0 | 11-10-2008 21:18:07 |
mas de 1 sistema a la vez | Patricio | Firebird e Interbase | 7 | 27-08-2008 20:03:11 |
Unidad del sistema | madmai | Windows | 8 | 06-11-2007 09:06:23 |
Mejor sistema de BD | fide | Conexión con bases de datos | 8 | 29-10-2007 18:04:11 |
|