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
[gelöst] Form Elemente einfach vervielfältigen möglich?
[gelöst] Form Elemente einfach vervielfältigen möglich?
- 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.
-
- Beiträge: 813
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz 2.2.6
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: Form Elemente einfach vervielfältigen möglich?
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.
-
- Beiträge: 5933
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunc)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Form Elemente einfach vervielfältigen möglich?
Mache es doch dynamisch.Nun möchte ich das aber nicht jedes Mal zusammenklicken müssen
Das Beispiel im Anhang ist wahrscheinlich in etwa das was du suchst.
- Dateianhänge
-
Timer_Ausgabe_mit_Frame.zip
- (5.81 KiB) 24-mal heruntergeladen
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Form Elemente einfach vervielfältigen möglich?
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.charlytango hat geschrieben: ↑Mi 31. Mai 2023, 11:43Immerhin 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.
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
-
- Beiträge: 5933
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunc)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Form Elemente einfach vervielfältigen möglich?
Vielfach ist man effizienter wen man das Zeugs dynamisch erstellt, als mit der *clilckibunticlicki*.Das dynamische mit dem Frame kann ich mir ansehen, aber wahrscheinlich brauche ich es nicht mehr, trotzdem danke
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Form Elemente einfach vervielfältigen möglich?
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) 22-mal heruntergeladen
-
- Beiträge: 5933
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunc)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: [gelöst] Form Elemente einfach vervielfältigen möglich?
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
Mit Java und C/C++ sehe ich rot