Hola!!!
Muchas gracias por su tiempo y por leer estos mensajes.
oigan, una pregunta, a que se refieren con el apaisado??
Lo que estaba pensando hacer para que queden los resultados abajo del titulo de los analisis, es como dicen anteriormente, guardar en un arreglo, solamente el left y el width, pero me gustaria dividir el width/2, asi siempre quedaa a la mitad de cada titulo, no creen?
les anexo el codigo por si quiere hecharle una ojedada, creo que se puede reducir un poco.
Código Delphi
[-]
procedure Tfrm_reporte2.FormShow(Sender: TObject);
Var
b : Boolean;
fol : String[9];
cont, arriba, izq, campos,registros,totmuestras,contmuestras : Integer;
begin
arriba :=0;
izq :=10;
cont :=0;
registros :=0;
campos :=0;
contmuestras :=0;
if (form_opcion.label1.Caption[1] = 'T') then
Begin
b := modulotablas.tbltextil.Locate('LabFolio', form_opcion.label1.caption, [locaseInsensitive]);
if (b) then
Begin
frm_reporte2.qrlaboratorio.Caption := frm_reporte2.qrlaboratorio.Caption + ' Textil';
frm_reporte2.qrmlblfecha.Caption := modulotablas.tbltextil.FieldByName('Fecha').value;
frm_reporte2.qrmlblfolio.Caption := modulotablas.tbltextil.FieldByName('LabFolio').value;
frm_reporte2.qrmlblsolicitante.Caption := modulotablas.tbltextil.FieldByName('Solicitante').value;
frm_reporte2.qrmlbltipomuestra.Caption := modulotablas.tbltextil.FieldByName('Tipo_muestra').value;
frm_reporte2.qrmlbldeptosol.Caption := modulotablas.tbltextil.FieldByName('Depto_sol').value;
frm_reporte2.qrmlblpruebasol.Caption := modulotablas.tbltextil.FieldByName('Pruebas').value;
frm_reporte2.qrmlblobjetivo.Caption := modulotablas.tbltextil.FieldByName('Objetivo_trab').value;
frm_reporte2.qrmlblfechaent.Caption := modulotablas.tbltextil.FieldByName('Fecha_ent').value;
modulotablas.resul_textil.First;
fol := modulotablas.resul_textil.FieldByName('LabFolio').value;
cont := 2; while fol <> form_opcion.label1.Caption do
Begin
modulotablas.resul_textil.Next;
fol := modulotablas.resul_textil.FieldByName('LabFolio').value;
end;
if ((fol = form_opcion.label1.Caption) and (registros < modulotablas.resul_textil.RecordCount)) then
Begin
if (cont <= modulotablas.resul_textil.FieldCount-1) then
Begin
while campos < modulotablas.resul_textil.FieldCount-2 do
Begin
if modulotablas.resul_textil.FieldByName(modulotablas.resul_textil.FieldDefs.Items[cont].DisplayName).value <> 'x' then
Begin
lab := TQRlabel.Create(QRBResultados); lab.Top := arriba;
lab.Left := izq;
lab.Caption := modulotablas.resul_textil.FieldDefs.Items[cont].DisplayName;
lab.Parent := frm_reporte2.QRBResultados;
izq := izq + 4 + FontWidth(lab.Font,lab.Caption);
cont := cont+1;
campos := campos +1;
end else
Begin
cont := cont+1;
campos := campos +1;
end;
end; modulotablas.resul_textil.Next;
end end; top := arriba;
left := izq;
lab := TQRLabel.Create(QRBResultados);
arriba := arriba + 20;
izq := 20;
cont := 2;
campos := 0;
registros := 0;
modulotablas.resul_textil.First;
b:= modulotablas.resul_textil.Locate('LabFolio',form_opcion.Label1.Caption,[lopartialkey]);
while (fol = form_opcion.label1.Caption) and (registros < modulotablas.resul_textil.RecordCount)do
Begin
lab.Top := arriba;
lab.Left := izq;
while contmuestras < modulotablas.tbltextil.FieldByName('Num_muestras').value do
Begin
while campos < modulotablas.resul_textil.FieldCount-2 do
Begin
if (modulotablas.resul_textil.FieldByName(modulotablas.resul_textil.FieldDefs[cont].DisplayName).value <> 'x') then
Begin
lab := TQRLabel.Create(QRBResultados);
lab.Top := arriba;
lab.Left := izq;
if (modulotablas.resul_textil.FieldByName(modulotablas.resul_textil.FieldDefs[cont].DisplayName).value = 'o') then
lab.caption := '---'
else
lab.Caption := modulotablas.resul_textil.FieldByName(modulotablas.resul_textil.FieldDefs.Items[cont].DisplayName).value;
lab.Parent := QRBResultados;
if (lab.Left = 0) then
izq := izq + 7 + FontWidth(lab.Font,lab.Caption)
else
izq := izq + 30 + FontWidth(lab.Font,lab.Caption);
end; cont := cont +1;
campos := campos +1;
end; contmuestras := contmuestras+1;
modulotablas.resul_textil.Next;
cont := 2;
campos := 0;
izq := 20;
lab := TQRLabel.Create(QRBResultados);
arriba := arriba + 20;
end;
arriba := arriba + 20; izq := 12; modulotablas.resul_textil.Next;
inc(registros);
fol := modulotablas.resul_textil.FieldByName('LabFolio').value;
end; end else
ShowMessage ('No se encuentra el folio solicitado');
end; frm_reporte2.QuickRep1.Preview;
form_opcion.Hide;
end;
De antemano les agradezco su tiempo y su atencion.
Cómo te sientes hoy??