PDA

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

dec
30-07-2007, 13:43:26
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;

Gabo
30-07-2007, 13:54:06
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".

Caro
30-07-2007, 15:57:53
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.