Ich bin immer noch bei meiner Bus Anzeigetafel ^^
Aber jetzt nicht mehr mit Pointern, sonder Klassen.
Nun sieht mein Programm ungefähr so aus.
Form 1 = Die Tafel
Form 2 = Eingabe der Linien
Unit 1 = Anzeige (hinzufügen, sortieren etc. im Array)
Unit 2 = Bus (Eingaben werden in Uhrzeit etc. umgewandelt)
Aber mir geht es hauptsächlich um Form 1 und 2.
Form 2 besitzt die Edit Felder zum Eintragen der Linie, Ankunft etc..
Diese Werte sollen dann an Form 1 weiter gegeben werden.
Soweit so gut, doch dies klappt leider nicht.
Bestimmt liegt es an der Initialisierung ^^
Da es zu viel wäre den kompletten Code zu schreiben, hänge ich meine Datei an und poste den Codeabschnitt zur Initialisierung.
Achja, zum Fehler...so wie es jetzt ist, wird immer nur der Anfangs-String von den Edit-Feldern an Form1 gegeben...
Delphi-Quellcode:
unit Busanzeige1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Anzeige, Eingabe;
type
TForm1 =
class(TForm)
ListBox1: TListBox;
alleLinien: TButton;
bearbeiten: TButton;
loeschen: TButton;
zehnAnzeigen: TButton;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Beenden: TBitBtn;
Hinzufuegen: TButton;
newEntry: TButton;
procedure newEntryClick(Sender: TObject);
procedure BeendenClick(Sender: TObject);
procedure alleLinienClick(Sender: TObject);
procedure loeschenClick(Sender: TObject);
procedure zehnAnzeigenClick(Sender: TObject);
procedure bearbeitenClick(Sender: TObject);
procedure FormClose(Sender: TObject;
var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure HinzufuegenClick(Sender: TObject);
private
Anzeige: TAnzeige;
Eingabe : TForm2;
procedure Output(LaengeListe:integer);
end;
Var
Form1 : TForm;
Und hier möchte ich die Eingetragenen werte benutzen:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
//Anzeige Inizialisieren
Anzeige:= TAnzeige.Create;
Eingabe:= TForm2.Create(Eingabe);
end;
procedure TForm1.HinzufuegenClick(Sender: TObject);
begin
//Eingetragene Werte an Array anhängen
Anzeige.Add(Eingabe.ELinie.Text,Eingabe.EZiel.Text,
Eingabe.EAnkunft.Text,Eingabe.EAbfahrt.Text,Eingabe.EVerspaetung.Text);
//Array nack Ankunft+Verspätung sortieren
Anzeige.QuickSort(0,(Anzeige.outLaengeListe-1));
//Liste mit Länge 10 ausgeben
Output(10);
//Edit Felder leeren
Eingabe.ELinie.Clear;
Eingabe.EZiel.Clear;
Eingabe.EAnkunft.Clear;
Eingabe.EAbfahrt.Clear;
Eingabe.EVerspaetung.Clear;
end;