Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-08-2010
Avatar de donald shimoda
donald shimoda donald shimoda is offline
Miembro
 
Registrado: jul 2008
Ubicación: Argentino en Santa Cruz de la Sierra
Posts: 1.083
Poder: 20
donald shimoda Va por buen camino
Cita:
Empezado por el-mono Ver Mensaje
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.
Si entiendes que debe hacer el sistema, ya lo hiciste...
__________________
Donald Shimoda [Team RO] - Blogs: Remobjects Pascal
Responder Con Cita
  #2  
Antiguo 12-08-2010
el-mono el-mono is offline
Miembro
 
Registrado: abr 2008
Ubicación: Lules
Posts: 176
Poder: 19
el-mono Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 12-08-2010
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 23
AzidRain Va camino a la fama
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||
Responder Con Cita
  #4  
Antiguo 12-08-2010
aarmalo aarmalo is offline
Miembro
 
Registrado: mar 2005
Ubicación: México
Posts: 46
Poder: 0
aarmalo Va por buen camino
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
lo ejecutamos


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
En la salida de este programa tendrías:

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
Ya es cuestión de echarle imaginación y hacerlo tan complejo como lo quieras hacer. Igual te puedes evitar mucho de esto teniendo una tabla de dos columnas donde la primer columna sean los nombres de las variables e la segunda su valor, de lado derecho o izquierdo de la tabla tener el Memo donde escriban el reporte, así se evitarían poner las formulas dentro de Memo, que despues tendrías que quitar a la hora de la impresión.

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....
y en el otro Memo

Código:
Reporte bla bla bla

var1 Globulos rojos
var2 Globulos blancos

Resultado var3 mlg/g

Otro resultado var4 mlg/g
También puede dar la opción de abrir una plantilla, la cual, ya sea con el otro memo o la tabla tendría listo las variables para que sólo las llenemos con su valor, por ejemplo que aparezca en el Memo o en la Tabla

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.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 11:34:03.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi