![]() |
![]() |
| 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
|
||||
|
||||
|
Cita:
![]() |
|
#2
|
|||
|
|||
|
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 ![]() |
|
#3
|
||||
|
||||
|
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|| |
|
#4
|
|||
|
|||
|
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. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|