Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   queltext kürzen mit schleifen (https://www.delphipraxis.net/154840-queltext-kuerzen-mit-schleifen.html)

Bomberbb 27. Sep 2010 19:19

AW: queltext kürzen mit schleifen
 
wenn Du sie nur einmal aktivieren willst dann reicht im übrigen auch:
Code:
  for zaehler := 1 to 4 do
    TImage( FindComponent('image'+IntToStr(i))).enabled:=true;
Warum das ganze nicht funktioniert, kann ich aus deinem Quelltext nicht erkennen. Was sagt denn der Debugger an der Stelle, wenn du Image1.enabled abfragst?

edit: ok, den ersten Hinweis gabs ja schon...

xxsasch4xx 27. Sep 2010 19:23

AW: queltext kürzen mit schleifen
 
Es funktioniert so ohne array sogar wie bomber. geschrieben hat
Danke.

xZise 27. Sep 2010 20:01

AW: queltext kürzen mit schleifen
 
Zitat:

Zitat von xxsasch4xx (Beitrag 1052468)
Es funktioniert so ohne array sogar wie bomber. geschrieben hat
Danke.

Kommt halt immer darauf an was du willst. Wenn du es nur einmal brauchst, dann brauchst du natürlich kein Array. Ansonsten ist es halt sinnvoller weil FindComponent gegenüber ein Array arschlangsam ist.

MfG
Fabian

alzaimar 27. Sep 2010 20:10

AW: queltext kürzen mit schleifen
 
Delphi-Quellcode:
Type
  TMyForm = class (TForm)
  ...
    Function GetEditByIndex(index : Integer) : TEdit;
  protected
    property Edit[index : Integer] : TEdit Read GetEditByindex;
  end;


Function TMyForm.GetEditByIndex(index : Integer) : TEdit;
Begin
  Result := FindComponent(Format('Edit%d',[index])) as TEdit
End;
Da es den Aufrufer nichts angeht, wie ich das löse, verberge ich die Implementierung hinter einem Getter. Außerdem und überhaupt ist es so wenigstens lesbar. Im Getter kann ich immer noch ein Array verwenden, wenn ich mag.

Ich persönlich mag FindComponent nicht, denn wenn ich einmal den Namen meiner Komponente ändere, kompiliert das Programm trotzdem, funktioniert aber nicht mehr. Mit einem Array (Initialwerte zuweisen im FormCreate) gibt es wenigstens einen Syntaxfehler.

DeddyH 28. Sep 2010 08:16

AW: queltext kürzen mit schleifen
 
Genau, außerdem muss man dann die entsprechenden Komponenten durchnummerieren bzw. die automatisch vergebenen Namen belassen. Ich persönlich bekomme immer einen Arkl-Anfall, wenn ich Komponenten mit Namen wie z.B. Edit23 sehe, da sich nicht daraus schließen lässt, welche Daten dahinterstecken.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:11 Uhr.
Seite 3 von 3     123   

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