Einzelnen Beitrag anzeigen

BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#20

AW: Stringgrid, Zeile automatisch an Textgrösse anpassen

  Alt 12. Mai 2015, 14:33
Ich hatte gehofft, dass von Dejan Vu eine Code-Variante mit seinen Vorstellungen kommt, aber leider ist dies wie immer nicht so.

Dennoch möchte ich seine Fragen (obwohl ich nicht annehmen kann, dass sie ernst gemeint waren) noch beantworten.

Und warum arbeitest Du nicht mit .... Math.Max ?
Diese Frage ist ganz einfach zu beantworten:
Wenn ich mit Math.Max arbeiten würde, dann würde ich in diesem Fall nur unnötig Resourcen verschwenden.

Was macht die Funktion Max(a,b)?:

Delphi-Quellcode:
function Max(const A, B: Integer): Integer;
begin
  if A > B then
    Result := A
  else
    Result := B;
end;
Und was macht der Code von mir:
Delphi-Quellcode:
  if (lTextHeigth > lMaxRowHeight) then
   begin
    lMaxRowHeight := lTextHeigth;
   end;
Er macht das Gleiche, nur wesentlich effizienter.

1. kein unnötiger Funktionsaufruf (pro Schleifendurchgang)
2. kein unnötiges Zuweisen eines Wertes (pro Schleifendurchgang)

3. keine Notwendigkeit Math in die Uses aufzunehmen


Und warum arbeitest Du nicht mit lGrid.Canvas.TextHeight
Weil es damit nicht funktioniert.

Und wieso verzichtest Du auf den Resourcenschutzblock, um die Verwendung der Bitmap?
Man mag ja anderer Meinung sein, aber wenn es beim Erstellen des Bitmap mit Bitmap.Create() und beim Schreiben auf dessen Canvas knallt, dann hab ich ein ganz anderes Problem.

Ressourcenschutzblöcke sind sinnvoll, aber bei Weiten nicht unbedingt immer notwendig.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat