WinFuture-Forum.de: Schleife - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Schleife C++


#1 Mitglied ist offline   gewup 

  • Gruppe: aktive Mitglieder
  • Beiträge: 43
  • Beigetreten: 08. März 06
  • Reputation: 0

geschrieben 16. Oktober 2006 - 16:39

Hi Leute

ich möchte diese paar zeilen Code vereinfachen, und möchte die ausgabe in ner schleife machen

 Edit1->Text = Buchstabe[0];
 Edit2->Text = Buchstabe[1];
 Edit3->Text = Buchstabe[2];
 Edit4->Text = Buchstabe[3];
 Edit5->Text = Buchstabe[4];
 Edit6->Text = Buchstabe[5];
 Edit7->Text = Buchstabe[6];
 Edit8->Text = Buchstabe[7];
 Edit9->Text = Buchstabe[8];
 Edit10->Text = Buchstabe[9];
 Edit11->Text = Buchstabe[10];
 Edit12->Text = Buchstabe[11];
 Edit13->Text = Buchstabe[12];
 Edit14->Text = Buchstabe[13];
 Edit15->Text = Buchstabe[14];
 Edit16->Text = Buchstabe[15];
 Edit17->Text = Buchstabe[16];
 Edit18->Text = Buchstabe[17];
 Edit19->Text = Buchstabe[18];
 Edit20->Text = Buchstabe[19];
 Edit21->Text = Buchstabe[20];
 Edit22->Text = Buchstabe[21];
 Edit23->Text = Buchstabe[22];
 Edit24->Text = Buchstabe[23];
 Edit25->Text = Buchstabe[24];
 Edit26->Text = Buchstabe[25];


Wie Kann ich es schaffen, dass die Zahlen der Editkomponente auch in einer schleife hochgezählt werden?

Problem: Wenn ich Edit als Variable vereinbar, bringt der compiler nen fehler

Hab es mir folgendermaßen gedacht:
int Zahl[26];
AnsiString Ausgabe = "Edit";

for(int i = 0;i<=25;i++)
{
 Ausgabe + i ->Text = Zahl[i];
}

tut aber leider net

fals jemand lösungvorschläge hat, wäre ich sehr dankbar

thx gruß gewup
0

Anzeige



#2 Mitglied ist offline   plichel 

  • Gruppe: Mitglieder
  • Beiträge: 19
  • Beigetreten: 09. Oktober 06
  • Reputation: 0

geschrieben 16. Oktober 2006 - 17:20

Zitat

ich möchte diese paar zeilen Code vereinfachen, und möchte die ausgabe in ner schleife machen


was du dann aber geschrieben hast ist eine zuweisung !

Zitat

for(int i = 0;i<=25;i++)
{
Ausgabe + i ->Text = Zahl[i];
}

das wird wohl so nix werden. glaube auch nicht, dass du dir den Variablennamen so zusammenbasteln kannst. (der name der variable steht ja nach dem kompilieren fest. du willst den ja dann irgendwie zur luafzeit erzeugen) wieso machst du nicht ein array ?
0

#3 Mitglied ist offline   gewup 

  • Gruppe: aktive Mitglieder
  • Beiträge: 43
  • Beigetreten: 08. März 06
  • Reputation: 0

geschrieben 16. Oktober 2006 - 17:56

@plichel: Ja... ich möchte diese zuweisungen nicht alle nacheinader auflisten, sondern irgendwie als schleife durchlaufen lassen
weiß halt net, wie ich mir den Variabelnamen zusammenbasteln kann, und ob des überhaupt funktioniert

gruß gewup
0

#4 Mitglied ist offline   Graumagier 

  • Gruppe: aktive Mitglieder
  • Beiträge: 8.811
  • Beigetreten: 01. März 04
  • Reputation: 1
  • Geschlecht:Männlich
  • Wohnort:Graz, Österreich

geschrieben 16. Oktober 2006 - 18:10

Arrays wurden bereits genannt.
"If you make something idiot proof, someone will invent a better idiot." - Marvin

For Emails always use OpenPGP. My KeyID: 0xA1E011A4
0

#5 Mitglied ist offline   plichel 

  • Gruppe: Mitglieder
  • Beiträge: 19
  • Beigetreten: 09. Oktober 06
  • Reputation: 0

geschrieben 16. Oktober 2006 - 18:11

ja also wie gesagt, den variablen namen muss man wohl schon zur kompilierungszeit festlegen, denke ich zumindest.

in diesem Thread wird etwas ähnliches diskutiert:
http://www.mycsharp....?threadid=21211
http://www.mycsharp....?threadid=21209

und wie gesagt mit einem Array erreichst du das doch auch, oder ?
0

#6 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 16. Oktober 2006 - 21:53

Wie wär's mit Reflection?

Reflection.DeineKlasse.getVariable("Edit"+i).set(Buchstabe[i]);

Aber 's wäre klüger mal über als das GUI nachzudenken, wenn du tatsächlich 26 Edit-Felder hast. Oder über die Programmfunktion, wenn du das Buchstaben reinschreibst.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#7 _MagicAndre1981_

  • Gruppe: Gäste

geschrieben 16. Oktober 2006 - 21:59

Beitrag anzeigenZitat (Rika: 16.10.2006, 22:53)

Wie wär's mit Reflection?


er will es in C++ machen und nicht mit C# oder JAVA :P
0

#8 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 16. Oktober 2006 - 22:07

Ach, hast du keinen Reflection-fähigen C++-Compiler? :P
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#9 _MagicAndre1981_

  • Gruppe: Gäste

geschrieben 16. Oktober 2006 - 22:21

er nimmt doch den Borland C++ Builder, der kann das afaik nicht (welcher C++ kennt Reflection? Dat währe mal wieder ein Grund bestimmte sachen in C++ zu machen :P )
0

#10 Mitglied ist offline   mo 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.796
  • Beigetreten: 17. Juni 02
  • Reputation: 0
  • Wohnort:Ulm / BaWü

geschrieben 19. Oktober 2006 - 06:32

EditBox edit[26];
...edit_initialisierung...
for ( int i = 0; i < 26; i ++ ) {
edit[i]->Text = Buchstabe[i];
}

Was spricht denn dagegen, die editfelder in einen array zu packen?
I'm mó. mo's good twin.
0

#11 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 19. Oktober 2006 - 17:32

Zitat

welcher C++ kennt Reflection?

Visual-C 7.1 und 8.0. Nennt sich C++/CLR und erzeugt .NET-Programme aus reinem C++-Code. Dann gibt's noch C++/Mixed, welcher Managed Pointer in die Sprache einbaut, und seit dem 8.0er auch C++/Pure, in welchem es nur noch Managed Code geben darf.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#12 Mitglied ist offline   ShadowHunter 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.199
  • Beigetreten: 31. August 04
  • Reputation: 1

geschrieben 19. Oktober 2006 - 17:53

die gcc nich?
"Wir können Regierungen nicht trauen, wir müssen sie kontrollieren"
(Marco Gercke)
0

#13 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 19. Oktober 2006 - 18:25

Theoretisch ginge auf Reflection mit selbstreflektierten Code ohne irgendeinen Laufzeitsystem, aber das ist wahnsinnig kompliziert und ich wüßte keinen C++-Compiler, der das implementiert. Man kann es auch teilweise mit SmartPointer a la LibBoost realisieren, muss aber auch da explizit coden.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#14 Mitglied ist offline   wicht 

  • Gruppe: aktive Mitglieder
  • Beiträge: 86
  • Beigetreten: 07. Oktober 06
  • Reputation: 0

geschrieben 22. Oktober 2006 - 14:57

for (int i = 0; i < this->ComponentCount; i++)
if (this->Components[i] is TEdit) {
((TEdit)Components[i])->Text = IntToStr(i);
}
}

Ungetestet ist es.
Bin mir mit dem "is TEdit" nicht sicher, geht in Delphi so. Die TEdit-Komponente hat die Eigenschaft Class oder ClassName, damit kann man das auch gut vergleichen.
0

#15 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 22. Oktober 2006 - 22:16

Dann aber bitte auch vollqualifizierte Klassennamen, ja?
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0