[gelöst] Form Elemente einfach vervielfältigen möglich?

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
alfware17
Beiträge: 134
Registriert: Di 14. Dez 2010, 23:27

[gelöst] Form Elemente einfach vervielfältigen möglich?

Beitrag von alfware17 »

Hallo ich habe mir ein einfaches Formular gebaut, welches eine Togglebox ja/nein, einen SpinEdit 1..100, eine MemoBox und einen Button enthält.
Wenn ich den Button drücke, sagt mir das Memo, ob der Toggle ja oder nein zeigt und welchen Wert der SpinEdit hat.
Soweit so gut. Nun brauche ich aber 9 Zeilen dieser Kombination - 3 Gruppen jeweils 3 Parameter (ich will ein bißchen mit den Kombinationen spielen und ja die Auswertung wird dann komplizierter),
Nun möchte ich das aber nicht jedes Mal zusammenklicken müssen - auch weil ich ewig nach dem SpinEdit gesucht habe - ich bin ein furchtbarer Anfänger, was diese GUIs angeht. Gibt es eine einfache Möglichkeit meine Zeile mit den drei Elementen (Label was was ist, ToggleBox und SpinEdit) zu markieren und 2x zu kopieren und später das ganze 3er Paket noch 3x? Die Benennungen mache ich dann schon per Hand. Danke und bitte nicht lachen, aber ich habe so schon über eine Stunde probiert
Dateianhänge
2023-05-31_110300.jpg
(200.81 KiB) Noch nie heruntergeladen
Zuletzt geändert von alfware17 am Mi 7. Jun 2023, 11:36, insgesamt 1-mal geändert.

charlytango
Beiträge: 843
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: Form Elemente einfach vervielfältigen möglich?

Beitrag von charlytango »

alfware17 hat geschrieben:
Mi 31. Mai 2023, 11:04
ein furchtbarer Anfänger, was diese GUIs angeht
Immerhin bist du 13 Jahre dabei,da kann man von Anfänger wohl nicht mehr sprechen.
Egal...

Markiere die Elemente die du kopieren willst (entweder mit Maus ein Rechteck drum ziehen oder mittels SHIFT-Click wählen/abwählen)
Dann mit Strg-C /Strg-V kopieren und einfügen. Geht auch über das Rechtsmausmenü.
Die GUI wird sich um eine intitiale Namensgebung kümmern.

Bestehende Eventprozeduren werden zwar nicht kopiert aber das Event zeigt dann auf die selbe Eventprozedur.

Sollen Elemente samt individuellem Code kopiert werden empfehle ich einen Blick in das Konzept der Frames. Auch ganze Formulare können in andere Kontrollstrukturen (zb Panels) "eingeklebt" werden.

Mir ist auch mit dem JPG nicht ganz klar was du wirklich machen willst um dir eine passene Strategie vorzuschlagen.

Mathias
Beiträge: 6162
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Form Elemente einfach vervielfältigen möglich?

Beitrag von Mathias »

Nun möchte ich das aber nicht jedes Mal zusammenklicken müssen
Mache es doch dynamisch.

Das Beispiel im Anhang ist wahrscheinlich in etwa das was du suchst.
Dateianhänge
Timer_Ausgabe_mit_Frame.zip
(5.81 KiB) 29-mal heruntergeladen
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

alfware17
Beiträge: 134
Registriert: Di 14. Dez 2010, 23:27

Re: Form Elemente einfach vervielfältigen möglich?

Beitrag von alfware17 »

charlytango hat geschrieben:
Mi 31. Mai 2023, 11:43
alfware17 hat geschrieben:
Mi 31. Mai 2023, 11:04
ein furchtbarer Anfänger, was diese GUIs angeht
Immerhin bist du 13 Jahre dabei,da kann man von Anfänger wohl nicht mehr sprechen.
Egal...

Markiere die Elemente die du kopieren willst (entweder mit Maus ein Rechteck drum ziehen oder mittels SHIFT-Click wählen/abwählen)
Dann mit Strg-C /Strg-V kopieren und einfügen. Geht auch über das Rechtsmausmenü.
Die GUI wird sich um eine intitiale Namensgebung kümmern.

Bestehende Eventprozeduren werden zwar nicht kopiert aber das Event zeigt dann auf die selbe Eventprozedur.

Sollen Elemente samt individuellem Code kopiert werden empfehle ich einen Blick in das Konzept der Frames. Auch ganze Formulare können in andere Kontrollstrukturen (zb Panels) "eingeklebt" werden.

Mir ist auch mit dem JPG nicht ganz klar was du wirklich machen willst um dir eine passene Strategie vorzuschlagen.
Ich hab mich damals tatsächlich wegen Freepascal angemeldet und nutze das auch hauptsächlich. Von GUIs habe ich relativ wenig Ahnung, da ich eher Konsolen-Programme mache, wenn denn. Ich bin aber kein aktiver Entwickler (mehr) und habe früher eher Cobol programmiert und nun stürze ich mich auf alles rundum (Python, Java, etc) aber fühle mich dennoch bei Pascal am wohlsten.

Okay, dein Tip hat geklappt. So sieht es jetzt auf die Schnelle aus, natürlich sind die anderen 8 Zeilen noch nicht "angeschlossen". Was ich machen will - ich habe wie gesagt 3 Variablen, die ich jeweils mit einem Standardwert belegt habe und dann auf verschiedene Weise über Parameter und/oder eine File-Analyse ggf geändert werden. Das ist ein Ausschnitt aus einem anderen! Batch-Programm. Da mir die Kombinationen aber zu komplex geworden sind und ich ein wenig den Überblick verloren habe, würde ich, bevor ich das Batch-Programm ändere, gerne ein bißchen am Algorithmus rumprobieren und schauen, was ich wie priorisieren muß bzw was er ausrechnet, wenn ich mehrere Schalter als gesetzt klicke. Es ist ein Modell für das, wie man das Batch-Programm bedient bzw aufruft. Ich stelle die 9 Zeilen und klicke Auswerten. Nicht mehr und nicht weniger

Das dynamische mit dem Frame kann ich mir ansehen, aber wahrscheinlich brauche ich es nicht mehr, trotzdem danke
Dateianhänge
2023-05-31_184522.jpg
(278.77 KiB) Noch nie heruntergeladen

Mathias
Beiträge: 6162
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Form Elemente einfach vervielfältigen möglich?

Beitrag von Mathias »

Das dynamische mit dem Frame kann ich mir ansehen, aber wahrscheinlich brauche ich es nicht mehr, trotzdem danke
Vielfach ist man effizienter wen man das Zeugs dynamisch erstellt, als mit der *clilckibunticlicki*.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

alfware17
Beiträge: 134
Registriert: Di 14. Dez 2010, 23:27

Re: Form Elemente einfach vervielfältigen möglich?

Beitrag von alfware17 »

so sieht das jetzt fertig aus (fertig die Oberfläche, an der Logik=Auswerten muß ich vielleicht noch was basteln, aber genau dafür war dieses "Spielzeug" ja gedacht
Dateianhänge
prioparmonline.zip
(816.76 KiB) 26-mal heruntergeladen

Mathias
Beiträge: 6162
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: [gelöst] Form Elemente einfach vervielfältigen möglich?

Beitrag von Mathias »

Füge doch noch folgendes ein, dann wird dein Form eleganter.

Code: Alles auswählen

procedure TForm1.FormCreate(Sender: TObject);
begin
  Button_Auswertung.Anchors := [akRight, akBottom];
  Button_Abfrage1.Anchors := [akRight, akBottom];
  Button_Ergebnis.Anchors := [akRight, akBottom];
  ToggleBox_Analyse_Frei.Anchors := [akRight, akBottom];
  Label_Analyse_frei.Anchors := [akRight, akBottom];
  Memo_Auswerten.Anchors := [akTop, akLeft, akRight, akBottom];
  ....
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten