Zitat:
ja das hatte ich mir auch schon überlegt nur dachte ich das es einfacher geht (ne propertie oder sonst was) wo ich dann bestimmen kann das sich das memo auf das darüberstehende beziehen soll
Leider gibt es kein Align = baTop. Die automatische Ausrichtung funktioniert nur mit baRight / baLeft in Verbindung mit AutoSize. Ich habe eine eher widerwärtige Lösung, ich gehe einfach die Werte von oben nach unten druch unt verschiebe alles ein Element nach oben, wenn leer (im Script-Event OnStartReport):
Delphi-Quellcode:
if <qryLsAdrWE."NAME_2"> = '' then
begin
qryLsAdrWEName_3.Top := qryLsAdrWEName_3.Top-qryLsAdrWEName_3.Height;
qryLsAdrWEName_4.Top := qryLsAdrWEName_4.Top-qryLsAdrWEName_4.Height;
qryLsAdrWEStrasse.Top := qryLsAdrWEStrasse.Top-qryLsAdrWEStrasse.Height;
qryLsAdrWEStrasse2.Top := qryLsAdrWEStrasse2.Top-qryLsAdrWEStrasse2.Height;
qryLsAdrWELand.Top := qryLsAdrWELand.Top-qryLsAdrWELand.Height;
qryLsAdrWEPlz.Top := qryLsAdrWEPlz.Top-qryLsAdrWEPlz.Height;
qryLsAdrWEOrt.Top := qryLsAdrWEOrt.Top-qryLsAdrWEOrt.Height;
qryLaendernamen.Top := qryLaendernamen.Top-qryLaendernamen.Height;
end;
if <qryLsAdrWE."NAME_3"> = '' then
begin
qryLsAdrWEName_4.Top := qryLsAdrWEName_4.Top-qryLsAdrWEName_4.Height;
qryLsAdrWEStrasse.Top := qryLsAdrWEStrasse.Top-qryLsAdrWEStrasse.Height;
qryLsAdrWEStrasse2.Top := qryLsAdrWEStrasse2.Top-qryLsAdrWEStrasse2.Height;
qryLsAdrWELand.Top := qryLsAdrWELand.Top-qryLsAdrWELand.Height;
qryLsAdrWEPlz.Top := qryLsAdrWEPlz.Top-qryLsAdrWEPlz.Height;
qryLsAdrWEOrt.Top := qryLsAdrWEOrt.Top-qryLsAdrWEOrt.Height;
qryLaendernamen.Top := qryLaendernamen.Top-qryLaendernamen.Height;
end;
Das ginge mittels eines Arrays bestimmt noch eleganter.