Autor Beitrag
Blutiger-Anfänger
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Win XP
D3 Prof
BeitragVerfasst: Di 30.11.04 15:54 
Ich bins mal wieder. :oops:

Ich habe mir überlegt, dass ich mein Programm etwas überarbeiten könnte, und eine CheckListBox einfügen kann.

Jetzt meine Frage: Wie kann ich per Knopfdruck die Items in einer CheckListBox Verändern?

Wäre sehr nett von euch, wenn ihr schnellstmöglich antworten könntet.

Danke schonmal im voraus.
CoLdDsToNe
Hält's aus hier
Beiträge: 13

WIN XP (Suse 9.2)
D7 Pers
BeitragVerfasst: Di 30.11.04 16:28 
hi,
also das geht genau so wie bei net normalen listbox

Der Unterschied von beiden ist ja bloss dass man bei ner checklistbox die einträge aktivieren und deaktivieren kann

also:
checkListBox.Items[IndexWert]:=Wert;

greetz cold
Blutiger-Anfänger Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Win XP
D3 Prof
BeitragVerfasst: Di 30.11.04 16:34 
HI

Danke schonmal. Ich bin ziemlich neu und unerfahren :oops: .

Was soll index Wert sein, der Eintrag in der Box??? Wer nett, wenn du mir ne genauere beschreibung geben könntest(wär dir ewig dankbar), denn ich hab auch mit ner Normalen listBox noch nie gearbeitet. ich mache delphi erst seit nem Monat oder so.

Danke nochmal (und hoffentlich schonmal) :flehan: .
CoLdDsToNe
Hält's aus hier
Beiträge: 13

WIN XP (Suse 9.2)
D7 Pers
BeitragVerfasst: Di 30.11.04 16:39 
Also dann mal bissle Theorie :lol:

Indexwert: In einer Listbox hat jeder eintrag einen Indexwert, so wie ne hausnummer halt.
Dieser Wert fängt bei 0 an und wird jedesmal um 1 erhöht wenn du nen wert beifügst.

Also: der erstte Wert hat Index 0, der zweite 1...
Also Hat der N te Wert den Index N-1.
der checklistBox[Index].

Der Wert den man speichert ist vom Format string.
Will man nun Zahlen speichern muss man umwandeln

integer to strin : inttostr
extended to string: flaottostr


wenns noch ne frage gibt..ich steh zur verfügung

greetz cold
Blutiger-Anfänger Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Win XP
D3 Prof
BeitragVerfasst: Di 30.11.04 17:16 
ist dann der Wert nac[index wert] das was dort geschrieben steht?
Blutiger-Anfänger Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Win XP
D3 Prof
BeitragVerfasst: Di 30.11.04 17:21 
Danke nochmal, hab es ausprobiert und weis es jetzt. :lol:
Blutiger-Anfänger Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Win XP
D3 Prof
BeitragVerfasst: Di 30.11.04 17:30 
Doch noch eine Frage:
wie muss ich die IF schleife formulieren wenn ich delphi sagen will:
WENN ComboBox1 wert1 ausgewählt ist DANN
CheckListBox1 [0] := 'Test'
:?:
CoLdDsToNe
Hält's aus hier
Beiträge: 13

WIN XP (Suse 9.2)
D7 Pers
BeitragVerfasst: Di 30.11.04 17:42 
re,

1. if ist keine schleige sondern ne kondition.

2. der test lautet dann:
ausblenden Delphi-Quelltext
1:
2:
 if comboBox.ItemIndex=0 
            then CheckListBox[0]:='Test';


Mit ItemIndex findet man heraus welcher Index gselected ist

greetz cold

Moderiert von user profile iconTino: Code- durch Delphi-Tags ersetzt.
Blutiger-Anfänger Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Win XP
D3 Prof
BeitragVerfasst: Di 30.11.04 18:02 
das funzt bei mir immer noch nicht, ich bekomme die Fehlermeldung :
Klasse besitzt keine Standarteigenschaften.und Delphi vermutet den Fehler in
dem Kästchen mit der null CheckListBox1[0]:= 'Test';
CoLdDsToNe
Hält's aus hier
Beiträge: 13

WIN XP (Suse 9.2)
D7 Pers
BeitragVerfasst: Di 30.11.04 18:15 
zwischenfrage: halt deine checklistbox schon nen wert???

wen ja poste mal code. wenn nicht:
ausblenden Delphi-Quelltext
1:
checklistbox.Items.Insert('Test',0)					


muesst so gehn

greetz cold

Moderiert von user profile iconTino: Code- durch Delphi-Tags ersetzt.
Blutiger-Anfänger Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Win XP
D3 Prof
BeitragVerfasst: Di 30.11.04 19:27 
Ja, sie hat einen Wert.
der Quode ist:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
var
Zeile:integer = 0;
Button1.click (sende:TObjekt);
begin
  stringGrid1.cells[0, Zeile] := ComboBox1.Text;
  inc(zeile);
  if ComboBox1.ItemIndex=0 then
    CheckListBox1[0]:='test erfolgreich
'

Moderiert von user profile iconTino: Code- durch Delphi-Tags ersetzt.
CoLdDsToNe
Hält's aus hier
Beiträge: 13

WIN XP (Suse 9.2)
D7 Pers
BeitragVerfasst: Di 30.11.04 19:41 
Blutiger-Anfänger hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
var Zeile:integer = 0;					


das geht auf keinen fall.
wenn dann
ausblenden Delphi-Quelltext
1:
2:
3:
4:
Button1.click (sende:TObjekt);
var Zeile:integer;
begin
Zeile:=0;


stringGrid1.cells[0, Zeile] := ComboBox1.Text;
warum stringgrid in diesem falle???
inc(zeile); <<<---- ueberfluessig

ausblenden Delphi-Quelltext
1:
2:
if ComboBox1.ItemIndex=0 then
    CheckListBox1[0]:='test erfolgreich'


das muesst aber gehn

greetz cold

Moderiert von user profile iconTino: Code- durch Delphi-Tags ersetzt.
Blutiger-Anfänger Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Win XP
D3 Prof
BeitragVerfasst: Di 30.11.04 20:03 
Das inc Zeile brauche ich, weil ich zusätzlich ein StringGrid als anzeigetabelle brauche(das Programm ist zum erstellen von Tabletop armeelisten(wenn das dir was sagt)), und in Der CheckListBox will ich die verschiedenen Zusatzausrüstungen unterbringen, die dann nach der auswahl in dem dafür fogesehenen StringGrid Tabellarisch angeordnet werden sollen( mit Punkten und allem).
Die inc Zeile bewirkt, dass die Figur die ausgewählt ist unter der vorherangegangenen´Figur steht und sie nicht löscht.
Danke nochma
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 30.11.04 20:48 
Moin!

Wenn ich dich richtig verstanden habe, hast du ein (zunächst leeres) StringGrid und einen globalen Positionszeiger auf die aktuelle Zeile in diese Tabelle. Dann hast du noch eine ComboBox (wobei ..List oder nicht natürlich noch die Frage ist) und einen Button. Wenn man den Button anklickt, willst du eine neue Zeile im StringGrid anlegen, in der der Text der ComboBox eingetragen werden soll. Soweit OK?

Sofern das richtig ist, würde ich folgenden Code vorschlagen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
type
  TForm1 = class(TForm)
    ComboBox1: TComboBox;
    Button1: TButton;
    StringGrid1: TStringGrid;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Zeile: Integer = 0; // geht zwar, ist aber schlechter Stil

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Inc(Zeile);
  StringGrid1.Cells[1,zeile] := ComboBox1.Text;
end;


Dabei ist natürlich noch zu berücksichtigen, dass das StringGrid "genug" Zeilen haben muss bzw. Code einzufügen, der neue Zeilen bei bedarf anlegt.

Weiter: Der obige Code funktioniert sowohl mit ComboBox.Style := csDropDown als auch mit csDropDownList, weil die Eigenschaft .Text gelesen wird und nicht aus dem StringArray per Index.

Hilft das was?

Du gibst das Stichwort "Tabletop Armeelisten". Das hört sich für mich erstmal danach an, als solltest du zunächst eine "geschickte" Datenstruktur entwerfen oder einfach gleiche eine Datenbank nehmen. Ich fürchte, andernfalls wirst du früher oder später Probleme bekommen, wenn die Programmstruktur sich auf Grund von geänderten Wünschen an das Programmverhalten anpassen soll. Sieht nach klassischer Falle aus... (erstmal an der Oberfläche basteln und irgendwie die Daten speichern, ist ja nicht so wichtig :-? ) ... in die du läufst. :wink:

cu
Narses
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Di 30.11.04 20:59 
@Blutiger-Anfänger & CoLdDsToNe: Bitte benutzt beim Posten von Delphi-Sourcecode die [ delphi] ... [ /delphi] Tags damit dieser Code "gehighlightet" dargestellt wird. Danke!
Blutiger-Anfänger Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Win XP
D3 Prof
BeitragVerfasst: Do 02.12.04 18:21 
HI Leute
ich hab mir heute aus der Bibliothek ein Buch geholt, in dem hoffentlich mein Problem gelöst wird, danke schonmal für eure Antworten.
Ich denke ich werde nicht drum herum kommen eine Datenbank anzulegen(hab so was noch nie gemacht).