tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
564
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Servior Servior ist offline Grünschnabel
    Registriert seit
    Feb 2007
    Beiträge
    3
    Hallo,

    ich suche eine Möglichkeit Editfelder über mein Programm selber zu erstellen, also diese nicht über die IDE zusammenklicken zu müssen.

    Bisher habe ich keine Möglichkeit gefunden (könnte vielleicht daran liegen, dass ich nicht genau weiß wonach ich suchen soll), von daher stelle ich meine Frage hier.
     

  2. #2
    stimon stimon ist offline Mitglied Silber
    Registriert seit
    Jan 2005
    Beiträge
    67
    Hallo,
    Code cpp:
    1
    2
    3
    4
    5
    
    TEdit *neuesEdit = new TEdit(this);
    neuesEdit->Parent = Form1;
    neuesEdit->Top  = 20;
    neuesEdit->Left = 20;
    delete neuesEdit;
    ich hoffe das meinst du!?
    Gruß
    Geändert von stimon (17.02.07 um 22:34 Uhr)
     

  3. #3
    Servior Servior ist offline Grünschnabel
    Registriert seit
    Feb 2007
    Beiträge
    3
    Danke, genau das habe ich gesucht.

    Jedoch bringt mich das direkt zu meiner nächsten Frage.

    Ich habe 2 Forschleifen die mir 40 Editfelder erstellen, funktioniert auch soweit. Nur kann ich jetzt anscheinend nur über die Schleife selber darauf zugreifen, ein Zugriff über "Edit11" bzw. "neuesEdit" funktioniert ausserhalb der Schleife nicht.

    Fehlermeldung ist "Undefined Symbol Edit11".

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
      for (int i=1;i<=8;i++) {
        for (int j=1;j<=5;j++) {
          TEdit *neuesEdit = new TEdit(this);
          neuesEdit->Parent = Form1;
          neuesEdit->Name="Edit"+IntToStr(i)+IntToStr(j);
          neuesEdit->Top  = 20*i;
          neuesEdit->Left = 40*j;
        }
      }
     
      Edit11->Text = "test";
    }
     

  4. #4
    stimon stimon ist offline Mitglied Silber
    Registriert seit
    Jan 2005
    Beiträge
    67
    Hallo,
    probier mal Edit[11]->Text = "test"; .
    Ach und TEdit *neuesEdit; mußt du in private schreiben!

    Gruß
     

  5. #5
    Registriert seit
    Mar 2004
    Beiträge
    441
    Zitat Zitat von Servior Beitrag anzeigen
    Nur kann ich jetzt anscheinend nur über die Schleife selber darauf zugreifen, ...
    Code :
    1
    2
    3
    4
    5
    6
    7
    
        for (int j=1;j<=5;j++) {
          TEdit *neuesEdit = new TEdit(this);
          ...
        }
     
      Edit11->Text = "test";
    }
    Wundert mich nicht, da du "neuesEdit" auch nur innerhalb der for-Schleife deklariert hast. Sobald die Schleifen durchgelaufen sind, werden auch alle Editfeld-Instanzen aufgelöst. Das ist die ganz normale Sichtbarkeit von Variablen unter C++.
     

  6. #6
    Servior Servior ist offline Grünschnabel
    Registriert seit
    Feb 2007
    Beiträge
    3
    Danke euch beiden, funktioniert jetzt endlich.
     

  7. #7
    McHorst McHorst ist offline Rookie
    Registriert seit
    Feb 2007
    Beiträge
    8
    Wäre vllt. jmd. so freundlich, jene Lösung zu zeigen ...
    Meine funktionieren nicht wirklich.

    Danke
     
    -=Motivation ist das NOS der Leistung=-

  8. #8
    McHorst McHorst ist offline Rookie
    Registriert seit
    Feb 2007
    Beiträge
    8
    Ok, hab nun eine Möglichkeit gefunden. Und zwar erstelle ich ein Zeigerarray.
    TEdit *neuesEdit[20];

    Leider muss ich einen konstanten Wert eintragen. Kann ich das array dynamisch machen?
    Dass es z.B. gleich der Anzahl der Editfelder ist.

    Danke
     
    -=Motivation ist das NOS der Leistung=-

  9. #9
    Avatar von Online-Skater
    Online-Skater Online-Skater ist offline Mitglied Brillant
    Registriert seit
    Sep 2004
    Ort
    Rostock
    Beiträge
    891
    Nein bei solch einer Definition muss dort eine Konstante hin, aber wenn du die Anzahl weist bzw. dynamisch auslesen kannst dann machst du eine for-Schleife und erstellst die Edits bis maxN erreicht ist
     

Ähnliche Themen

  1. Fehler in Programmcode
    Von Der Schatten im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 03.10.08, 14:59
  2. [C]: Java Programmcode in C Application
    Von snowtom im Forum C/C++
    Antworten: 0
    Letzter Beitrag: 26.09.06, 18:05
  3. Fehler im Programmcode
    Von stepi1974 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 31.08.06, 14:35
  4. Eingabe über Editfelder in Tabellen
    Von Loreley24 im Forum Borland CBuilder und VCL
    Antworten: 0
    Letzter Beitrag: 08.04.05, 16:11
  5. c++ Editfelder
    Von KAY im Forum C/C++
    Antworten: 8
    Letzter Beitrag: 01.05.03, 15:41