TStringGrid unerschied zw. Clear und Clean

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
haderlump
Beiträge: 185
Registriert: Fr 18. Jan 2013, 09:29
OS, Lazarus, FPC: Windows 10, Windows XP, Lazarus 1.6
CPU-Target: Celeron

TStringGrid unerschied zw. Clear und Clean

Beitrag von haderlump »

Hallo zusammen. Es gibt für das TSringGrid die Methoden clear und clean. Was ist da der Unterschied?

Gruß Fritz

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: TStringGrid unerschied zw. Clear und Clean

Beitrag von wp_xyz »

Ausprobieren? Sich so ein Programm zusammenzuklicken, dauert nicht länger als ein paar Minuten...
Dateianhänge
clean_vs_clear.zip
(1.95 KiB) 120-mal heruntergeladen

haderlump
Beiträge: 185
Registriert: Fr 18. Jan 2013, 09:29
OS, Lazarus, FPC: Windows 10, Windows XP, Lazarus 1.6
CPU-Target: Celeron

Re: TStringGrid unerschied zw. Clear und Clean

Beitrag von haderlump »

danke, ich werde es ausprobieren.

Gruß Fritz

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: TStringGrid unerschied zw. Clear und Clean

Beitrag von Warf »

Oder statt ausprobieren schau doch einfach in die doc:
Clean: https://lazarus-ccr.sourceforge.io/docs/lcl/grids/tcustomstringgrid.clean.html
Clear: https://lazarus-ccr.sourceforge.io/docs/lcl/grids/tcustomgrid.clear.html

Generell würd ich vor dem ausprobieren immer in die doc schauen, denn beim ausprobieren kannst du nicht alle Feinheiten die du eventuell bedenken musst rausfinden

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: TStringGrid unerschied zw. Clear und Clean

Beitrag von wp_xyz »

Warf hat geschrieben:Oder statt ausprobieren schau doch einfach in die doc:
Clean: https://lazarus-ccr.sourceforge.io/docs/lcl/grids/tcustomstringgrid.clean.html
Clear: https://lazarus-ccr.sourceforge.io/docs/lcl/grids/tcustomgrid.clear.html

Generell würd ich vor dem ausprobieren immer in die doc schauen, denn beim ausprobieren kannst du nicht alle Feinheiten die du eventuell bedenken musst rausfinden

Durch regelmäßige Beiträge des Users "don siders" haben die Hilfe-Dateien zwar inzwischen mächtig aufgeholt, aber von "Feinheiten" merke ich in der Regel kaum etwas. Einfach aufs Geratewohl geöffnet: "TPen - The current Pen for drawing on the current Canvas". Alles klar, wenn du's nicht schon wüsstest? Oder: "TCheckListBox - the box found beside each item on a CheckList" - klingt wie eine schlecht übersetzte Gebrauchsanweisung

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: TStringGrid unerschied zw. Clear und Clean

Beitrag von Warf »

wp_xyz hat geschrieben:aber von "Feinheiten" merke ich in der Regel kaum etwas.


Ganz dummes beispiel, TList.Sort. Welchen sortieralgorithmus verwendet es? Das kann man durch testen einfach nicht rausfinden. Ein blick in die Referenz und man weiß es. Darum würde ich immer zu erst in die Refenz schauen, wenns da nicht drin steht dann ausprobieren, und wenn ich dann immernoch unsicher bin, dann in den source selbst schauen. Außerdem ists mMn auch einfach schneller ein blick in die Ref zu werfen, statt zu testen, und testen ist schneller als in den source zu schauen

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: TStringGrid unerschied zw. Clear und Clean

Beitrag von wp_xyz »

Und TCollection.Sort? Keine Angabe über den Sortier-Algorithmus. Daher ist mein erster Schritt immer das Ctrl+Click auf dem Bezeichner, der mich zum Quelltext führt. Das mit dem Ausprobieren ist in diesem Zusammenhang natürlich Unsinn. Doch bei der ursprünglichen Fragestellung war der Aufwand minimal (Ich hatte die Antwort übrigens vorher schon im Quelltext gefunden, doch ich wollte zeigen, dass es auch andere Möglichkeiten gibt, an die Antwort zu kommen)

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: TStringGrid unerschied zw. Clear und Clean

Beitrag von Warf »

wp_xyz hat geschrieben:Und TCollection.Sort? Keine Angabe über den Sortier-Algorithmus. Daher ist mein erster Schritt immer das Ctrl+Click auf dem Bezeichner, der mich zum Quelltext führt. Das mit dem Ausprobieren ist in diesem Zusammenhang natürlich Unsinn. Doch bei der ursprünglichen Fragestellung war der Aufwand minimal (Ich hatte die Antwort übrigens vorher schon im Quelltext gefunden, doch ich wollte zeigen, dass es auch andere Möglichkeiten gibt, an die Antwort zu kommen)

Ja, wenn nichts in der Ref steht schau ich auch im Quelltext nach, aber es kostet keine minute in der Ref nachzuschauen, und bei nicht trivialem code kann es schon mal deutlich länger dauern durch den Code zu schauen. Code lesen ist nicht einfach, in die Ref schauen schon. Und mittlerweile ist die Ref echt gut.

Wenn dein erster schritt ist direkt in den Source zu schauen, dann kannst du z.T. echt viel zeit verlieren um was rauszufinden was in der Ref stehen kann was du in 10 sekunden lesen kannst, z.B. das Copy on Write Verfahren von strings (z.b. beim benutzen von setlength). Ist in der Ref schön erlärt, während sich so low level funktionalität in der RTL anzuschauen echt beschissen ist (da die Unit die das implementiert für jede Plattform Include dateien hat, die cross referenzen und du kannst in laz nicht zwischen denen springen). Da kannst du gut und gerne mal ne halbe stunde bis stunde verbringen um das selbe festzustellen wie genau sich strings verhalten.

Antworten