AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Andorra 2D [Ver. 0.4.5.1, 31.12.08]
Thema durchsuchen
Ansicht
Themen-Optionen

Andorra 2D [Ver. 0.4.5.1, 31.12.08]

Ein Thema von igel457 · begonnen am 24. Nov 2006 · letzter Beitrag vom 14. Sep 2011
 
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#11

Re: Andorra 2D [Ver. 0.30 BETA, 22.11.07]

  Alt 2. Jan 2008, 15:56
Ich hätte einen Vorschlag: Bei der Verwendung der GUI ist es hilfreich, wenn man Komponenten über ihren Namen ansprechen kann. Dazu würde ich folgende Ergänzung in der AdGUI vorschlagen:

Delphi-Quellcode:
  TAdComponents = class(TAdList)
    private
      procedure SetItem(Index:integer;AValue:TAdComponent);
      function GetItem(Index:integer):TAdComponent;
      function GetItemNamed(Name: String): TAdComponent; // Neu
      procedure SetItemNamed(Name: String; const Value: TAdComponent); // Neu
      function IndexOf(Name: String): Integer; // Neu
    public
      property Items[index:integer]:TAdComponent read GetItem write SetItem; default;
      property ItemNamed[Name: String]: TAdComponent read GetItemNamed write SetItemNamed;
    end;
Und die Definition:

Delphi-Quellcode:
function TAdComponents.GetItemNamed(Name: String): TAdComponent;
var i: Integer;
begin
 Result := Nil;
 for I := 0 to Count - 1 do
  if Lowercase(Items[i].Name) = Lowercase(Name) then begin
   Result := Items[i];
   Break;
  end;
end;

function TAdComponents.IndexOf(Name: String): Integer;
var i: Integer;
begin
 Result := -1;
 for I := 0 to Count - 1 do
  if Lowercase(Items[i].Name) = Lowercase(Name) then begin
   Result := i;
   Break;
  end;
end;

procedure TAdComponents.SetItemNamed(Name: String; const Value: TAdComponent);
var i: Integer;
begin
 i := IndexOf(Name);
 if i <> -1 then
  Items[i] := Value;
end;
Die Idee ist von TJvSimpleXML übernommen und klappt bis jetzt wunderbar

PS: Danke fürs Lob, die anderen Tutorials werde ich mir bei Gelegenheit mal vornehmen
Thomas
  Mit Zitat antworten Zitat
 


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 09:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz