AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Komponente über Nummer variabel ansprechen
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente über Nummer variabel ansprechen

Ein Thema von Armageddon · begonnen am 11. Jul 2006 · letzter Beitrag vom 12. Jul 2006
Antwort Antwort
Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#1

Komponente über Nummer variabel ansprechen

  Alt 11. Jul 2006, 18:17
Hallo,

ich versuche gerade den folgenden Code anzupassen. Folgendes Problem: Ich habe auf einem Formular über 20 TLabeledEdit-Felder und möchte diese nun in einer kleinen Funktion, siehe weiter unten, prüfen und gegenbenenfalls anpassen. Wie bekomme ich folgendes Gedankengerüst hin?

Delphi-Quellcode:
function Zuweisen(i: Integer): String;
var
  EditInhalt: String;
begin
  EditInhalt := Form1.LabeledEdit[i].Text;
  if EditInhalt = 'then Result := leer else Result := EditInhalt;
end;
Aufruf:

Delphi-Quellcode:
  v1 := Zuweisen(1);
  v2 := Zuweisen(2);
  usw.
Das muss doch irgendwie gehen. Ich denke bestimmt nur wieder zu kompliziert.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Komponente über Nummer variabel ansprechen

  Alt 11. Jul 2006, 18:21
Das geht mit .FindComponent
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#3

Re: Komponente über Nummer variabel ansprechen

  Alt 11. Jul 2006, 18:22
Die Murkslösung hieße FindComponent, aber es geht definitiv schöner.
Darf ich annehmen, dass alle Edits untereinander liegen oder sonstwie geordnet sind? Dann wäre es eigentlich sinnvoller (und schneller, aber du hast sie ja schon platziert), sie dynamisch zu erzeugen und in einem Array zu speichern.

[edit]
Ich hatte schon gehofft, der rote Kasten würde langsam funktionieren .
[/edit]
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#4

Re: Komponente über Nummer variabel ansprechen

  Alt 11. Jul 2006, 18:26
Dynamisch erstellen fällt ins Wasser.
FindComponent hmmm. Ich glaub ich schalt die Kiste heute lieber mal aus. Draussen ist es so heiss heute da funktioniert der Kopf nicht mehr richtig.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Komponente über Nummer variabel ansprechen

  Alt 11. Jul 2006, 18:35
EditInhalt := (Form1.FindComponent('LabeledEdit'+IntToStr(i)) as TLabeledEdit).Text;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#6

Re: Komponente über Nummer variabel ansprechen

  Alt 11. Jul 2006, 18:37
Cool, genau das habe ich gesucht. Nun ist der Tag doch noch gerettet.
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#7

Re: Komponente über Nummer variabel ansprechen

  Alt 12. Jul 2006, 09:06
Hi,
nur der Vollständigkeit halber wollte ich hier mal erwähnen, dass sich find Control natürlich eher anbietet, da du ein Control suchst. Ist wahrscheinlich nur minimal schneller, aber du brauchst halt nicht alle TComponents betrachten, wenn es auch die Controls tun.

Gruß Der Unwissende
  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 00:18 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