Extracting common expressions
This next tip will sound obvious, but it will nicely introduce us to the next topic. Plus, it is a real problem frequently found in production code.
The ExtractCommonExpression
demo creates a list box with a mere 1,000 entries, all in the form of author–title. A click on the Complicated expression button runs a short piece of code that reverses the order of author and title in the list box so that it shows entries in the form of title–author:
procedure TfrmCommonExpression.Button1Click( Sender: TObject); var i: Integer; sw: TStopwatch; begin ListBox1.Items.BeginUpdate; try sw := TStopwatch.StartNew; for i := 0 to ListBox1.Count - 1 do ListBox1.Items[i] := Copy(ListBox1.Items[i], Pos('-', ListBox1.Items[i]) ...