Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-06-2018
ArtPortEsp ArtPortEsp is offline
Miembro
 
Registrado: May 2018
Posts: 15
Poder: 0
ArtPortEsp Va por buen camino
Macros de clipper

Hola...

los mas jovenes diran, "que diablos es eso?"; bueno les explico....

en aquellos lejanos dias de la programacion en DOS existia un lenguaje de programacion llamado Clipper que manejaba un tipo especial de dato llamado MACRO, en el podia uno guardar ciertas "formulas" que se resolvian al momento de ejecucion "invocando" el operador del macro.

Por ejemplo:

podia uno guardar algo como ((campo1*campo2)/campo3)*factor en un campo en una tabla de datos (ejemplo macro1) y en una parte de la ejecucion del programa, podias hacer algo como:

var = &macro1

Alguno de ustedes estimados profesionales de Delphi, saben si es posible hacer algo similar?

Saludos
Responder Con Cita
  #2  
Antiguo 08-06-2018
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: Nov 2005
Posts: 1.069
Poder: 14
ElKurgan Va por buen camino
Mira los enlaces del final de la página. En concreto, en este se trató este mismo tema

Saludos
Responder Con Cita
  #3  
Antiguo 08-06-2018
manelb manelb is offline
Miembro
 
Registrado: Mar 2017
Posts: 127
Poder: 2
manelb Va por buen camino
¿Que sistema de reportes empleas??

Lo digo porque yo utilizo quickreport y para lo que tu comentas utilizo una clase que lleva incorporada el componente qrexpression, y sirve precisamente para esto.

Puede que sea un poco rebuscado, pero durante muchos años lo he utilizado en muchas situaciones y me ha dado un magnifico resultado.

Si crees que puede ser de interés lo busco y intento explicarlo.

Saludos
Responder Con Cita
  #4  
Antiguo 08-06-2018
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: Aug 2007
Ubicación: Barcelona, España
Posts: 1.510
Poder: 14
duilioisola Tiene un aura espectacularduilioisola Tiene un aura espectacular
Si utilizas bases de datos, puedes generar campos calculados en vistas o directamente en el SQL

Código SQL [-]
SELECT ARTICULO, UNIDADES, PRECIO, (UNIDADES * PRECIO) AS TOTAL
FROM DETALLE_PEDIDO
WHERE
NRO_PEDIDO = :NRO_PEDIDO

Por otro lado puedes crear campos calculados en un Dataset.
Luego, en el evento OnGetText del campo puedes poner cualquier cosa que puedas hacer con Delphi.
Código Delphi [-]
procedure DataModule.DetallePedidosARTICULOGetText(...Text : string...);
begin
   Text := UpperCase(DetallePedidosARTICULO.AsString);
end;

El Dataset también tiene un evento OnCalcFields en el que puedes dar valores a los campos calculados
Código Delphi [-]
procedure DataModule.DetallePedidosCalcFields(...);
begin
   DetallePedidosCOMISION.AsFloat := DetallePedidosPRECIO.AsFloat * 20 /100;
   DetallePedidosGANANCIA.AsFloat := DetallePedidosPRECIO.AsFloat - DetallePedidosPRECIO_COSTE.AsFloat;
end;
Responder Con Cita
  #5  
Antiguo 08-06-2018
Avatar de mamcx
mamcx mamcx is online now
Moderador
 
Registrado: Sep 2004
Ubicación: Medellín - Colombia
Posts: 3.500
Poder: 19
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por ArtPortEsp Ver Mensaje
Por ejemplo:

podia uno guardar algo como ((campo1*campo2)/campo3)*factor en un campo en una tabla de datos (ejemplo macro1) y en una parte de la ejecucion del programa, podias hacer algo como:

var = &macro1
Definitivamente.

Tu "macro"* es un micro compilador y/o interprete. Asi que un evaluador de formulas o componente de script como

https://www.remobjects.com/ps.aspx

es lo que buscas.

Tambien se puede embeder un lenguaje como Lua, Python (que es lo que he usado) o cualquier otro que este en modo interprete.

O hacer el tuyo propio, pero es mas trabajo

https://ruslanspivak.com/lsbasi-part1/


--

P.D*: Las "macros" en lenguajes de programacion se refiere mas a la habilidad de hacer meta-programacion (usar el lenguaje para programar el lenguaje), o en otras palabras, para en tiempo de compilacion/ejecucion manipular el "Abstract Syntax Tree" para generar codigo al vuelo, y no como lo que se expone aqui, que es interpretacion.

Puede parecerse a los pre-procesadores como en C, pero eso son unos adefesios diferentes...
__________________
Nuevo Blog.
Ahora en Twitter!.
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
Macros en EXCEL ledesma78 Varios 1 26-01-2010 17:37:43
uso de macros luis vazquez Varios 9 30-06-2008 21:48:57
Macros en Excel valera Varios 3 12-02-2006 18:50:04
"Macros" como en Clipper ? gluglu Varios 6 17-11-2005 20:20:52
Macros de access luchin001 Servers 0 03-12-2003 14:45:09


La franja horaria es GMT +2. Ahora son las 17:30:14.


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