Übersicht über die verfügbaren Komponenten

Für Fragen von Einsteigern und Programmieranfängern...

Übersicht über die verfügbaren Komponenten

Beitragvon braunbär » 8. Sep 2018, 21:07 Übersicht über die verfügbaren Komponenten

Gibt es so etwas irgendwo? Ich habe gesucht und leider nichts gefunden.

Mit FPC/Lazarus kommen eine Riesenzahl an verschiedenen Komponenten, viele werden mit der Defaultinstallation automatisch eingebunden, aber wohl gar nicht alle.

In der LCL Hilfe sind zwar die verschiedenen Komponenten alphabetisch aufgelistet, aber es steht nirgends, wozu die Komponente dienen, was sie genau machen, und bei ähnlichen Komponenten, was die verschiedenen Komponenten (z.B. die verschiedenen Buttontypen) voneinander unterscheidet. Gibt es da etwas, dass man nicht alle Komponenten durchprobieren muss, um einen Überblick darüber zu bekommen, was es gibt.

Ich plane jetzt ein komplettes Redesign meines von Delphi portierten Entwicklungsframeworks, und ich vermute, dass es für einige Aufgaben Komponenten geben wird, die besser sind als das, was ich derzeit verwende.
braunbär
 
Beiträge: 286
Registriert: 8. Jun 2017, 18:21

Beitragvon MacWomble » 8. Sep 2018, 21:13 Re: Übersicht über die verfügbaren Komponenten

Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.
MacWomble
Lazarusforum e. V.
 
Beiträge: 804
Registriert: 17. Apr 2008, 01:59
Wohnort: Freiburg
OS, Lazarus, FPC: Mint 19.1 Cinnamon / CodeTyphon LAB Version 6.90 / FP 3.3.1 Rev 42237 | 
CPU-Target: Intel i7 64/32 Bit
Nach oben

Beitragvon Warf » 8. Sep 2018, 21:59 Re: Übersicht über die verfügbaren Komponenten

Siehe den post von MacWomble, aber es gibt leider keine vollständige oder auch aktuelle Liste.

Sonderlich detailliert ist es meistens auch nicht. Dokumentationstechnisch ist Lazarus eine ziemliche Katastrophe. Du findest meist nur Sachen wenn du weißt wonach du suchen musst
Warf
 
Beiträge: 1161
Registriert: 23. Sep 2014, 17:46
Wohnort: Aachen
OS, Lazarus, FPC: Mac OSX 10.11 | Win 10 | FPC 3.0.0 | L trunk | 
CPU-Target: x86_64, i368, ARM
Nach oben

Beitragvon braunbär » 8. Sep 2018, 22:59 Re: Übersicht über die verfügbaren Komponenten

Danke für diese Links, die sind sehr interessant und hilfreich, auch wenn es nicht ganz das ist, wonach ich fragen wollte. Da gibt es wirkich eine ganze Menge Sachen zum Stöbern.

Was ich mir gewünscht hätte, wäre eine kurze Beschreibung aller Komponenten (und eventuell auch sonstigen Klassen), die im standardmäßigen Lazarus Download inkludiert sind. Mehr oder weniger das, was man in der LCL.chm findet, aber eben mit einer brauchbaren Textbeschreibung der Komponenten.

Warf hat geschrieben:Dokumentationstechnisch ist Lazarus eine ziemliche Katastrophe.

Tja, ich fürchte, da wird es dann nicht viel mehr geben als das extrem dürre LCL.CHM. Schade, weil schon einiges interessant sein könnte, aber es einen beträchtlichen Aufwand braucht, um herauzufinden, wozu die Dinge überhaupt gut sind - z.B. die TCoolBar. In der Doku findet sich nur die Liste der Properties und der Ableitungsbaum. Damit kann ich nicht viel anfangen. Müsste also ein Demoprojekt mit einer TCoolbar erstellen, aber dann brauche ich vermutlich noch TCoolBand und TCoolBands, und allein das Zusammenspiel der Komponenten zu erforschen, wäre ein etwas mühsames Ratespiel. Und das ist nur eine unter vielen derartigen Komponenten.
braunbär
 
Beiträge: 286
Registriert: 8. Jun 2017, 18:21

Beitragvon wp_xyz » 8. Sep 2018, 23:34 Re: Übersicht über die verfügbaren Komponenten

Kennst du diese wiki-Seite: http://wiki.lazarus.freepascal.org/LCL_Components? Da findest du zumindest mehr über die meisten Komponenten auf den Paletten, auch wenn es oft auch nur ein Satz ist.

Ansonsten bleibt mir nur, Werbung in eigener Sache zu machen. Ich habe für das demnächst erscheinende Buch "Lazarus Handbook" ein Kapitel über die Komponenten-Palette geschrieben und für jede Standard-Palette "Sinn und Zweck" sowie die Haupt-Properties und Methoden erläutert und bei den nicht direkt zugänglichen Komponenten auch eigens ein Demo-Projekt beigefügt (https://www.blaisepascalmagazine.eu/laz ... t-palette/).

Aber die nicht installierten Komponenten sind auch da nicht beschrieben. Der Quellcode steht im Ordner "Components" der Lazarus-Installation. Mit etwas Glück findest du ein Readme.txt o.ä., z.B. in googleapis, paradox, oder vlc, und/oder zumindest ein aussagekräftiges Demo.
wp_xyz
 
Beiträge: 2933
Registriert: 8. Apr 2011, 09:01

Beitragvon braunbär » 9. Sep 2018, 00:29 Re: Übersicht über die verfügbaren Komponenten

Die Seite könnte schon was sein - wenn sie denn funktionieren würde. Keine Ahnung, ob bei mir oder auf Sourceforge etwas kaputt ist. Jeder Link auf der Seite führt zur gleichen Fehlermeldung:

Code: Alles auswählen
An error has been encountered in accessing this page.
 
1. Server: lazarus-ccr.sourceforge.io
2. URL path: /docs/lcl/menus/tmainmenu.html
3. Error notes: NONE
4. Error type: 403
5. Request method: GET
6. Request query string: NONE
7. Time: 2018-09-08 22:23:40 UTC (1536445420)
 
Reporting this problem: The problem you have encountered is with a project web site hosted by SourceForge.net. This issue should be reported to the SourceForge.net-hosted project (not to SourceForge.net).
 
If this is a severe or recurring/persistent problem, please do one of the following, and provide the error text (numbered 1 through 7, above):
 
    Contact the project via their designated support resources.
    Contact the project administrators of this project via email (see the upper right-hand corner of the Project Summary page for their usernames) at user-name@users.sourceforge.net
 
If you are a maintainer of this web content, please refer to the Site Documentation regarding web services for further assistance.
 
NOTE: As of 2008-10-23 directory index display has been disabled by default. This option may be re-enabled by the project by placing a file with the name ".htaccess" with this line:
 
Options +Indexes
 


Wann kommt übrigens das Buch heraus? Wirst du das hier im Forum bekanntgeben?
braunbär
 
Beiträge: 286
Registriert: 8. Jun 2017, 18:21

Beitragvon wp_xyz » 9. Sep 2018, 00:42 Re: Übersicht über die verfügbaren Komponenten

Oh, da ist wieder das übliche Chaos... Leider finde ich den richtigen "Oberlink" nicht, aber dieser Link hat am Ende diese große mit "Component Palette" überschriebene Tabelle, die für die meisten Komponenten einen Querverweis zum Wiki (nicht zu der, wie du richtig gefunden hast, momentan defekten Online-Version der chm-Datei).
wp_xyz
 
Beiträge: 2933
Registriert: 8. Apr 2011, 09:01

Beitragvon braunbär » 10. Sep 2018, 00:23 Re: Übersicht über die verfügbaren Komponenten

Danke, das hilft schon sehr weiter, auch wenn die Information zu manchen Punkten sehr dürr ist - speziell dort, wo sich Komponenten ähnlich sind, wäre es hilfreich, wenn die Unterschiede klar angesprochen würden. Vielleicht gibt es das ja dann in dem Lazarus-Buch, das neu herauskommt ;)
braunbär
 
Beiträge: 286
Registriert: 8. Jun 2017, 18:21

Beitragvon wp_xyz » 10. Sep 2018, 00:39 Re: Übersicht über die verfügbaren Komponenten

Ich habe jetzt einiges an Arbeit in die Seiten reingesteckt und viele Lücken ausgefüllt.

Eine Seite zu Bookmarken ist http://wiki.lazarus.freepascal.org/Component_Palette. Über die lange Tabelle in Querformat ganz oben kommt man zu den einzelnen Paletten, die jeweils die Komponenten zusammen mit Icon und Kurzbeschreibung in einer Tabelle zusammenfassen; dabei ist mit den Haupt-Wiki-Eintrag jeder Komponente verlinkt, sowie mit der Online-Hilfe in der letzten Spalte (die z.Zt. allerdings nicht funktioniert).

Oder man geht über den Link http://wiki.lazarus.freepascal.org/LCL_Components rein. Hier sind die Paletten aufgeführt und die darauf enthaltenen Komponenten. Klick auf den Paletten-Namen und auf den Komponentennamen für auf dieselben Seiten wie schon erwähnt. Die bisher vorhandenen Links zur Online-Hilfe habe ich gegen die wiki-Links ausgetauscht.

braunbär hat geschrieben:Danke, das hilft schon sehr weiter, auch wenn die Information zu manchen Punkten sehr dürr ist - speziell dort, wo sich Komponenten ähnlich sind, wäre es hilfreich, wenn die Unterschiede klar angesprochen würden.

Wenn du spezielle Punkte hast, die man klarer herausarbeiten sollte, kann du diese hier gerne ansprechen.
wp_xyz
 
Beiträge: 2933
Registriert: 8. Apr 2011, 09:01

Beitragvon braunbär » 10. Sep 2018, 19:45 Re: Übersicht über die verfügbaren Komponenten

wp_xyz hat geschrieben:Ich habe jetzt einiges an Arbeit in die Seiten reingesteckt und viele Lücken ausgefüllt.

Vielen Dank dafür!

wp_xyz hat geschrieben:Wenn du spezielle Punkte hast, die man klarer herausarbeiten sollte, kann du diese hier gerne ansprechen.

Auf Anhieb fallen mir zwei Dinge ein:
Sehr hilfreich wäre eine Gegenüberstellung der verschiedenen Buttonkomponenten. Da gibt es etliche, die sich alle ähnlich sehen, aber offenbar doch voneinander unterscheiden. Um die Unterschiede herauszufinden und dann den "optimalen" Button auszuwählen, muss man sich momentan wohl in den Code einlesen.

Die zweite Frage betrifft TSplitter und TPairSplitter. Können die beiden im Prinzip genau das selbe (nur etwas anders umgesetzt), oder sind die für jeweils andere Aufgaben gedacht?
braunbär
 
Beiträge: 286
Registriert: 8. Jun 2017, 18:21

Beitragvon wp_xyz » 10. Sep 2018, 22:38 Re: Übersicht über die verfügbaren Komponenten

braunbär hat geschrieben:Sehr hilfreich wäre eine Gegenüberstellung der verschiedenen Buttonkomponenten. Da gibt es etliche, die sich alle ähnlich sehen, aber offenbar doch voneinander unterscheiden. Um die Unterschiede herauszufinden und dann den "optimalen" Button auszuwählen, muss man sich momentan wohl in den Code einlesen.

Die zweite Frage betrifft TSplitter und TPairSplitter. Können die beiden im Prinzip genau das selbe (nur etwas anders umgesetzt), oder sind die für jeweils andere Aufgaben gedacht?

Ich habe die entsprechenden Beschreibungen in den Zusammenfassungen etwas ausführlicher gemacht. Vielleicht ist es jetzt klarer. Ansonsten:
  • TButton -- nur ein Button mit Caption
  • TBitBtn -- wie TButton, aber mit optionalem Icon
  • TSpeedButton - wie TBitBtn, kann aber nicht fokussiert werden. Ein mögliches Anwendungsgebiet wäre eine Eingabezeile (TEdit) mit einem TSpeedButton mit Icon daneben, der z.B. einen anderen Dialog öffnet. Hier ist TSpeedButton von Vorteil gegenüber TBitBtn, weil der Eingabefokus nicht vom TEdit genommen wird.
  • TToolButton -- nicht als separate Komponente verfügbar, da nur als Bestandteil einer TToolbar funktionsfähig.
  • TColorButton -- Spezialbutton, der nichts anderes kann als ein Farbauswahlfenster zu öffnen
  • TEditButton -- unglücklicher Name, gemeint ist ein TEdit mit integriertem SpeedButton.
  • TButtonPanel -- Panel im integrierten Standard-TBitBtn's.
  • TSplitter - nur der vertikale/hoizontale Streifen, den man mit der Maus anfassen muss, um die angrenzenden Controls in der Größe zu verändern.
  • TPairSplitter -- Zusätzlich zu dem Splitter sind schon die angrenzenden Panel-ähnlichen Controls vorhanden, auf denen man wiederum weitere Controls platzieren kann. Ist eher unüblich .Ich weiß nicht mehr genau, aber ich meine mich zu erinnern, dass diese Kombination nicht so flexibel ist wie wenn man einen TSplitter allein verwendet.
wp_xyz
 
Beiträge: 2933
Registriert: 8. Apr 2011, 09:01

Beitragvon braunbär » 11. Sep 2018, 17:59 Re: Übersicht über die verfügbaren Komponenten

Danke dir. Da stellen sich mir noch ein paar Fragen:

Wozu gibt es TButton und TBitBtn - Wenn ich im TBitBtn keine Graphik angebe, habe ich dann nicht einen TButton?
TToolbutton - Was ist der Vorteil, in einer Toolbar den TToolButton an Stelle des TButton (TBitBtn) zu verwenden? Was kann der mehr als der Tbutton?

Und noch was ist mir eingefallen: TToolbar und TCoolbar. TCoolbar scheint mehrzeilig zu können. Machen die Kompos davon abgesehen das Gleiche?
braunbär
 
Beiträge: 286
Registriert: 8. Jun 2017, 18:21

Beitragvon wp_xyz » 11. Sep 2018, 18:25 Re: Übersicht über die verfügbaren Komponenten

braunbär hat geschrieben:Wozu gibt es TButton und TBitBtn - Wenn ich im TBitBtn keine Graphik angebe, habe ich dann nicht einen TButton?
Weißt ich nicht. Die richtige Antwort ist wahrscheinlich: Weil's Delphi auch so macht... Und Delphi macht's so, weil's Windows so macht...

braunbär hat geschrieben:TToolbutton - Was ist der Vorteil, in einer Toolbar den TToolButton an Stelle des TButton (TBitBtn) zu verwenden? Was kann der mehr als der Tbutton?
TToolButton ist speziell für TToolbar gemacht. Bietet auch die Möglichkeit, einen Pfeil für ein Dropdown-Menü unterzubringen (Style = tbsDropdown). Die Frage ist wahrscheinlich eher: Warum überhaupt eine TToolbar, wenn man dasselbe auch mit einem Panel und SpeedButtons machen könnte? Das ginge auch, und würde wahrscheinlich gar nicht auffallen. Der Unterschied tritt zutage, wenn viele Buttons vorhanden sind: dann bricht TToolbar in eine neue Zeile um, das Panel würde die rechts über den Rand des Fenster hinausragenden Buttons gar nicht anzeigen.

Übrigens: einen TButton würde ich nicht in eine Toolbar setzen, weil nach dem Klick der Fokus auf dem Button ist. Stell dir vor, du schreibst in einem "TSuperEdit" einen Text und möchtest ab jetzt auf Fettschrift umschalten, wofür es einen TButton in der Toolbar gibt. Nach dem Klick auf dem Button könntest du im TSuperEdit nicht mehr weiterschreiben, weil nun der TButton fokussiert ist - du müsstest erst wieder ins TSuperEdit klicken. TToolbutton (und auch TSpeedButton) macht das nicht.

braunbär hat geschrieben:TToolbar und TCoolbar. TCoolbar scheint mehrzeilig zu können. Machen die Kompos davon abgesehen das Gleiche?

TCoolbar ist ein Container üblicherweise für Toolbars, man findet oft aber auch Comboboxen und andere Controls. In einer Coolbar erhält jedes Control sein eigenes Band mit einem Greifer links. Damit kann man das Band anfassen und an einen anderen Ort ziehen, evtl sogar auch abdocken und an einer anderen Stelle andocken. Insgesamt kann der Enduser damit die Oberfläche weitgehend umgestalten. Es gibt ein Demo im Ordner (lazarus)/examples/cooltoolbar.

Ähnlich zu TCoolbar ist TControlbar, bei dem sich die Bands über die ganze Windowbreite erstrecken (bei TCoolbar haben sie die Größe des Controls), und die etwas anders erzeugt werden.

TCoolbar und TControlbar waren lange Zeit bei Delphi extrem fehlerträchtig und nervig - ob es jetzt besser ist, weiß ich nicht. Bei Lazarus wurde TCoolbar ohne die Microsoft-Controls komplett neu geschrieben und erscheint mir stabiler, hat aber auch seine Macken. Generell solltest du dich auf viele Experimente gefasst machen, wenn du dich auf die Dinger einlassen willst.
wp_xyz
 
Beiträge: 2933
Registriert: 8. Apr 2011, 09:01

Beitragvon wp_xyz » 12. Sep 2018, 15:39 Re: Übersicht über die verfügbaren Komponenten

Einen der Buttons habe ich noch vergessen: Wenn man einen "einrastenden" Button benötigt, quasi als Checkbox-Ersatz, ist TToggleBox ganz nützlich - der bleibt nach dem Click gedrückt und löst sich erst wieder beim nächsten Klick.
wp_xyz
 
Beiträge: 2933
Registriert: 8. Apr 2011, 09:01

• Themenende •

Zurück zu Einsteigerfragen



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste

porpoises-institution
accuracy-worried