An af0815

Für Dinge zum Forum, Kritik, Verbesserungsvorschläge, Umfragen und ähnliches.
Mario Peters
Beiträge: 21
Registriert: Sa 26. Apr 2025, 22:41

Re: An af0815

Beitrag von Mario Peters »

charlytango hat geschrieben: Mi 13. Aug 2025, 17:01 si tacuisses ...

ich fürchte Philosoph wird in diesem Leben keiner mehr aus mir.
30 Zugriffe in etwas weniger als 2 Stunden und kein Post? -- egal.

Einem Anfänger (wie du dich selbst bezeichnest) kann man durchaus Unwissenheit zugestehen und @wp_xyz hat sich ja auch intensiv um dein Anliegen gekümmert.

BTW: Eine Reaktionszeit unter 25 Minuten in einem Gratisforum ist schon rekordverdächtig. Noch dazu mit einem 3rd Level Ansprechpartner (also einem Entwickler). Ich empfehle ähnliche Versuche beim kostenpflichtigen Support, nur so zum Vergleich.

Dein Post sagt mehr über dich aus als dass deine Rechtfertigung und deine Vermutungen ein Echo bekämen. Übrigens ist jeder eingeladen sich mit seinen Fähigkeiten einzubringen -- Stichwort Lastenheft oder auch seine Kompetenz einzubringen, Bugreports zeitnah zu bearbeiten.
Mario Peters hat geschrieben: Mi 13. Aug 2025, 15:42 Als Anfänger kann ich nur sehr schlecht Eure Arbeit belohnen
Da liegst du völlig falsch, denn das Mindeste wäre etwas Respekt und vielleicht auch Demut vor der Leistung, die du so selbstverständlich benutzt.
Mario Peters hat geschrieben: Mo 11. Aug 2025, 19:06 Jauuuu, es ist vollbracht. Habe es hinbekommen. Hatte bloden Schusselfehler drin. Sorry, jetzt aber wird das Tortenstück korrekt gezeichnet.
Das beweist übrigens, dass du nimmst, aber nicht gibst -- denn dein Beitrag einer Lösung wäre zumindest der Respekt gegenüber wp_xyz und seinem Einsatz sowie dem Forum gegenüber (das ja auch gratis ist)

q.e.d.
Ach ja? Sowas scheint aber in Internetforen Standard zu sein, dass der Fragende NICHT seine eigene Lösung zeigt, sich lieber darauf verlässt, dass Andere welche alle Erklärungen lesen dann schon verstehen und so wie der Threadersteller die Lüsung ebenso findet. Wie oft habre ich mich allerding in ALLEN von mir benutzten Foren über so ein Verhalten geärgert, ich sollte also in sclcher Gemeinschaft nicht besonders auffallen!

Aber hier sein eine völlig eigener Ansatz füreine Ellipse die fortlaufend die x,y Koordinaten aller Punkte mit berechnet.

Code: Alles auswählen


procedure PlotEllipse(x1,y1,x2,y2: Integer; alpha1,alpha2: extended);
var
  a,b: Integer;
  ra,rb: extended;
  x,y: Integer;
  alpha: Extended;
  e,r: Extended;
begin
   alpha := alpha1;
   a := (x2-x1) div 2;
   b := (y2-y1) div 2;
   e := sqrt(sqr(a)-sqr(b))/a;
   r := sqr(b)/(1-sqr(e)*sqr(cos(alpha)));

   while alpha >= alpha2 do
   begin
      x := CenterPoint.X + Round(a * cos(alpha1)*1000.0);
      y := Centerpoint.Y + Round(b * sin(alpha1)*1000.0);
      if alpha = alpha1 then Line(CenterPoint.X,CenterPoint.Y, x,y);
      alpha := alpha + 1.0;
      DrawPixel(Round(x),Round(y));
   end;
   Line(Centerpoint.X,Centerpoint.Y, x, y);
end;
Den Tangens habe ich nicht verwendet, da ich mir das erst noch vergegenwärtigen muss sonst wende ich die FPascal Funkzíonen wieder nur an ohne allesn wirklich im Deatail (nicht nur grob) verstanden zu haben. Daher in diesem Beispiel wieder nur die Ellipsengleichungen. Obwohl der Tangens im Fall der Berchnung vom Mottelpinkt aus funktionieren sollte. Wenn aber nicht, dann beginnt die Fehlersuche. Dann lieber vorher alles wirklich gründlich verstehen und dann mit unterschiedlichen Ansätzen Ellipsen auf den Bildchirm "zaubern"


Den aktuellen Ellipsencode muss ich erst noch aufräumen, zu viel drin rumgeschmiert. Testberechnungen die wieder auskommentiert wurden wenn nicht korrekt, dher Code schrcklich unübersichtlich. Kann ich miemandem zumuten. Dauert ca.3 Wochen wegen Urlaub zwischendurch

Mario Peters
Beiträge: 21
Registriert: Sa 26. Apr 2025, 22:41

Re: An af0815

Beitrag von Mario Peters »

hum4n0id3 hat geschrieben: Do 14. Aug 2025, 08:36
Mario Peters hat geschrieben: Mi 13. Aug 2025, 15:42
af0815 hat geschrieben: Vielleicht als Erinnerung, Lazarus (und FPC) und die ganzen Bibliotheken liegen im Quellcode vor. Somit sind alle Quelltexte uneingeschränkt einsehbar. Und auch schon am Rechner vorhanden.
Da gucke ich gelegentlich auch rein.
Man muss hier einwenden das es für einen Anfänger nicht viel bringt, das der Code offen vorliegt, da er ihn nicht verstehen wird. Es ist ja schon für Erfahrene nicht immer leicht, oder für Fremdsprachler (jemand der nicht in Pascal spricht). Heute kann allerdings ein GPT bei der erforschung helfen, aber verstehen und nachvollziehen nimmt es nichts ab.
Du sagst es, geneu hier legt das Problem. In Sachen Ellipse gibt es ja die fclimage Klassen, da gibt es auch Ellipsenfunktionen, aber leider nur vollständige Ellipsen, zumindest im fclimage Ordner und die TEllipseInfo und deren Einsatz muss ich noch studieren da ist noch nicht alles verstanden. Deshalb auch die eigene Ellipsenfunktion.
Das gibt es auch in Open Source. Professionelle Softwareumgebungen haben erstmal nichts mit einer Lizenz zu tun. Nur Pflichtenheft gibt es nur zwischen festgelegten Vertragspartnern und ein Pflichtenheft für die Allgemeinheit macht keinen Sinn. Viele Open Source Projekte haben eben keinen finanziellen Hintergrund und es ist schlicht Quatsch zu erwarten, jemand setzt sich hin und entwickelt einfach so, auch kostenlos, verpflichtend nach einem Pflichtenheft. Klassisch schreibt jemand ein Tool und wenn er will, stellt es öffentlich unter einer Open Source Lizenz ins Netz, damit andere die das Tool nützlich finden es nutzen können und dank des offenen Codes die Software selbst, oder jemand anderes, erweitern können. Der Ursprüngliche Entwickler darf seine Software entweder pflegen oder es auch sein lassen, da es keinerlei verpflichtung für weitere Features oder Bugfixes besteht. Erst wenn der Entwickler vertraglich gebunden ist, bestimmte Features oder Support zu liefern, muss er eben dafür arbeiten.
Ich finde ein Pflichtenheft schon sinnvoll! Eine Verinbarung bei Opensouce muss sich ja dabei nicht an die gesetzlich vorgeschriebene Form halten, mir geht es um eine verbindliche Vereinbarung über die Funktionen und Eigenschaften einer Software. Hier Lazarus.

Soll dessen Optik weiterhin seine fliegenden Fenster behalten (Delphi 7 Stil), oder soll es wie die neueren Delphi Versionen als ein einziges Fenster erscheinen? oder wie berchnet man Elipsen? (mit exzentrischen Winkeln oder mit Polarwinkeln? Zumal sich ja gezegt hat, dass die Berchnungsmethode maßgeblichen Einfluss auf das Ergebnis hat und dann noch in einzelnen Plattformen unterschiedlich. Ich denke schon dass man sich da auf einen Programmierstil festlegen sollte.

Du schreibst, dass im Oprnsource Bereich jemand aus freien Stücken ein Tool entwickelt, wenn er will stellt er unter OpenSource und GPL. Ok, das heißt für Lazarus, wenn das Tool nützlich ist, kommt es in den Codepool und wenn noch nicht alle Codeeigenschaften und Fähigkeiten passen, wird der Code angepasst. Allerdings kocht dann im schlechten Fall jeder sein "eigenes Süppchen", ohne dass sich die Entwickler unterenander verständigen. Ok, es gibt GitHub oder Sourceforge, wo die Entwickler ihren Code hoch laden können, aber ich würde mir mehr Kommunikation der Entwickler untereinander wünschen. Nun hat Lazarus aber eine ganze Litannei von Entwicklern. Wie funktioniert das dort mit dieser Kommunikation? Es gibt auch regelmäßige Lazarus Enwicklertreffen. Auf denen könnte auch über die Zukunft von Lazarus geprochen werden. Ein gesetzlich vorgescriebens Pflichtenheft braucht es da gar nicht, nur sinnvolle Vereinbarungen zwischen den richtig aktiven Entwicklern. Eben wie Lazarus optisch aussehen soll oder bei mathematischen Bercechnungen, wie das Ergebnis bestimmt werden soll und das für alle unterstützten Plattformen. Da shat nichts mit verpflichtender Entwicklung nach Vorschrift zu tun (Pflichtenheft), sondern einfach mit sinnvollen Vereinbarungen. Wenn da zB. meine Ellipse oder mit ihr die Arc Funktion gebraucht wird, will der Entwickler die Ellipse programmieren, wenn der die Ellipse eifach aus Lust und Laune entwickelt und in leinem Team ist, baut er die Ellipsengleichungrn nach eigenm Gusto und wir haben die hiesige Situation. Wenn der Entwickler aaber im Lazarus Team entwickelt, kann er naxhfragen, wie die Ellipse berchnet werden soll, (windows richtig oder Linus richtig). Dies und nichts anderes wollte ich damit ausdrücken!

Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 626
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 4.3 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
Kontaktdaten:

Re: An af0815

Beitrag von Niesi »

Mario Peters hat geschrieben:
...

Dies und nichts anderes wollte ich damit ausdrücken!

Du hast viel gesagt und viel verlangt. Und eigentlich nur rumgemeckert.

Wenn DU möchtest, dass etwas bestimmtes passiert oder gemacht wird: Dann bring Dich ein, mach etwas, zeige, wo es lang geht.

Du KANNST die Lazarus- IDE nutzen.

Du MUSST es nicht.

Wenn Du etwas verändert haben möchtest, dann ändere etwas.

Sonst nimm halt Delphi ...
Zuletzt geändert von Niesi am Sa 16. Aug 2025, 12:23, insgesamt 1-mal geändert.
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

charlytango
Beiträge: 1139
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: An af0815

Beitrag von charlytango »

Niesi hat geschrieben: Fr 15. Aug 2025, 21:12 Wenn Du etwas verändert haben möchtest, dann ändere etwas.
Sonst nimm halt Delphi ...
++
Mario Peters hat geschrieben: Fr 15. Aug 2025, 20:15 Eine Verinbarung bei Opensouce muss sich ja dabei nicht an die gesetzlich vorgeschriebene Form halten, mir geht es um eine verbindliche Vereinbarung über die Funktionen und Eigenschaften einer Software.
mir wird gerade schlecht...

Wie kommst du auf dieses schmale Brett, dass es eine gesetzliche Formvorschrift gäbe ?
Selbst die KI fantasiert da etwas anderes.

Ist doch schön, dass es DIR um eine verbindliche Vereinbarung geht. Ich habe keine Ahnung welchen Background du hast, aber nach so 35 Jahren Softwareentwicklung mit kleinen und sehr großen Kunden (also solchen die dir einen 140 seitigen englischen Rahmenvertrag vorlegen bevor sie überhaupt mit dir im Detail reden - ich spreche von einem Rahmenvertrag mit dem besagte Firma vom Klopapier bis zu kompletten Hafenanlagen einkauft ) was noch nie ein Pflichtenheft so in Stein gemeisselt dass es "verbindlich" wäre. Eher ein Quell ewiger Freude und permanenter Diskussion.

Ich bin sicher einer der schärfsten Kritiker was die Struktur und die finanzielle Ausgestaltung von Lazarus betrifft. Aber die Entwickler leisten hervorragende Arbeit in einem höchst komplexen Umfeld mit mehreren Ziel-Betriebssystemen.

Wenn du etwas geändert haben willst, dann mach es doch und stell das Ergebnis zur Diskussion.

Wenn du legacy Software willst, dann kann ich nur @Niesi zustimmen -> dann nimm halt Delphi.

BTW: beides langjährig probiert -- kein Vergleich -- Nur so als Beispiel: Versuch doch mal bei Embarcadings Kontakt zu einem Third-Level Support oder Systementwickler zu bekommen.

Mario Peters
Beiträge: 21
Registriert: Sa 26. Apr 2025, 22:41

Re: An af0815

Beitrag von Mario Peters »

charlytango hat geschrieben: Fr 15. Aug 2025, 22:53
Niesi hat geschrieben: Fr 15. Aug 2025, 21:12 Wenn Du etwas verändert haben möchtest, dann ändere etwas.
Sonst nimm halt Delphi ...
++
Mario Peters hat geschrieben: Fr 15. Aug 2025, 20:15 Eine Verinbarung bei Opensouce muss sich ja dabei nicht an die gesetzlich vorgeschriebene Form halten, mir geht es um eine verbindliche Vereinbarung über die Funktionen und Eigenschaften einer Software.
mir wird gerade schlecht...
charlytango hat geschrieben: Wie kommst du auf dieses schmale Brett, dass es eine gesetzliche Formvorschrift gäbe ?
Das habe ich nie behauptet! Wird ja, wie ich das nun verstanden habe auch gar nicht gebraucht, aber ich bin sehr wohl davon überzeigt, dass sich auch mal mehrere Entwickler für ein Projekt zusammen schließen und wenn das passiert, dann dürften sich diese Entwickler wohl auf ein gemeisamens Entwurfsmodell einigen ohne dass da irgendjemand irgendwas vorschreibt. Der Rest des Ablauges ist mir jetzt klar, wenn einzelne Entwickler was einbringen wollen liegt es in der Natir des Abluges dass da nicht abgesprochen wird, der Entwickler baut eigach die von ihm gewünschten Faähigkeiten in die Software ein und gut is.
charlytango hat geschrieben: Ist doch schön, dass es DIR um eine verbindliche Vereinbarung geht. Ich habe keine Ahnung welchen Background du hast, aber nach so 35 Jahren Softwareentwicklung mit kleinen und sehr großen Kunden (also solchen die dir einen 140 seitigen englischen Rahmenvertrag vorlegen bevor sie überhaupt mit dir im Detail reden - ich spreche von einem Rahmenvertrag mit dem besagte Firma vom Klopapier bis zu kompletten Hafenanlagen einkauft ) was noch nie ein Pflichtenheft so in Stein gemeisselt dass es "verbindlich" wäre. Eher ein Quell ewiger Freude und permanenter Diskussion.
Und was wird da in einem Lazarus Entwicklertreffen gemacht die jährlich stattfinden? Programmiert da wirklich jeder für sich im stilllen Kämmerlein, ohne sich in irgendeiner Weise miteinder auszutauschen????
charlytango hat geschrieben: Ich bin sicher einer der schärfsten Kritiker was die Struktur und die finanzielle Ausgestaltung von Lazarus betrifft. Aber die Entwickler leisten hervorragende Arbeit in einem höchst komplexen Umfeld mit mehreren Ziel-Betriebssystemen.
Dann wäre es wenn das nicht eh schon passiert, außerordentlich hilfreich wenn dann ein Linux Experte der mitentwickelt, Infos zur Verfügung stellen würde, die zur Realisierung einer Linus Version der Software wichtig sind, würde schenlller gehen, als wenn der willige Mitentwickler einer Moral wegen sich all diese Infos selber suchen müsste, das "Fahrread so zum zweiten Mal efinden müsste.
charlytango hat geschrieben: Wenn du etwas geändert haben willst, dann mach es doch und stell das Ergebnis zur Diskussion.

+@Niesi:

Nun, einer meiner Freunde benutzt noch DOS und so auch den DOS Compiler von Freepascal. Ist denn für diesen auch das fclImage Paket schon da? Ich meine fertig compiliert für GO32V2 bzw. 16 Bit DOS? Und funktionieren dort auch die Arc() Funktionen?

Quelltextstudium meinerseits hat ergeben, dass in diesem Paket das Zeichnen volltändiger Ellipsen berits implementiert ist, aber es fehlen Ellipsenbögen.Was nun???? Dies passt mir zum Beispiel ganz und gar nicht. Wollte zuerst den schnellen Weg gehen und die Ellipse Routine aus der alten Graph Unit nehmen und in eine Ableitung der FPCustomCanvas Klasse einbauen, aber irgendwas funktioniert da in meiner kopierten und an TFPCustomCanvas angepassten Ellipsentoutine noch nicht. Nun könnte ich dort den Fehler suchen, ich könnte aber auch eine ganz neue Ellipsenroutine schreiben, das sollte "PaintEllipse() eigentlich leisten, Die Ellipse und auch deren Bögen werden ja schon mal gezeichnet, aber beim Tortenstück trat mein Problem auf. Deshlb die ARC Verständinsfrage, die Arc() Methode ist ja in TFPCustomCanvas auch noch nicht implemetiert, weder die mit Start und Endwinkel noch die mit den XY Koordinaten. Das Fehlen dieser Methoden in der Implemetation derselben passt mir ganz und gar nicht. Ich dachte, dass ich da mit deren Impementation auf dem richtigen Weg sei. Wie wäre denn der offizielle Ablauf, die Rotine wirklich einzubringen, in den Lazaris Codepool? Die Routine müsste ja dann nach ausgiebigen Testläufen in Lazarus übernommen werden. Oder gibt es das fclimage Paket auch für GO32 und 16 Bit DOS, dann könnte ich mir diese Arbeit auch sparen.

Momentan wird noch nichts in TEllipseInfo übernommen. Im Quellcode der Unit ellipses

ist die Methode GatherArcInfo() unvollständig:

Code: Alles auswählen

procedure TEllipseInfo.GatherArcInfo (const bounds:TRect; alpha1,alpha2:real);
var stAngle,endAngle:real;

  procedure CheckAngles;
  begin
    if a1 < a2 then
      begin
      stAngle := a1;
      endAngle := a2;
      end
    else
      begin
      stAngle := a2;
      endAngle := a1;
      end;
  end;

begin
end;   
Wie kriege ich denn da die stAngle und endAngle raus? Müsste ich da nicht mindestens im Begin End Block die Prozedur CheckAngles aufrufen?

Ist denn in ellipses.pp schon alle Info für den Ellipsenbogen enthalten, nur habe ich den Code der Unit noch nicht komplett verstenden?

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

Re: An af0815

Beitrag von wp_xyz »

Mario Peters hat geschrieben: Sa 16. Aug 2025, 12:21 Und was wird da in einem Lazarus Entwicklertreffen gemacht die jährlich stattfinden? Programmiert da wirklich jeder für sich im stilllen Kämmerlein, ohne sich in irgendeiner Weise miteinder auszutauschen????
Keine Ahnung - hab noch nie von einem Lazarus-Entwickler-Treffen gehört und geschweige denn daran teilgenommen. Nein, die Kommunikation erfolgt über die Entwickler-Mailinglist oder Kommentare in den git-Commits. Jeder Entwickler hat im Wesentlichen sein eigenes Spezialgebiet, auf dem er mehr oder weniger freie Hand hat. Wenn es Berührungspunkte mit anderen Gebieten gibt, erfolgt eine Abstimmung/Diskussion über die Mailingliste.

Dass es in der Arc-Routine zwei widersprüchliche Parametersätze gibt, ist keine mangelnde Abstimmung - wahrscheinlich hat diese Routinen derselbe Entwickler geschrieben, da gibt es kein Abstimmungsproblem -, sondern schlichtweg ein Bug, der inzwischen behoben ist, auch dank deiner Vorarbeiten. Es ist wichtig, dass Bugs gemeldet werden, denn keiner von den paar Entwicklern kann alles testen und alle Sonderfälle berücksichtigen.

Übrigens: Weiter oben ist von einer "Litanei von Entwicklern" die Rede. Ja, in dem "Filmabspann" der Lazarus-Aboutbox ("Help" > "About Lazarus" > "Contributors") sieht man eine Litanei von Namen. Aber das sind in der Regel Leute, die Patches eingereicht haben. Aktive Stamm-Entwickler kann man dagegen an einer Hand abzuzählen, viele Leute der ersten Generation sind nicht mehr aktiv. Ein Problem für die Zukunft wird sein, dass wir zuwenig Nachwuchs haben. Leute, daher bitte: schreibt Patches, wenn ihr Fehler findet, und reicht sie im Bugtracker ein. Wenn jemand Engagement mit "guten" Patches zeigt, spricht nichts dagegeben, ihm/ihr git-Schreibrechte zu erteilen.,

Und zum Thema Pflichtenheft: Ich bin froh, dass es das nicht gibt, genauso wie einen Meilensteinplan und anderen neumodischen Managment-Quatsch. Würde sowas eingeführt, wäre meine Zeit in dem Projekt beendet.

Antworten