AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi automatisch Checkboxen aus ARRAY erzeugen
Thema durchsuchen
Ansicht
Themen-Optionen

automatisch Checkboxen aus ARRAY erzeugen

Ein Thema von hgiel · begonnen am 16. Sep 2008 · letzter Beitrag vom 16. Sep 2008
Antwort Antwort
Seite 1 von 2  1 2      
hgiel

Registriert seit: 4. Apr 2005
61 Beiträge
 
#1

automatisch Checkboxen aus ARRAY erzeugen

  Alt 16. Sep 2008, 10:16
Hallo,

ich hab folgendes Problem:

Ich habe ein variables (bzgl. Anzahl) Array von Textfelder (z.B. rot, grün, weiss, ...). Dieses lese ich ein, so daß mir die Felder als Textwerte in farbe[i] zur "Verfügung" stehen. Nun möchte ich diese Felder als Checkboxen darstellen, d.h. für jeden gelesenen Wert soll - automatisch - eine Checkbox auf meiner Form angelegt werden, die dann mit dem Textwert "gecaptuered" werden soll. Alle resultierenden Checkboxen sollen dann noch in einer Groupbox zusammengefasst arrangiert werden!

Wie macht man dies - möglichst flexibel?

Gruß,

Heinz
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: automatisch Checkboxen aus ARRAY erzeugen

  Alt 16. Sep 2008, 10:18
Indem man durch den array iteriert und die Checkboxn manuell erzeugt
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#3

Re: automatisch Checkboxen aus ARRAY erzeugen

  Alt 16. Sep 2008, 10:24
HI,

du erstellst als erstes eine Groupbox, der du einen Titel und die Punkte Top und Left zuweist.
Dann gahst du in den Code und erstellst deine Checkboxen. Die Größe der Groupbox ergibt sich aus der Menge der Checkboxen.

Delphi-Quellcode:
//... hier kommt dein Lesevorgang an.
var
  posxCheckbox: Integer;

for i := 1 to Anzahl do
begin
  With TCheckbox.Create(Self) do
  begin
    Name := 'CheckBox' + IntToStr(i); // damit es keine 2 doppelten gibt.
    Caption := Titel; // aus deinem Array
    Left := 10;
    Top := (i-1) * 20 + 5;
    Checked := true; {false;}
    Parent := Groupbox1;
  end;
end;
Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: automatisch Checkboxen aus ARRAY erzeugen

  Alt 16. Sep 2008, 10:27
Ich würde die Komponenten-Referenzen speichern und Namen weglassen und sttatdessen .Tag auf den Index setzen.
Markus Kinzler
  Mit Zitat antworten Zitat
hgiel

Registriert seit: 4. Apr 2005
61 Beiträge
 
#5

Re: automatisch Checkboxen aus ARRAY erzeugen

  Alt 16. Sep 2008, 11:06
Hi Rollstuhlfahrer,

Dein Tipp hat mir schon sehr geholfen - alle CHECKBOXEN wurden richtig angelegt!
Leider alle untereinander und nicht an die Groupboxgröße angepasst ;-(
Ich habe die Groupbox schon fertig auf die Form gelegt: LEFT 32 TOP 88 HEIGHT 121 WITDH 1033
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: automatisch Checkboxen aus ARRAY erzeugen

  Alt 16. Sep 2008, 11:09
Dann musst du die Position bei der Erzeugung setzen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#7

Re: automatisch Checkboxen aus ARRAY erzeugen

  Alt 16. Sep 2008, 11:12
Ich glaub, dass du die Komponentennamen brauchst, damit es keine sollelten Checkboxem gibt.
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: automatisch Checkboxen aus ARRAY erzeugen

  Alt 16. Sep 2008, 11:22
Nein, wenn man keinen setzt geht es -> Zugriff über .Tag
Markus Kinzler
  Mit Zitat antworten Zitat
hgiel

Registriert seit: 4. Apr 2005
61 Beiträge
 
#9

Re: automatisch Checkboxen aus ARRAY erzeugen

  Alt 16. Sep 2008, 11:35
Hallo,

irgendwie klappt es noch nicht:
Delphi-Quellcode:
  Groupbox1.Caption:=' Länder ';
  Groupbox1.Left:=32;
  Groupbox1.Top:=88;
  Groupbox1.Height:=121;
  Groupbox1.Width:=1033;

  for i := 1 to l_anz do
  begin
    With TCheckbox.Create(Self) do
    begin
      Name := 'CheckBox' + IntToStr(i); // damit es keine 2 doppelten gibt.
      Caption := land[i]; // aus deinem Array
      Left := 20;
      Top := (i-1) * 20 + 5;
      Checked := false;
      Parent := Groupbox1;
    end;
  end;
sag mal rollstuhlfahrer, wofür und wie wird in deinem Code die Variable "posxCheckbox: Integer;" genutzt - vielleicht liegt da der Schlüssel?

[edit=SirThornberry]Delphi Tags gesetzt - nächstes mal bitte selbst machen - Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: automatisch Checkboxen aus ARRAY erzeugen

  Alt 16. Sep 2008, 11:49
Setz mal den Parent gleich nach dem Create
.Top ist Relativ zum Parent
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz