AGB  ·  Datenschutz  ·  Impressum  







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

Labels in ein Array?

Ein Thema von Splinter · begonnen am 29. Jan 2004 · letzter Beitrag vom 29. Jan 2004
Antwort Antwort
Seite 1 von 3  1 23      
Splinter

Registriert seit: 25. Jan 2004
Ort: Oppenheim
43 Beiträge
 
Delphi 7 Enterprise
 
#1

Labels in ein Array?

  Alt 29. Jan 2004, 13:39
Hi
ich habe in meinem projekt paar labels die je nachdem ob sie sichtbar sind oder nicht in ein memo hinzugefügt werden sollen(für effekte -PieTools-)


ich könnte auch 7x
tagsichtbar(Label1)
tagsichtbar(Label2)...

usw schreiben aber es müsste doch auch irgendwie mit nem array gehen.
ich hab dann das hier gemacht aber das mag delphi anscheinend irgendwie nich...


Delphi-Quellcode:
procedure sichtbareTageeins;
var a: Array[Label1..label7] of Tlabel;
    i: Integer;

 Procedure tagsichtbar(tag: Tlabel;);
  begin
  If Unit1.Form1.tag.Visible = true
   Then Unit1.Form1.Memo2.lines.Add(tag.name);
  end;

begin
 For i := 1 to 7 DO
  tagsichtbar(a[i])
end;

kann ich in ein array keine labels reinschreiben oder wo liegt mein fehler?

sry wenn ich mit meinem newbgeschwätz nerve aber hab grad erst angefangen mit delphi und weiß manchmal einfach nicht was ich falsch mache =)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Labels in ein Array?

  Alt 29. Jan 2004, 13:45
Irgendwelche Fehlermeldungen? Ohne das Kompiliert zu haben, sehe ich schon mindesten eine, wenn nicht sogar zwei.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
gekmihesg
(Gast)

n/a Beiträge
 
#3

Re: Labels in ein Array?

  Alt 29. Jan 2004, 13:46
Delphi-Quellcode:
var i:integer;
begin
for i:=1 do 7 do
  tagsichtbar((findocomponent('Label'+inttostr(i)) as TLabel));
end;
  Mit Zitat antworten Zitat
Gepard

Registriert seit: 9. Jan 2004
4 Beiträge
 
#4

Re: Labels in ein Array?

  Alt 29. Jan 2004, 14:10
wenn du ein Array nimmst dann achte darauf wie die Felder angesprochen werden
wenn das Array n Felder hat muss der Code in etwa so aussehen
(nur ein einfaches Beispiel)
var  i, x: Integer begin for i := 1 to n do   x := a[i-1] end; a[0] ist das 1. Feld
a[1] ist das 2. Feld
a[n-1] ist das letzte Feld im Array
Freie Bahn mit Marzipan
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Labels in ein Array?

  Alt 29. Jan 2004, 14:12
Und dabei
Array[Label1..label7] dürfte sich auch Delphi weigern das zu kompilieren. Ein Objekt ist kein Ordinalwert.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Gepard

Registriert seit: 9. Jan 2004
4 Beiträge
 
#6

Re: Labels in ein Array?

  Alt 29. Jan 2004, 14:13
Sorry sieht sehr blöd aus
Delphi-Quellcode:
var
          i, x: Integer
        begin
          for i := 1 to n do
            x := a[i-1]
        end;
Freie Bahn mit Marzipan
  Mit Zitat antworten Zitat
Nightshade

Registriert seit: 7. Jan 2003
Ort: Menden
192 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Labels in ein Array?

  Alt 29. Jan 2004, 14:21
Zitat von Splinter:
also wenn ich schreibe
...
mag er das auch nich
([Error] Unit1.pas(195): Record, object or class type required
[Error] Unit1.pas(200): For loop control variable must be simple local variable
[Error] Unit1.pas(201): Undeclared identifier: 'findocomponent'
[Error] Unit1.pas(201): Operator not applicable to this operand type)

usw
Delphi-Quellcode:
procedure sichtbareTageeins;

 var i: Integer;

  Procedure tagsichtbar(Mytag: Tlabel);
  begin
    If Mytag.Visible Then
      Form1.Memo2.lines.Add(Mytag.name);
  end;
 
begin
  for i := 1 to 7 do
    tagsichtbar((findcomponent('Label'+inttostr(i)) as TLabel));
end;

Mag daran liegen, das Form1.tag eine vorhandene Variable ist.
Versuchs mal so wie oben ...
Christian
Killing for peace is like fucking for virginity

Nightshade
  Mit Zitat antworten Zitat
Splinter

Registriert seit: 25. Jan 2004
Ort: Oppenheim
43 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Labels in ein Array?

  Alt 29. Jan 2004, 14:23
Zitat von Gepard:
Sorry sieht sehr blöd aus
Delphi-Quellcode:
var
          i, x: Integer
        begin
          for i := 1 to n do
            x := a[i-1]
        end;
ich weiß schon im groben wie man nen arry umgeht aber halt nich wenn ich das mit nem label machen will

@gekmihesg


also wenn ich schreibe
Delphi-Quellcode:
procedure sichtbareTageeins;
 var i: Integer;
Procedure tagsichtbar(tag: Tlabel);
begin
 If Unit1.Form1.tag.Visible = true
  Then Unit1.Form1.Memo2.lines.Add(tag.name);
 end;
 
begin
for i := 1 to 7 do
  tagsichtbar((findocomponent('Label'+inttostr(i)) as TLabel));
end;
mag er das auch nich
([Error] Unit1.pas(195): Record, object or class type required
[Error] Unit1.pas(200): For loop control variable must be simple local variable
[Error] Unit1.pas(201): Undeclared identifier: 'findocomponent'
[Error] Unit1.pas(201): Operator not applicable to this operand type)

usw


luckie hast vielleicht auch ne idee wie man das umsetzen kann?
  Mit Zitat antworten Zitat
Splinter

Registriert seit: 25. Jan 2004
Ort: Oppenheim
43 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Labels in ein Array?

  Alt 29. Jan 2004, 14:32
Delphi-Quellcode:
procedure sichtbareTageeins;

 var i: Integer;

  Procedure tagsichtbar(Mytag: Tlabel);
  begin
    If Mytag.Visible Then
      Form1.Memo2.lines.Add(Mytag.name);
  end;
 
begin
  for i := 1 to 7 do
    tagsichtbar((findcomponent('Label'+inttostr(i)) as TLabel));
end;

Mag daran liegen, das Form1.tag eine vorhandene Variable ist.
Versuchs mal so wie oben ...[/quote]




er hat komischerweise immer probleme mit der function findcomponent wieso findet er die nich??
aber wenn ichs so mache wie du sind nur noch 2 fehlermeldungen über :

[Error] Unit1.pas(203): Undeclared identifier: 'findcomponent'
[Error] Unit1.pas(203): Operator not applicable to this operand type
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Labels in ein Array?

  Alt 29. Jan 2004, 14:37
So irgendwie:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
var
  Loop: Cardinal;
begin
  for Loop := 1 to 3 do
  begin
    with TCheckBox(FindComponent('Checkbox'+IntToStr(Loop))) do
    begin
      if Checked then
        TLabel(FindComponent('Label'+IntTostr(Loop))).Visible := True
      else
        TLabel(FindComponent('Label'+IntTostr(Loop))).Visible := False;
    end;
  end;
end;
Aber ich bekomme immer in den TLabel-Zeilen ein AV.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 22:34 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