@Kristof: słuszna, uwaga, ale ja bym jeszcze zrobił małą korektę i zapisał to tak:
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?
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:
if Value = 1 then
ResValue := 1
else
if Value = 2 then
ResValue := 2;