AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Array of Boolean

Ein Thema von jeng37 · begonnen am 18. Sep 2015 · letzter Beitrag vom 19. Sep 2015
Antwort Antwort
jeng37

Registriert seit: 23. Jul 2015
42 Beiträge
 
#1

Array of Boolean

  Alt 18. Sep 2015, 16:09
Hallo,

Ist es möglich ein 2d array separat zu befüllen?

Delphi-Quellcode:

TestArray: array[0 .. 15 ,0 .. 7] of Boolean;

for x := 0 to 15 do
  TestArray[Y,nil] := False; // das klappt nicht
Gibt es da eine möglichkeit ohne dass ich zwei separate arrays anlegen muss?

Danke.

Geändert von mkinzler (18. Sep 2015 um 16:18 Uhr) Grund: Tag gefixt
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Array of Boolean

  Alt 18. Sep 2015, 16:20
Was meinst Du mit separat? Es handelt sich um ein Gitter, welcher Index sollte NIL sein?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.014 Beiträge
 
Delphi 12 Athens
 
#3

AW: Array of Boolean

  Alt 18. Sep 2015, 16:21
Was ist Y?
Wo verwendest du X?
Was soll das nil bedeuten?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
jeng37

Registriert seit: 23. Jul 2015
42 Beiträge
 
#4

AW: Array of Boolean

  Alt 18. Sep 2015, 16:29
Was ist Y?
Wo verwendest du X?
Was soll das nil bedeuten?
Hab mich vertippt..

Y wird auf true gesetzt wenn die entsprechende Radiobox angewählt wird.
I wird von einer checkbox auf True gesetzt.

Delphi-Quellcode:
procedure TForm1.RadioButtonClick(Sender: TObject);
Var
  I, X,Y: integer;
  Line: String;
 
Begin
  Line := 'RadionState=';
  Y := TRadioButton(Sender).Tag;
  TestArray[Y,Nil] := True; // hier das problem.

 for i := 0 to 7 do
  if TestArray[Y,i] then
          Line := Line +'FF,'
   else
      Line := Line +'00,';
      Memo1.Lines.Add(Line);
End;

procedure TForm1.ckPortClick(Sender: TObject);
  var
    ThisCheckBox: TCheckBox;
begin

  ThisCheckBox := Sender as TCheckBox;
  TestArray[Y,ThisCheckBox.Tag] := ThisCheckBox.Checked;
  SendStateToHW;
end;

procedure TForm1.SendStateToHW;
  var
    i,y: Integer;
    Line: String;
begin

  Line := 'NewState=';
 for y:= 0 to 15 do
    begin
      for i := 0 to 7 do
       if TestArray[y,i] then
       Line := Line +'FF,'
   else
      Line := Line +'00,';
      Memo1.Lines.Add(Line);
   end;

end;

Geändert von jeng37 (18. Sep 2015 um 16:33 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.014 Beiträge
 
Delphi 12 Athens
 
#5

AW: Array of Boolean

  Alt 18. Sep 2015, 16:32
Was willst du mit TestArray[Y,Nil] := True; bezwecken?

Der zweite Index des Arrays ist als 0..7 deklariert. Was soll also das nil dort bedeuten?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
jeng37

Registriert seit: 23. Jul 2015
42 Beiträge
 
#6

AW: Array of Boolean

  Alt 18. Sep 2015, 16:39
Was willst du mit TestArray[Y,Nil] := True; bezwecken?

Der zweite Index des Arrays ist als 0..7 deklariert. Was soll also das nil dort bedeuten?
Ich möchte in dem moment da nichts übergeben.

Ach du liebe....

Ich habs bemerkt, ich brauche das ja gar nicht.
Ich wollte an sich dan den radiobutton.tag ablegen, das brauche ich ja garnicht.
Ich speichere einfach nur den gedrückten radiobutton in einer public definierten variable.


Danke...
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Array of Boolean

  Alt 18. Sep 2015, 16:51
Was auch immer Du da erreichen willst..
Eine Möglichkeit durch die Hintertüre wäre es z.B. mit Fillchar zu arbeiten. Aber empfehlenswert ist das nicht unbedingt.
Was spricht denn gegen
Delphi-Quellcode:
for i:=0 to 15 do
  for j:=0 to 7 do
    TestArray[i,j]:=false;
?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#8

AW: Array of Boolean

  Alt 18. Sep 2015, 18:22
TestArray: array[0 .. 15 ,0 .. 7] of Boolean;
Also irgendwie hast du wohl was falsch verstanden ... ein zweidimensionales Array ist wie eine Tabelle mit Spalten und Zeilen. Nehmen wir an, die erste Dimension (x) wären die Spalten und die zweite (y) die Zeilen. Dann wird eine Zelle oder ein Wert in diesem Array dadurch lokalisiert, daß man x und y angibt:
Delphi-Quellcode:
Testarray[14,3] := True;
Testarray[11,6] := False;
Was anderes kann man diesen Zellen nicht zuweisen. Du kannst auch keine Zelle auswählen, indem du nur einen der beiden Dimensionen angibst, es müssen immer beide angegeben sein.
  Mit Zitat antworten Zitat
jeng37

Registriert seit: 23. Jul 2015
42 Beiträge
 
#9

AW: Array of Boolean

  Alt 19. Sep 2015, 17:45
Danke,

Hab den Wald vor lauter Bäumen nicht mehr gesehen.
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:44 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