Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Ungültiger Komponentenname (https://www.delphipraxis.net/4109-ungueltiger-komponentenname.html)

sECuRE 15. Apr 2003 17:27


Ungültiger Komponentenname
 
hi!

Folgendes Problem beschäftigt mich:
Ich geb meinen fenstern(Form2) während der Laufzeit verschiedene Namen, die gewissermaßen durch den Anwender bestimmt werden. Jetzt allerdings bekomme ich 'ne Fehlermeldung wenn der Anwender zb bla- eingibt, weil ein '-' anscheinend nicht als Komponenten-name erlaubt ist..
wie kann ich das umgehen/abschalten? Ich dachte da an eine Function die nicht erlaubte Zeichen durch andere ersetzt (und umgekehrt), bloß wie? Im Komponenten-namen scheint nicht viel spielraum zu sein was ASCII-Codes angeht..

cu

Daniel B 15. Apr 2003 17:38

Hallo und herzlich Willkommen im Forum!

Ich versteh Dein problem nicht.
Du zeigst jetzt Form2 an. Auf dem zweiten Formular hast Du dann ein Button oder sonst was und setzt z.B. mit folgendem Code die Caption des Formulares. Wie hast Du es denn geschrieben, poste dochmal etwas Code.
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
begin
  Caption := 'bla-';
end;
Grüsse, Daniel :hi:

sECuRE 15. Apr 2003 17:53

hi!

ich meinte nicht die Caption, sondern den Name der Komponente

Delphi-Quellcode:
procedure Form2.CreateWin(name:string);
var cchild:TForm2;
begin
cchild:=TForm2.Create(Self);
cchild.name:=name;
cchild.caption:=name;
end;

procedure Form2.Button1Click(Sender: TObject);
begin
CreateWin(Edit1.Text);
end;

procedure Form2.Button2Click(Sender: TObject);
var n:string; child:TForm2;
begin
n:=Edit1.Text;
child:=(FindComponent(n) as TForm2);
child.caption:='Blabla';
end;
Ist das Problem jetzt klar? Die Caption ist nicht gemeint, ich weiss ja, dass es da keine einschränkungen gibt :D

Daniel B 15. Apr 2003 18:00

Hallo,
[quote="aM0xACiLLiN"]ich meinte nicht die Caption, sondern den Name der Komponente.
Ist das Problem jetzt klar? Die Caption ist nicht gemeint, ich weiss ja, dass es da keine einschränkungen ;)

- geht nicht, wenn dann _ Underline! Ansonsten es dem User einfach verbieten - zu schreiben.

Grüsse, Daniel :hi:

sECuRE 15. Apr 2003 18:02

Zitat:

- geht nicht, wenn dann _ Underline! Ansonsten es dem User einfach verbieten - zu schreiben.
geht leider nich. kommt nich so gut wenn man in 'nem irc-client nur bestimmte channels (ohne -) joinen kann..

sakura 15. Apr 2003 18:10

Aber wieso willst Du es überhaupt über den Namen der Komponente regeln? Der ist eigentlich wirklich ausschließlich für das Coding gedacht? Was genau willst Du erreichen, vielleicht können wir Dir einen günstigeren Weg zeigen. Das gewollte wirst Du nicht erreichen können. Die Namen müssen mit einen Buchstaben (A-Z) beginnen und können ausschließlich Alphanummerische Zeichen (A-Z, 0-9) und den Underscore (_) enthalten.

...:cat:...

sECuRE 15. Apr 2003 18:34

@sakura: das hat mich auf eine idee gebracht. habs jetzt anders gelöst, dauert zwar nun (vom coding her) länger das gesuchte fenster zu finden, aber dafür sind alle namen erlaubt :D (jetzt wird jedes MDI-Fenster abgefragt, und nach der caption wird geschaut ob es sich um das gesuchte handelt)

Touchdown 15. Apr 2003 18:59

Such mal lieber in der Hilfe nach Tags :mrgreen:

Dem User die Namen meiner Komponenten anzuvertrauen lässt mir die Haare zu Berge steigen :firejump:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 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 by Thomas Breitkreuz