hola foristas,
estos son mis codigos dsde un form cualquiera que invoca al form de reporte:
frmRptF.Free;
frmRptF := TfrmRptF.Create(Self);
try
frmRptF.Previsualizar(letra.asString, nv);
frmRptF.Close;
finally
FreeAndNil(frmRptF);
end;
y los codigos para la previsualizacion en el form de reporte son:
const
ENV_TEMP: pchar = 'TEMP';
ENV_TMP: pchar = 'TMP';
DIR_TEMP: pchar = 'c:\temp';
DIR_TMP: pchar = 'c:\tmp';
...
procedure TfrmRptF.FormCreate(Sender: TObject);
begin
SetEnvironmentVariable(ENV_TEMP, DIR_TEMP);
SetEnvironmentVariable(ENV_TMP, DIR_TMP);
end;
...
procedure TfrmRptF.FormClose(Sender: TObject; var Action: TCloseAction);
begin
qr.QRPrinter := nil;
Action := caFree;
end;
...
procedure TfrmRptF.Previsualizar(letra: string; nv: integer);
begin
lblC1.Caption := '*** Son: ' + letra + ' ***';
qryMaster.Close;
qryDetail.Close;
qryMaster.ParamByName('nv').asFloat := nv;
qryMaster.Open;
qryDetail.Open;
qr.Prepare;
qr.Preview;
end;
...
estos codigos son para imprimir una factura a un impresora matriz de punto okidata ml-320 turbo.
he sacado y puesto codigo, pero no hay caso.
atte
yanko hsieh
|