Ver la Versión Completa : Imprimir dependiendo de valor Edit
molina669
30-07-2007, 13:37:32
Hola a tod@s,
tengo 5 reports (rep1, rep2...,rep5) y quiero mostrar aquel que el usuario escriba en un edit. Eso es que si escribe en el edit "rep1", se imprima ese, es posible esto?????.
Gracias por todo
Hola,
Tal como lo planteas se trata simplemente de utilizar instrucciones condicionales:
if (CompareStr(Edit1.Text, 'rep1') = 0) then
// Imprime el reporte 1
else if (CompareStr(Edit1.Text, 'rep2') = 0) then
// Imprime el reporte 2
molina669
30-07-2007, 13:50:10
Gracias Dec, esa opción ya la contemplé pero existe el problema que si incorporo nuevos informes tendría que modificar el codigo para incluir una nueva condicional y es eso precisamente lo que no quiero hacer.
Gracias de nuevo.
Lo suyo sería algo así (a lo burro):
(edit1.text).preview;
O quizas sería mejor poner un ComboBox con las opciones y ejecutar el código según la elección:
if (ComboBox->ItemIndex==0) then
// Imprime el reporte 1
else if (ComboBox->ItemIndex==1) then
// Imprime el reporte 2
molina669
30-07-2007, 13:57:20
Buena opción también, pero creo que, si se pudiera hacer como os muestro, me ahorraría muchas lineas de codigo y modificar el fuente en un futuro.
molina669
30-07-2007, 14:24:17
Aquí os pego el codigo de lo que voy avanzando:
procedure TForm1.Button1Click(Sender: TObject);
var
formulario:Tform;
begin
Application.CreateForm(TForm2,formulario);
formulario.Name:=Edit1.Text;
formulario.show;
end;
Esto funciona bien pero me abre siempre el form2.
Lo que me falta es saber como decirle que TForm2 es "formulario".
Hola, yo necesitaba hacer algo parecido, este hilo me ayudo muchisimo.
http://www.clubdelphi.com/foros/showthread.php?t=2656
Saludos
molina669
30-07-2007, 16:34:09
Muchas gracias Caro, era justo lo que buscaba.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.