Mithilfe gesucht für...

Rund um die LCL und andere Komponenten
schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

@Christian

Nun versuch mich mal nicht zu veralbern, unified modelling language dient zur Beschreibung von Geschäftsmodellen. Die faßt also logisch und funktional zusammengehörende Daten zu einem Geschäftsmodell (Anwendungslogik) zusammen und soll dann unabhängig von der Programmiersprache entsprechenden Quellcode produzieren.

Dabei entstehen fast zwangsläufig Objekte aus eben genau diesen Daten. Was ich immer nicht verstehen kann, das sich der OO-Ansatz bis heute in den Köpfen nicht recht manifestiert hat. Das ist mitnichten ein einzelnes Objekt das eine Eingabe annimmt. Das ist eher vergleichbar mit der Substitutionsmethode aus der Mathematik. Bei sehr komplexen Gleichungen werden Terme substituiert und dadurch das Ganze übersichtlicher gemacht. Bei der Infinitesimalrechnung gibt es manchmal gar keine andere Möglichkeit die Gleichungen zu lösen. Dabei entspricht der Term einem Objekt, das auch mehr als eine Variable haben kann.

Man kann und sollt die OO so verstehen, das man den Komplexitätsgrad eines Programms dadurch niedriger macht, das man entsprechend der Programmlogik solche logisch und funktional zusammen gehörenden Objekte eben auch zu einem neuem Objekt vereinigt.

Ich behaupte ja nicht, das man einen entsprechenden Wizard nun für alles und jedes benutzen sollte. Aber man könnte wenn man ihn denn hätte. Nicht alles was man damit baut muß unbedingt als Package in der IDE eingerichtet werden aber man könnte.

Aber es spricht überhaupt nicht das Geringste dagegen, sich die Fähigkeiten und Arbeitserleichterungen der IDE auch für diese Zwecke zunutze zu machen.

Warum soll ich denn solche Objekte auf nem Formular bauen und dann Klimmzüge am Brotkasten machen um das auf nem anderen Formular anzuzeigen wenn ich das auch einfacher haben kann?

Genauso spricht auch nichts dagegen, das auch auf nicht visuelle Komponenten auszudehnen. Wenn man mal die Schranken im Kopf abbaut merkt man erst wie mächtig OOP sein kann wenn man denn nur mal bereit ist die Froschperspektive aufzugeben. Ich hab hier noch ein Kalender-Objekt, das ich auf FPC umbauen muß. Das besteht aus 3 Grundkomponenten die jede ihre Grundfunktionalität vor dem Endprodukt verbergen. Das ist im Idealfall i.d.L. für jedes beliebige Land auf dieser schönen verkorksten Welt die geltenden Feiertage anzuzeigen. Dafür braucht es am Ende nur die entsprechende dll(so). Zusätzlich lassen einzelne Wochentage auf verschiedene Arten selektieren, z.B. eine Woche in einer Rutsche, alle Dienstage in einem Monat, mit jeweils genau einem Klick. Dabei werden je nach Voreinstellung Sonn- und Feiertage ausgenommen. Das hab ich zu Fuß gebaut und ne Weile dran gesessen, dabei hätte mir ein solcher Wizard mehrere Tage Arbeit erspart.

Es gibt also kein wirkliches Argument dagegen, dafür hingegen ne ganze Menge.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Das ist eine Beschreibungs Sprache. Die meines Wissens nur ein Programm ablauf beschreibt bzw. einzelne Klassen.

aber ich glaube du meinst mich gar nicht.

@schnullerbacke
ich glaube mit den Buttons meinst du die Auswahl von Zeichen Objekte oder ?
naja für diese gilten für alle das gleiche Ereignis.

naja verstehen tue ich es immer noch nicht ganz, aber viel Spaß.
MFG
Michael Springwald

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

Cut, Copy, Paste, Schriftart, Schriftfarbe gibt's bei dir alles nicht? Ich würde ja ne ToolBar einbauen und die Funktionen einzeln einbauen. Das kannste ja ohne Wizard mal machen, dazu wünsch ich dir viel Spaß.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

> Cut, Copy, Paste
doch sowas gibt es. wenn du mein Paint2 Projekt meinst.
ich habe sogar ein einer Rückgängig und wieder herstelllungs Funktion rumgebastetelt aber ich habes nicht hinbekommen.
also einfügen, ausschneiden und Löschen ist möglich.

ach so, du möchtes ein Wissard bauen für Komponenten....
MFG
Michael Springwald

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

Mein Gott er hat es...
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

ja ich weiß unglaublich aber trozdem wahr *G*
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Schön, du weisst also was UML ist. Und was hat UML nun mit deinem Formdesigner zu tun ? das sind für mich 2 völlig verschiedene Sachen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

Wieso Formdesigner? Den gibt's doch schon. Das UML aber nur wegen OOP funktioniert und am Ende aus dem Geschäftsmodell auch die entsprechenden Eingabeobjekte als Dialoge produziert scheint dir entgangen zu sein. Einzig die Programmiersprache darf man wenn man Glück hat wählen. Meistens sind die Tools aber auf eine Sprache festgelegt. Dafür brauch ich den Käse aber dann nicht, das kann ich mit solchen Hilfsmitteln wie oben beschrieben genauso schnell oder schneller auch ohne UML.

Bis jetzt hat noch jede High-Level Programmiermethode sehr schnell bewiesen, das sie Blech und nicht genügend flexibel ist. OOP ist flexibel und man kann damit alles machen. Dann muß man aber auch die notwendigen Werkzeuge haben um sie auch so zu nutzen.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

ich versteh nicht was du willst, ursprünglich ging es in dem Thread darum das du einen Visuellen Komponentendesigner haben wolltest dann wirfst du plötzlich UML mit rein. Heißt das du willst alle deine "Eingabeobjekte" als Komponenten realisieren ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

Nö, nur die die häufiger gebraucht werden und bei denen nicht vorher feststeht ob sie zur Entwurfszeit oder erst zur Laufzeit auf einer beliebigen Komponente auftauchen. Das können dann aber durchaus ganze Eingabe-Dialoge sein mit allen Plausis und zugehörigen Tests oder Datenbank-Funktionen. Oder eben auch eine Editor-Komponente mit so netten Sachen wie Serienbrief und ähnlichem.

Ich habe lediglich darauf hingewiesen, das man mit solchen Hilfsmitteln auch prima auf UML verzichten kann, weil es dann keinen Zeitvorteil mehr gibt, soweit der denn überhaupt existiert.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Also deine Argumente sind ein wenig komisch.
UML braucht man dazu auch nicht ich bin der Meinung eine Datenbank in ein Objektmodell quetschen zu wollen ist ganz schön krank. Im Endeffekt hat man eh mehr Arbeit als vorher. Und genau so sinnlos ist es Formulare in Komponenten packen zu wollen bzw Teile von Eingabemasken. Aber mach mal.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

Wer hat denn was von der Datenbank gesagt, geht doch wohl mehr darum einfach ein TDataSource als:

property DataSource: TDataSource write GetDataSource;

in die komplexe Komponente zu stellen. Dann kannste auch DB-Objekte nehmen und zur Entwurfszeit die Datenfeldbindung durchführen. Und schwupps, kann ich die Geschäftslogik in der Komponente fertig einbauen und für Sonderfälle wie Gesetzesänderung noch das Event:

property OnComputeThis: TIrgendwasEvent(args);

da reinbauen. Auf die Weise klick ich mir das aufs Formular oder wo auch immer hin und zieh mir das Event ins Hauptformular. Das ist dann ein Aufwand von wenigen Minuten und im Owner kann dann die entsprechende Routine aufrufen, die das gültige Gesetz zur Anwendung bringt. Gesetze sind ja schließlich in vielen Fällen die Geschäftslogik, nicht nur bei kaufmännischen Anwendungen. Das Gilt für den technischen Bereich genauso, nur heißen die da Naturgesetze oder Definitionen.

Auf die Weise könnte man sich alle gängigen elektronischen Bauelemente mit den zugehörigen Formel und dem Bild für eine Zeichnung als Kompo bauen. Dann kann man vom kleinen Lernprogramm bis zum Schaltungsentwurf alles damit machen. Und leicht erweiterbar ist es auch noch.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Ähm du redest hier die ganze Zeit von Warenwirtschaft oder nem Fibu Programm und fragst jetzt "wer hat was von Datenbank gesagt ?" Also Sorry ich hab echt keine Lust mehr mich mit dir zu Unterhalten. Und Anwendungen sollten so Flexibel sein das man Gesätzesänderungen in der Konfiguration abfangen kann. Mal Steuerprogramme ausgeschlossen dort ist das sicherlich zu komplex.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Beitrag von knight »

Unterschätzt mir den Gesetzgeber nicht. Wenn es um die Schaffung neuer bzw. die Änderung bestehender Gesetze geht, dann hat das mehr mit Fantasie als mit Logik zu tun. Ich bezweifle das es möglich ist, ein Computerprogramm so zu schreiben, daß man auf alle möglichen Gesetzesänderungen reagieren kann.

knight

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

Auf die Änderungen schon, selbst die folgen gelegentlich mal einer gewissen Logik. Bei solchen Anwendungen muß man aber grundsätzlich meistens die älteren Gesetze im Programm belassen, siehe Vertrauensschutz im GG.

Besonders bei Steuergesetzen gilt das. Da gelten die Änderungen immer ab einem bestimmten Datum. Um das später richtig nachvollziehen zu können, muß man regelmäßig den geltenden Paragraphen als Text in die Daten mit einstellen. Ähnliches gilt für die FiBu, da muß dann BiRiLiG angewendet werden.

Wer mal ein bißchen hinter die DATEV-Programme guckt, der sieht sehr schnell wie die das gelöst haben. Dort gelten die Steuergesetze und BiRiLiG gleichermaßen und dürfen immer nur zeitrichtig angewendet werden. Dabei ändern sich die Grundsätzlichen Daten eher selten, das schreit dann geradezu nach komplexen Komponenten. Siehe AfA, die Bezugsdaten sind seit Jahrzehnten dieselben nur die degressive AfA ist weggefallen und die Abschreibungsdauer für die lineare AfA hat sich während dieser Zeit mehrfach geändert. So lassen sich z.B. auch die Bilanzkonten prima als Objekte bauen, auch da ändert sich innerhalb des Kontenrahmens eher selten etwas.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

Antworten