@Kristof: słuszna, uwaga, ale ja bym jeszcze zrobił małą korektę i zapisał to tak:
Kopiuj
MasterData12.Visible := (Pos('Syne', strTmp) > 0);
Taaa... można i tak.
A ja bym użył filtrowania na poziomie bandy bezpośrednio w FastReport (od wersji 6.x jest to dostępne) bez babrania się skryptami.
Albo, dla poprzednich wersji, filtrowania na poziomie DataSetu i ustawienie MasterData12.VisibleIsEmpty (jeśli dobrze pamiętam nazwę właściwości) na False.
Efekt ten sam, ale różnice pojawią się kiedy danych będzie duuuużooo...
Chociaż, po prawdzie, nie będą jakieś super znaczne.
Zatem, niech będzie że możliwości na osiągnięcie celu jest kilka, a wpis ma na celu tylko ich prezentację :)
Moim zdaniem taki zapis jest czytelniejszy i od razu widać, że całe wyrażenie tworzy jedną całość. Oczywiście - Twój zapis jest OK, ale ja preferuję (w odróżnieniu od pewnej grupy osób, dla których maksymalna zwięzłość i krótkość są priorytetem) zapis może i trochę dłuższy, ale za to czytelniejszy i bardziej oczywisty ;)
Też można, ale jak rozumiem kod (to tylko prezentacja, żaden w tym kodzie sens) piszesz w ten sposób?
Kopiuj
if (Value = 1) then
begin
ResValue := 1;
end
else
if (Value = 2) then
begin
ResValue := 2;
end;
Masz tu "czytelne" rozróżnienie wyrażeń i całych bloków po spełnieniu warunku.
Ale to przerost formy...
Nic a nic ten Twój zapis czytelniejszy jest, a wprowadza tylko niepotrzebne nawiasy i sporo nadmiarowości, której nie lubię kiedy sens w tym żaden.
Można, ale nie trzeba.
Za czytelniejszy uważam taki:
Kopiuj
if Value = 1 then
ResValue := 1
else
if Value = 2 then
ResValue := 2;