AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Zensurenübersicht mit automatisches hinzufügen von formulare
Thema durchsuchen
Ansicht
Themen-Optionen

Zensurenübersicht mit automatisches hinzufügen von formulare

Ein Thema von cissi88 · begonnen am 19. Mär 2006 · letzter Beitrag vom 19. Mär 2006
Antwort Antwort
cissi88

Registriert seit: 10. Mär 2006
6 Beiträge
 
#1

Zensurenübersicht mit automatisches hinzufügen von formulare

  Alt 19. Mär 2006, 18:01
hey leute,
ich muss ein zensurenübersichtsprogramm , für die schule, schreiben. bin damit auch soweit fertig.
doch ich möchte, dass das programm keine begrenzte anzahl an felder (edit oder panel),wo die zensuren stehen, hat. sonder das mit einen mausklick auf einen button neue felder entstehen die den quelltext beeinhalten. hat jemand eine ahnung wie das geht??
  Mit Zitat antworten Zitat
Der_Unwissende

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

Re: Zensurenübersicht mit automatisches hinzufügen von formu

  Alt 19. Mär 2006, 18:23
Hi,
was meinst du denn mit
Zitat von cissi88:
... neue felder entstehen die den quelltext beeinhalten
Also was für Quelltext sollen die denn beinhalten?
Was du brauchst ist das Erzeugen von Controls (Klassen die Sichtbar sind) zur Laufzeit. Das ist an sich auch ganz einfach, es besteht immer aus den Schritten :
  • Variable zum Zwischenspeichern deklarieren (optional, man kann auch annonym arbeiten)
  • Neue Instanz erstellen
  • Eigenschaften anpassen
  • Auf einem Control einfügen
  • ggf. (wenn kein Owner angegeben) um Speicherfreigabe kümmern

In Delphi sähe dass dann ungefähr so aus (kann sehr leicht auf andere Beispiele übertragen werden)
Delphi-Quellcode:
procedure insertDummyControl(const Destination : TControl);
var buffer : TLabel;
begin
  buffer := TLabel.Create(Destination); // Erzeugt neue Instanz und setzt Destination als Owner
  buffer.Caption := 'Bla Blubb'; // beliebige Eigenschaften anpassen
  ....
  Destination.InsertControl(buffer); // Damit wird buffer auf Destination platziert / angezeigt
end;
Destination ist hier sehr abstrakt ein TControl, damit kannst du hier also jede beliebige Sichtbare Komponente verwenden (z.B. ein Form, ein Panel,...). Kannst natürlich auch direkt etwas wie Form1.insertControl(...); aufrufen.
Da du sicherlich alle erzeugten Instanzen kennen möchtest, solltest du diese einfach in einer Liste speichern. Delphi bietet dir in der Unit Contnrs eine TControlList, die speichert eine beliebige Anzahl von TControls. Hiermit kannst du dann auch etwas anonym arbeiten:

Delphi-Quellcode:
var controlList : TControlList; // möglichst im private Teil deiner Klasse / global speichern
...
  controlList.Add(TLabel.Create(Destination));
  // zugriff auf das letzte eingefügte Element
  // Zugriffe erfolgen immer auf eine TControl => muss gecastet werden
  with TLabel(controlList.Items[controlList.Count - 1] do
    begin
      // Eigenschaften setzen
      Caption := 'Bla Blubb';
      // besser vor dem casting auf Typsicherheit prüfen
      // if controlList.Items[controlList.Count - 1] is TLabel then...
    end;
Gruß Der Unwissende
  Mit Zitat antworten Zitat
cissi88

Registriert seit: 10. Mär 2006
6 Beiträge
 
#3

Re: Zensurenübersicht mit automatisches hinzufügen von formu

  Alt 19. Mär 2006, 18:38
danke
ich denke das wird mir weiter helfen
  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 22:14 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