Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » Edit[i]->text in Schleifen basteln ???

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
23.08.2003, 22:33 Uhr
~WG_Spritzwasser
Gast


Mein code :


C++:
if (Edit1->Text == "")
  Edit1->Text = "0";
if (Edit2->Text == "")
  Edit2->Text = "0";
if (Edit3->Text == "")
  Edit3->Text = "0";
if (Edit4->Text == "")
  Edit4->Text = "0";
if (Edit5->Text == "")
  Edit5->Text = "0";
if (Edit6->Text == "")
  Edit6->Text = "0";
if (Edit7->Text == "")
  Edit7->Text = "0";



kann ich das nicht irgendwie vereinfachen ???
ich dacht da an sowas ähnliches wie das hier:

C++:
for (i=1; i++; i<8)
{
if (Edit[i]->Text == "")
Edit[i]->Text = "0";
}



das geht aber nicht gibts da irgendwas anderes ?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.08.2003, 01:33 Uhr
Pablo
Supertux
(Operator)


Das geht nur, wenn Edit ein Array wäre, aber Edit1..7 sind 7 verschiedene Objekte.
Ich weiß nicht, wie Borland.... funktioniert, weil ich damit nicht arbeite. Aber das kenne ich von VB. Wenn du ein Objekt auswählst und kopierst und in das selbe Formular einfügts, dann sagt der VB, dass es schon ein Objekt gibt, mit diesem Namen. Dann fragt er, ob er ein Control Array ertsellen soll. Da gibt es eine Property bei allen Objekten, die Index heißt. Wenn Index einen Wert hat, heißt es, dass es ein Array gibt. Dann kann deine Lösung anwenden, aber wenn es sich um verschiedene Objekte handelt, muss du eine if Anweisung für alle benutzen. Außerdem sollte es nicht sein?:
C++:
for(i=1;i<8;++i)


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 24.08.2003 um 01:34 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
24.08.2003, 12:24 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
über ComponentCount erhälst Du die Anzahl aller Steuerelemente einer Form, bzw. Deiner Anwendung.
Mit Components kannst Du z.b. in einer Schleife den Klassennamen ermitteln.
Wenn dieser TEdit ist, kannst Du z.B. auch in einer Schleife PPropInfo mit
GetPropInfo(); dessen Struktur füllen und mit SetOrdProp() die Eigenschaften festlegen (u.a. auch Text bei TEdit);
(Glaube da ist einiges in der VCL undokumentiert)
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 24.08.2003 um 12:25 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
24.08.2003, 16:44 Uhr
Bruder Leif
dances with systems
(Operator)


Moin!

Mit den PropInfos musst Du Dich nicht rumplagen, die VCL ist polymorph :-) Einfach


C++:
for(int i=0; i<ComponentCount; i++)
   if(Klassenname(Components[i] == "TEdit", weiß den Test grad nicht auswendig)
      if(((TEdit) Components[i])->Text == "")
         ((TEdit) Components[i])->Text = "0";



dann klappt das!
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
24.08.2003, 16:45 Uhr
Bruder Leif
dances with systems
(Operator)


Oder Du erstellst ein Array:


C++:
TEdit* x[] = {Edit1, Edit2, Edit3, Edit4, Edit5...};
for(int i=0; i<5; i++)
   if(x[i]->Text == "")
      x[i]->Text = "0";


--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
25.08.2003, 11:28 Uhr
~WG_Spritzwasser
Gast


aha, danke an euch alle

p.s. @Pablo Yanez Trujillo: jo, müsst natürlich for(i=1;i<8;++i) heißen, hab ich mich wohl vertippt
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
30.09.2003, 15:30 Uhr
~Poldy
Gast


for(int i=0; i<ComponentCount; i++)
if(Klassenname(Components[ i ] == "TEdit", weiß den Test grad nicht auswendig)
if(((TEdit) Components[ i ])->Text == "")
((TEdit) Components[ i ])->Text = "0";

Ich hab versucht das da oben mal zum laufen zu bringen.. ging aber nix.
Könnte mir wohl jemand mal den geauen Quelltext vorgeben, den ich nur noch kopieren brauch um eine beliebige Anzahl an TEdit-Componenten in einer Schleife anzusprechen und diese einfach leer machen ( = "") wenn was drin stehen sollte.

Worauf's mir ankommt ist also die Anzahl einer bestimmten Componente zu bestimmen (könnten ja noch Labels und Buttons auf dem Form sein)

..und Componenten vom bleichen Typ in einer Schleife anzuspechen.

.. ach ja und wenn das geht ohne ein Array von diesem Componenten-Typ anzulegen (TEdit * MyEditArray[x])

arigatou
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: