Hi zusammen
Ich habe hier ein Demoprogramm mit einem für mich doch recht exotischen Konstrukt:
Delphi-Quellcode:
// SelectedIndex := XXX.CharacterIndexAtPos(X, Y, Tolerance, Tolerance);
// if (not Selecting) and (XXX.WebLinkAtPos(X, Y) <> -1) then
// XXX.Cursor := crHandPoint
// else if SelectedIndex >= 0 then
// XXX.Cursor := crIBeam
// else
// XXX.Cursor := crDefault;
{* if Selecting then
if SelectedIndex >= 0 then
begin
NeedRepaint := False;
if SelectionStart = -1 then
begin
SelectionStart := SelectedIndex;
NeedRepaint := True;
end;
if SelectionEnd <> SelectedIndex then
begin
SelectionEnd := SelectedIndex;
NeedRepaint := True;
end;
if NeedRepaint then
XXX.Invalidate;
end; *}
Im ersten Teil ist das if..then..else-Konstrukt für mich eher gewöhnungsbedürftig, dürfte so aber durchaus möglich sein.
Etwas anders sieht es im zweiten, mit Klammern/Sternchen auskommentierten Teil aus. Die erste Zeile dieses Blocks beginnt mit einem einfachen if..then.
Daran schliessen sich mehrere if..then..begin..end einfache Blöcke an.
Wenn ich das so lese, müsste, wenn die 1. Zeile nicht zutrifft, die Prozedur beendet werden (beim nächsten, hier nicht gezeigten end). Aber was mich am meisten irritiert ist, dass nach der ersten if-Abfrage mehr als eine Zeile folgt (Folgen kann), die nur in Abhängigkeit dieser Abfrage(true) ausgeführt wird.
Wie seht ihr das?
Gruss
Delbor