Thema: Delphi Proleme bei Locate

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#29

AW: Proleme bei Locate

  Alt 11. Sep 2012, 12:00
Das WITH kann man gerne noch rausmachen, wenn man will.
Delphi-Quellcode:
procedure TFieldHelper.Sort(SortMode: TFieldSortMode);
begin
  if (aSortMode = fsmDesc) or ((aSortMode = fsmAuto) and (DataSet.Sort = FieldName)) then
    DataSet.Sort := FieldName + ' DESC'
  else
    DataSet.Sort := FieldName;
end;
Gut, ich hab hier noch einen Fehler drin, denn es müßte Column.Field.Sort; heißen und/oder man baut sich dieses auch noch für die TColumn.

Nja, es ist nicht komplizierter, als der andere Code.
Nur die Position des Codes ist halt eine andere.

Man kann sich so ein paar öfters gebrauchte Funktionen schön an einer Stelle zusammenfassen, aber anders, als wenn man sie nur irgendwo als "alleinstehende" Prozedur ablegt, ist sie hier an alle Fields direkt angehangen und somit greift hier auch die Codevervollständigung einem hilfreich unter die Arme.

Ich hab mir da z.B. noch eine kleine Locate mit abgelegt, also
Delphi-Quellcode:
Field.DataSet.Sort := Field.FieldName + ' DESC';
Field.DataSet.Locate(Field.FieldName, Value, [loCaseInsensitive]);

Field.Sort(fsmDesc);
Field.Locate(Value); // mit optionalem Parameter für TLocateOptions
Das sind natürlich Vereinfachungen, welche man nur nutzten kann, wenn nur nur nach einem Feld sortiert, bzw. nur in Einem gesucht werden soll.
$2B or not $2B

Geändert von himitsu (11. Sep 2012 um 12:03 Uhr)
  Mit Zitat antworten Zitat