Discussion:
Anfänger: wie bekomme ich viele kleine Objekte auf das Canvas mit Hints
(zu alt für eine Antwort)
Franz Glaser
2017-05-10 12:13:22 UTC
Permalink
Ich bin mit dynamischen creates überfordert.

https://www.facebook.com/photo.php?fbid=1401194459947336&set=p.1401194459947336&type=3&theater
(Vorsicht _FaceBook_ - ich hoffe, dass es jeder lesen kann, der will:-)

Achja, ich gestehe: ich bin ein _Lazarus_ -Anwender.

Auf dem Bild (mit Hintergrund) erzeuge ich "viele" Vektoren aka Linien,
an deren Ende ich einen winzigen Kreis hinmale. Das funktioniert bereits.

An der Stelle, an der der Kreis ist, soll ein "Ding" sein, das ein Hint
hat, das ich gleichzeitig mit bzw. gleich nach dem Kreis hinmale.

Dafür habe ich jetzt eine Bauernbrachialmethode angewandt, nämlich ein
ShapeN an die XY - Position hingesetzt mit einer kreisförmigen
Abmessung. Auf dem screenshot ist ein Kreuzfaden, in Wirklichkeit habe
ich auf Händchen eingestellt aber das überträgt der screenshot nicht.

Die Brachialmethode besteht darin, dass ich Shape1 bis Shape25 (mehr
geht nicht) _von_Hand_ eingesetzt habe, die ich beim clear und bei der
XY-Definition mithilfe einer Case aufrufe, ein Array geht nicht.

Diese Brachialmethode funktioniert jetzt aber nur bis 25 Pfeile. Danach
muss ich aufhören, ein Hint hinzupflanzen. Die Aufgabe kann aber 100
Pfeile oder mehr betragen.

Die 25 Shapes sind beim Programmstart invalid und unsichtbar, sie werden
erst beim Hinpflanzen zum Leben erweckt. Ihre einzige Funktion ist das Hint.

Bitte um Hilfe - wie macht das ein Profi? Wie erzeugt ein Profi ein
Shape-ähnliches "Ding", setzt es entweder in die Form ein oder in das
Canvas (wegen XY) und lässt es bei ^Z einzeln und beim Gesamtlöschen des
Bildes wieder destroyen?

Mit Create bin ich wegen des (Inhalts) gescheitert.


Gruß Franz, OE5FGL
--
Die "Öffentliche Meinung" ist der sozialistische Ersatzgott. Allwissend,
allmächtig und allgefürchtet. Die schlimmsten Mitmenschen sind die
Verbreiter von Gerüchten, deren Herkunft sie nicht nennen dürfen -
genannt Vernaderer. Die Medien sind dabei gesetzlich geschützt.
Hans-Peter Diettrich
2017-05-10 21:11:02 UTC
Permalink
Post by Franz Glaser
Diese Brachialmethode funktioniert jetzt aber nur bis 25 Pfeile.
Was hindert Dich daran, mehr zu erzeugen?
Post by Franz Glaser
Bitte um Hilfe - wie macht das ein Profi? Wie erzeugt ein Profi ein
Shape-ähnliches "Ding", setzt es entweder in die Form ein oder in das
Canvas (wegen XY)
Mit ctl := T...Control.Create(...). Die Hilfsvariable ctl wird nur
benötigt, wenn anschließend noch weitere Properties (Hint...) gesetzt
werden müssen.
Post by Franz Glaser
und lässt es bei ^Z einzeln und beim Gesamtlöschen des
Bildes wieder destroyen?
Dazu MyForm.Controls[] nach Controls mit dem bekannten Typ oder Tag
durchsuchen, und die freigeben mit MyForm.Release(...) o.ä.

DoDi
Franz Glaser
2017-05-11 12:53:42 UTC
Permalink
Post by Hans-Peter Diettrich
Post by Franz Glaser
Diese Brachialmethode funktioniert jetzt aber nur bis 25 Pfeile.
Was hindert Dich daran, mehr zu erzeugen?
Post by Franz Glaser
Bitte um Hilfe - wie macht das ein Profi? Wie erzeugt ein Profi ein
Shape-ähnliches "Ding", setzt es entweder in die Form ein oder in das
Canvas (wegen XY)
Mit ctl := T...Control.Create(...). Die Hilfsvariable ctl wird nur
benötigt, wenn anschließend noch weitere Properties (Hint...) gesetzt
werden müssen.
Post by Franz Glaser
und lässt es bei ^Z einzeln und beim Gesamtlöschen des
Bildes wieder destroyen?
Dazu MyForm.Controls[] nach Controls mit dem bekannten Typ oder Tag
durchsuchen, und die freigeben mit MyForm.Release(...) o.ä.
DoDi
Danke, ich kann es compilieren aber es "tut" noch nichts. Ich probiere
weiter.

Der Lazarus versteht "Control" und "Controls" nicht, auch in seiner
Hilfe nicht.

73 de Franz, OE5FGL
--
Die "Öffentliche Meinung" ist der sozialistische Ersatzgott. Allwissend,
allmächtig und allgefürchtet. Die schlimmsten Mitmenschen sind die
Verbreiter von Gerüchten, deren Herkunft sie nicht nennen dürfen -
genannt Vernaderer. Die Medien sind dabei gesetzlich geschützt.
Hans-Peter Diettrich
2017-05-12 04:24:15 UTC
Permalink
Post by Franz Glaser
Der Lazarus versteht "Control" und "Controls" nicht, auch in seiner
Hilfe nicht.
Versuchs mal mit TControl und TForm.Controls.

Die Lazarus Hilfe läßt sehr zu wünschen übrig. Die Hilfe zu Delphi (<=
D7) ist wesentlich informativer.

DoDi
Franz Glaser
2017-05-14 14:12:05 UTC
Permalink
Post by Hans-Peter Diettrich
Post by Franz Glaser
Der Lazarus versteht "Control" und "Controls" nicht, auch in seiner
Hilfe nicht.
Versuchs mal mit TControl und TForm.Controls.
Die Lazarus Hilfe läßt sehr zu wünschen übrig. Die Hilfe zu Delphi (<=
D7) ist wesentlich informativer.
DoDi
Danke, das werde ich auch dazu lernen.


73 de Franz, OE5FGL
--
Die "Öffentliche Meinung" ist der sozialistische Ersatzgott. Allwissend,
allmächtig und allgefürchtet. Die schlimmsten Mitmenschen sind die
Verbreiter von Gerüchten, deren Herkunft sie nicht nennen dürfen -
genannt Vernaderer. Die Medien sind dabei gesetzlich geschützt.
Alfred Gemsa
2017-05-11 20:20:38 UTC
Permalink
Post by Franz Glaser
Ich bin mit dynamischen creates überfordert.
Auf dem Bild (mit Hintergrund) erzeuge ich "viele" Vektoren aka Linien,
an deren Ende ich einen winzigen Kreis hinmale. Das funktioniert bereits.
An der Stelle, an der der Kreis ist, soll ein "Ding" sein, das ein Hint
hat, das ich gleichzeitig mit bzw. gleich nach dem Kreis hinmale.
Dafür habe ich jetzt eine Bauernbrachialmethode angewandt, nämlich ein
ShapeN an die XY - Position hingesetzt mit einer kreisförmigen
Abmessung. Auf dem screenshot ist ein Kreuzfaden, in Wirklichkeit habe
ich auf Händchen eingestellt aber das überträgt der screenshot nicht.
Die Brachialmethode besteht darin, dass ich Shape1 bis Shape25 (mehr
geht nicht) _von_Hand_ eingesetzt habe, die ich beim clear und bei der
XY-Definition mithilfe einer Case aufrufe, ein Array geht nicht.
Diese Brachialmethode funktioniert jetzt aber nur bis 25 Pfeile. Danach
muss ich aufhören, ein Hint hinzupflanzen. Die Aufgabe kann aber 100
Pfeile oder mehr betragen.
Die 25 Shapes sind beim Programmstart invalid und unsichtbar, sie werden
erst beim Hinpflanzen zum Leben erweckt. Ihre einzige Funktion ist das Hint.
Bitte um Hilfe - wie macht das ein Profi? Wie erzeugt ein Profi ein
Shape-ähnliches "Ding", setzt es entweder in die Form ein oder in das
Canvas (wegen XY) und lässt es bei ^Z einzeln und beim Gesamtlöschen des
Bildes wieder destroyen?
Mit Create bin ich wegen des (Inhalts) gescheitert.
Hm,

ich weiß nicht genau, was du jetzt erreichen willst, aber Objekte
während der Laufzeit zu erzeugen und wieder zu entsorgen, ist relativ
einfach.

Ich habe mal ein Beispiel geschrieben, das durch Doppelklick aufs
Formular ein Shape erzeugt (die Anzahl ist nicht beschränkt), und ein
Rechtsklich auf ein Shape zerstört diese wieder.

Die einzelnen Shapes werden Created und in einer ObjectList gespeichert.

Vielleicht hilfts.

Code und Exe findest du hier:
http://www.gemsa-online.de/Shapes/Shapes.zip

Gruß, Alfred
Franz Glaser
2017-05-14 12:42:24 UTC
Permalink
Post by Alfred Gemsa
Post by Franz Glaser
Ich bin mit dynamischen creates überfordert.
Auf dem Bild (mit Hintergrund) erzeuge ich "viele" Vektoren aka Linien,
an deren Ende ich einen winzigen Kreis hinmale. Das funktioniert bereits.
An der Stelle, an der der Kreis ist, soll ein "Ding" sein, das ein Hint
hat, das ich gleichzeitig mit bzw. gleich nach dem Kreis hinmale.
Dafür habe ich jetzt eine Bauernbrachialmethode angewandt, nämlich ein
ShapeN an die XY - Position hingesetzt mit einer kreisförmigen
Abmessung. Auf dem screenshot ist ein Kreuzfaden, in Wirklichkeit habe
ich auf Händchen eingestellt aber das überträgt der screenshot nicht.
Die Brachialmethode besteht darin, dass ich Shape1 bis Shape25 (mehr
geht nicht) _von_Hand_ eingesetzt habe, die ich beim clear und bei der
XY-Definition mithilfe einer Case aufrufe, ein Array geht nicht.
Diese Brachialmethode funktioniert jetzt aber nur bis 25 Pfeile. Danach
muss ich aufhören, ein Hint hinzupflanzen. Die Aufgabe kann aber 100
Pfeile oder mehr betragen.
Die 25 Shapes sind beim Programmstart invalid und unsichtbar, sie werden
erst beim Hinpflanzen zum Leben erweckt. Ihre einzige Funktion ist das Hint.
Bitte um Hilfe - wie macht das ein Profi? Wie erzeugt ein Profi ein
Shape-ähnliches "Ding", setzt es entweder in die Form ein oder in das
Canvas (wegen XY) und lässt es bei ^Z einzeln und beim Gesamtlöschen des
Bildes wieder destroyen?
Mit Create bin ich wegen des (Inhalts) gescheitert.
Hm,
ich weiß nicht genau, was du jetzt erreichen willst, aber Objekte
während der Laufzeit zu erzeugen und wieder zu entsorgen, ist relativ
einfach.
Ich habe mal ein Beispiel geschrieben, das durch Doppelklick aufs
Formular ein Shape erzeugt (die Anzahl ist nicht beschränkt), und ein
Rechtsklich auf ein Shape zerstört diese wieder.
Die einzelnen Shapes werden Created und in einer ObjectList gespeichert.
Vielleicht hilfts.
http://www.gemsa-online.de/Shapes/Shapes.zip
Gruß, Alfred
Ja danke! "relativ einfach"


Jetzt sind wirklich auch mehr als 25 da. Dazu hat Lazarus eine bisher
unbekannte Datei aus dem Keller geholt: contnrs

Ich habe erst einmal (relativ einfach:) nur das Hinmalen ausprobiert,
noch nicht das Einzellöschen ^Z nachgerüstet. Die kleinen Scheiben in
Cyan auf der Weltkarte sind hübsch anzuschauen.

73 de Franz, OE5FGL
--
Die "Öffentliche Meinung" ist der sozialistische Ersatzgott. Allwissend,
allmächtig und allgefürchtet. Die schlimmsten Mitmenschen sind die
Verbreiter von Gerüchten, deren Herkunft sie nicht nennen dürfen -
genannt Vernaderer. Die Medien sind dabei gesetzlich geschützt.
Franz Glaser
2017-05-14 13:48:10 UTC
Permalink
Post by Franz Glaser
Post by Alfred Gemsa
Post by Franz Glaser
Ich bin mit dynamischen creates überfordert.
Auf dem Bild (mit Hintergrund) erzeuge ich "viele" Vektoren aka Linien,
an deren Ende ich einen winzigen Kreis hinmale. Das funktioniert bereits.
An der Stelle, an der der Kreis ist, soll ein "Ding" sein, das ein Hint
hat, das ich gleichzeitig mit bzw. gleich nach dem Kreis hinmale.
Dafür habe ich jetzt eine Bauernbrachialmethode angewandt, nämlich ein
ShapeN an die XY - Position hingesetzt mit einer kreisförmigen
Abmessung. Auf dem screenshot ist ein Kreuzfaden, in Wirklichkeit habe
ich auf Händchen eingestellt aber das überträgt der screenshot nicht.
Die Brachialmethode besteht darin, dass ich Shape1 bis Shape25 (mehr
geht nicht) _von_Hand_ eingesetzt habe, die ich beim clear und bei der
XY-Definition mithilfe einer Case aufrufe, ein Array geht nicht.
Diese Brachialmethode funktioniert jetzt aber nur bis 25 Pfeile. Danach
muss ich aufhören, ein Hint hinzupflanzen. Die Aufgabe kann aber 100
Pfeile oder mehr betragen.
Die 25 Shapes sind beim Programmstart invalid und unsichtbar, sie werden
erst beim Hinpflanzen zum Leben erweckt. Ihre einzige Funktion ist das Hint.
Bitte um Hilfe - wie macht das ein Profi? Wie erzeugt ein Profi ein
Shape-ähnliches "Ding", setzt es entweder in die Form ein oder in das
Canvas (wegen XY) und lässt es bei ^Z einzeln und beim Gesamtlöschen des
Bildes wieder destroyen?
Mit Create bin ich wegen des (Inhalts) gescheitert.
Hm,
ich weiß nicht genau, was du jetzt erreichen willst, aber Objekte
während der Laufzeit zu erzeugen und wieder zu entsorgen, ist relativ
einfach.
Ich habe mal ein Beispiel geschrieben, das durch Doppelklick aufs
Formular ein Shape erzeugt (die Anzahl ist nicht beschränkt), und ein
Rechtsklich auf ein Shape zerstört diese wieder.
Die einzelnen Shapes werden Created und in einer ObjectList gespeichert.
Vielleicht hilfts.
http://www.gemsa-online.de/Shapes/Shapes.zip
Gruß, Alfred
Ja danke! "relativ einfach"
Jetzt sind wirklich auch mehr als 25 da. Dazu hat Lazarus eine bisher
unbekannte Datei aus dem Keller geholt: contnrs
Ich habe erst einmal (relativ einfach:) nur das Hinmalen ausprobiert,
noch nicht das Einzellöschen ^Z nachgerüstet. Die kleinen Scheiben in
Cyan auf der Weltkarte sind hübsch anzuschauen.
73 de Franz, OE5FGL
Loading Image...


Auf dem jpg funktioniert das hint nicht :-)
Und die Prozedur mit dem Löschen habe ich auch noch nicht drin.


Danke, Franz, OE5FGL
--
Die "Öffentliche Meinung" ist der sozialistische Ersatzgott. Allwissend,
allmächtig und allgefürchtet. Die schlimmsten Mitmenschen sind die
Verbreiter von Gerüchten, deren Herkunft sie nicht nennen dürfen -
genannt Vernaderer. Die Medien sind dabei gesetzlich geschützt.
Marc Santhoff
2017-05-15 06:36:31 UTC
Permalink
Post by Franz Glaser
http://www.meg-glaser.at/pic/screen20170515ba.jpg
Auf dem jpg funktioniert das hint nicht :-)
Und die Prozedur mit dem Löschen habe ich auch noch nicht drin.
Sehr hübsch, wirklich gelungen. Mich würde intressieren, woher Du die
Daten für die Weltkarte hast?

Marc
k***@gmail.com
2017-05-15 07:06:47 UTC
Permalink
...und wofür das Programm gedacht ist.
Franz Glaser
2017-05-15 17:55:26 UTC
Permalink
Post by k***@gmail.com
...und wofür das Programm gedacht ist.
Mit WSPR erhalte ich auf einen einzigen Funksendeimpuls (2 Minuten)
sehr viele Rückmeldungen auf dem Internet und die noch dazu in
"dB über Rauschen" (ungefähr...), nicht als willkürliche RS.

Die lese ich mit ^S^V in Textdateien ein und werte sie mit dem Programm
aus. Damit erhalte ich Information über die Richtantenne und über die
Berge um mich herum bei Trockenheit und bei Regen.

Es gibt zwar fertige Programme, die mit der üblichen flachen Weltkarte
Kurven zeichnen aber mir sind die graden "Strahlen" sympathischer.
Außerdem habe ich auf meinem Rotor so eine kleine Karte aufgeklebt,
wodurch mir "die Erde als Scheibe" sehr lieb geworden ist :-)

Zusätzlich habe ich das Programmieren in Delphi/Lazarus als
Hirnmuskelsport wieder lustig gefunden.


73 de Franz, OE5FGL
--
Die "Öffentliche Meinung" ist der sozialistische Ersatzgott. Allwissend,
allmächtig und allgefürchtet. Die schlimmsten Mitmenschen sind die
Verbreiter von Gerüchten, deren Herkunft sie nicht nennen dürfen -
genannt Vernaderer. Die Medien sind dabei gesetzlich geschützt.
Franz Glaser
2017-05-15 18:09:11 UTC
Permalink
Post by Franz Glaser
Post by k***@gmail.com
...und wofür das Programm gedacht ist.
Mit WSPR erhalte ich auf einen einzigen Funksendeimpuls (2 Minuten)
sehr viele Rückmeldungen auf dem Internet und die noch dazu in
"dB über Rauschen" (ungefähr...), nicht als willkürliche RS.
Die lese ich mit ^S^V in Textdateien ein und werte sie mit dem Programm
aus. Damit erhalte ich Information über die Richtantenne und über die
Berge um mich herum bei Trockenheit und bei Regen.
Es gibt zwar fertige Programme, die mit der üblichen flachen Weltkarte
Kurven zeichnen aber mir sind die graden "Strahlen" sympathischer.
Außerdem habe ich auf meinem Rotor so eine kleine Karte aufgeklebt,
wodurch mir "die Erde als Scheibe" sehr lieb geworden ist :-)
Zusätzlich habe ich das Programmieren in Delphi/Lazarus als
Hirnmuskelsport wieder lustig gefunden.
73 de Franz, OE5FGL
Die können das alles viel besser:

http://wspr.aprsinfo.com/

Einstellungen:
Dir: TX
Call: OE5FGL
Band: 20m
Count: 200
Time: Week ... das geht jetzt gerade noch
[Load] drücken


73 de Franz OE5FGL
--
Die "Öffentliche Meinung" ist der sozialistische Ersatzgott. Allwissend,
allmächtig und allgefürchtet. Die schlimmsten Mitmenschen sind die
Verbreiter von Gerüchten, deren Herkunft sie nicht nennen dürfen -
genannt Vernaderer. Die Medien sind dabei gesetzlich geschützt.
Franz Glaser
2017-05-15 17:46:05 UTC
Permalink
Post by Marc Santhoff
Post by Franz Glaser
http://www.meg-glaser.at/pic/screen20170515ba.jpg
Auf dem jpg funktioniert das hint nicht :-)
Und die Prozedur mit dem Löschen habe ich auch noch nicht drin.
Sehr hübsch, wirklich gelungen. Mich würde intressieren, woher Du die
Daten für die Weltkarte hast?
Marc
Das habe ich unten hingeschrieben: Tom, NS6T macht mir den Großkreis auf
PDF. Gratis aber nicht umsonst. Den passe ich dann mit dem Gimp
als .png an meine Bedürfnisse an.


73 de Franz, OE5FGL
--
Die "Öffentliche Meinung" ist der sozialistische Ersatzgott. Allwissend,
allmächtig und allgefürchtet. Die schlimmsten Mitmenschen sind die
Verbreiter von Gerüchten, deren Herkunft sie nicht nennen dürfen -
genannt Vernaderer. Die Medien sind dabei gesetzlich geschützt.
Franz Glaser
2017-05-15 17:58:44 UTC
Permalink
Post by Alfred Gemsa
Post by Franz Glaser
Ich bin mit dynamischen creates überfordert.
Auf dem Bild (mit Hintergrund) erzeuge ich "viele" Vektoren aka Linien,
an deren Ende ich einen winzigen Kreis hinmale. Das funktioniert bereits.
An der Stelle, an der der Kreis ist, soll ein "Ding" sein, das ein Hint
hat, das ich gleichzeitig mit bzw. gleich nach dem Kreis hinmale.
Dafür habe ich jetzt eine Bauernbrachialmethode angewandt, nämlich ein
ShapeN an die XY - Position hingesetzt mit einer kreisförmigen
Abmessung. Auf dem screenshot ist ein Kreuzfaden, in Wirklichkeit habe
ich auf Händchen eingestellt aber das überträgt der screenshot nicht.
Die Brachialmethode besteht darin, dass ich Shape1 bis Shape25 (mehr
geht nicht) _von_Hand_ eingesetzt habe, die ich beim clear und bei der
XY-Definition mithilfe einer Case aufrufe, ein Array geht nicht.
Diese Brachialmethode funktioniert jetzt aber nur bis 25 Pfeile. Danach
muss ich aufhören, ein Hint hinzupflanzen. Die Aufgabe kann aber 100
Pfeile oder mehr betragen.
Die 25 Shapes sind beim Programmstart invalid und unsichtbar, sie werden
erst beim Hinpflanzen zum Leben erweckt. Ihre einzige Funktion ist das Hint.
Bitte um Hilfe - wie macht das ein Profi? Wie erzeugt ein Profi ein
Shape-ähnliches "Ding", setzt es entweder in die Form ein oder in das
Canvas (wegen XY) und lässt es bei ^Z einzeln und beim Gesamtlöschen des
Bildes wieder destroyen?
Mit Create bin ich wegen des (Inhalts) gescheitert.
Hm,
ich weiß nicht genau, was du jetzt erreichen willst, aber Objekte
während der Laufzeit zu erzeugen und wieder zu entsorgen, ist relativ
einfach.
Ich habe mal ein Beispiel geschrieben, das durch Doppelklick aufs
Formular ein Shape erzeugt (die Anzahl ist nicht beschränkt), und ein
Rechtsklich auf ein Shape zerstört diese wieder.
Die einzelnen Shapes werden Created und in einer ObjectList gespeichert.
Vielleicht hilfts.
http://www.gemsa-online.de/Shapes/Shapes.zip
Gruß, Alfred
ALLES LÄUFT, herzlichen Dank!
Das hast du mir so gut verständlich beschrieben, dass ich gar nichts
falsch machen konnte.

73 de Franz, OE5FGL
--
Die "Öffentliche Meinung" ist der sozialistische Ersatzgott. Allwissend,
allmächtig und allgefürchtet. Die schlimmsten Mitmenschen sind die
Verbreiter von Gerüchten, deren Herkunft sie nicht nennen dürfen -
genannt Vernaderer. Die Medien sind dabei gesetzlich geschützt.
Loading...