![]() |
Re: viele componenten auf visible := false setzen?
danke dir :)
|
Re: viele componenten auf visible := false setzen?
Zitat:
Delphi-Quellcode:
die Suche eben auf den "Zweig" beschränkt, der aus den TEdits besteht und den davon abgeleiteten Typen. Im Prinzip bräuchte man das AS nicht.
AS TEdit
|
Re: viele componenten auf visible := false setzen?
Jupp, genau so.
Nur das man das "AS" meiner Meinung nach schon braucht. |
Re: viele componenten auf visible := false setzen?
konnte nicht gehen, hatte 'ne ")" vergessen:
TEdit(FindComponent('Edit' + IntToStr(I))).Visible := False; es ist nicht möglich einer Kombination aus Stringkonstannte, Stringfunktion und Eigenschaft einen Wert zu zuweisen: Zitat:
Add: Komponente suchen und in TEdit konvertieren:
Delphi-Quellcode:
Komponente als TEdit suchen:
TEdit(FindComponent('Edit' + IntToStr(laufVar))).Enabled
Delphi-Quellcode:
(FindComponent('Edit' + IntToStr(laufVar)) as TEdit).Enabled
|
Re: viele componenten auf visible := false setzen?
das:
Delphi-Quellcode:
funzt bei mir nicht, ich bekomme eine zugriffsverletzung
TEdit('Edit' + IntToStr(laufVar)).Enabled
|
Re: viele componenten auf visible := false setzen?
Hi,
dann schreib folgendes:
Delphi-Quellcode:
Chris
hCmp := FindComponent('Edit' + IntToStr(i)); // hCmp ist vom Typ TComponent
if (hCmp is TEdit) and (hCmp <> nil) then (hCmp as TEdit).Enabled := false else ShowMessage('Error'); |
Re: viele componenten auf visible := false setzen?
Moin silent,
Zitat:
'Edit' + IntToStr(laufVar) ist ein String. Der normale Hugestring ist ein Pointer und mit der o.g. Konstruktion erzwingst Du einen Typecast eines Stringpointers auf einen TEdit Pointer zur Laufzeit, und das führt zur AV, da ein String kein TEdit Objekt ist. Verallgemeinert: Mit
Delphi-Quellcode:
erzwingst Du, dass der in den Klammern stehende Pointer vom Compiler als vom Typ TKlassenBezeicher angesehen wird. Kann man machen, wenn sichergestellt ist, dass der Pointer vom Typ TKlassenBezeichner, oder eine davon abgeleitete Klasse ist.
TKlassenBezeichner(WasAuchImmerFuerEinPointerHierAngegebenWird)
Wichtig ist, dass der Programmierer bei dieser Konstruktion die Verantwortung dafür übernimmt, dass die Typen zusammen passen. Machst Du es hingegen so
Delphi-Quellcode:
übernimmt der Compiler schon beim Compilieren die Typüberprüfung, und meckert wenn's nicht passt.
(WasAuchImmerFuerEinPointerHierAngegebenWird AS TKlassenBezeichner)
|
Re: viele componenten auf visible := false setzen?
Uuups! :oops::oops:
TEdit('Edit' + IntToStr(laufVar)).Enabled => TEdit(FindComponent('Edit' + IntToStr(laufVar))).Enabled (siehe Chris) |
Re: viele componenten auf visible := false setzen?
:lol:
Delphi-Quellcode:
[edit=sakura]Delphi-Tag geschlossen Mfg, sakura[/edit]
Procedure TForm1.editclear;
Var Count : Integer; Begin // For Count:=0 to ComponentCount-1 do If Components[Count] is TEdit Then Begin TEdit(Components[Count]).Clear; {edit(Components[Count]).Color:=ClInfoBk;} END; end; |
Re: viele componenten auf visible := false setzen?
Liste der Anhänge anzeigen (Anzahl: 1)
:lol: :lol: :lol:
[edit=FuckRacism]Beitrag leserlich gemacht. Aber was soll der Anhang? Ist doch genau des gleiche wie in dem Post davor! Mfg, FuckRacism[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 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