Entwickler-Ecke

Sonstiges (Delphi) - Units - programm vereinfachen?


nwaggbn - Mo 28.06.10 21:56
Titel: Units - programm vereinfachen?
Hey Leute,
ich habe mal eine Frage,
ich weiß nicht so richtig wie ich das nennen soll,
und zwar hab ich eine Unit, auf deren Form sich Buttons mit einzelnen Benutzern befinden.
(Siehe Anhang Bild1)
Dann in dem nächsten menü, unit 2 und form 2, kann man dann den raum aussuchen.
(Siehe Anhang Bild2)
In dem nächsten Bild sieht man ein menü, wo ich auswählen kann welchen Pc ich benutzen möchte.
(Siehe Anhang Bild3)
dann im letzen Bild sieht man dann die veränderung, welche dann einen eintrag in die memo machen soll
zb wenn man firefox update klickt: 'FireFox Update, Pc1, User1, 20.56; 28.06.2010'

So wie das jetzt ist, ist das so, das ich für jeden user jedes pc fenster und jedes veränderungsfenster einzeln erstellen und verlinken muss und codes eingeben.
Gibt es da eine möglichkeit dieses zu umgehen?
weil es muss mit Buttons sein, da der pc auf dem das programm verwendet werden soll einen touch monitor hat.
Liebe Grüße,
Leon


F34r0fTh3D4rk - Mo 28.06.10 22:54

Vielleicht solltest du die Bilder als Bilder anhängen (man kann mehrere Dateien anhängen). Wenn du aber schon ein Archiv benutzt, dann bitte (zumindest zusätzlich) als .zip o.Ä., nicht jeder hat einen .rar-Entpacker.


nwaggbn - Mo 28.06.10 23:26

Bild1

Moderiert von user profile iconTino: Bilder 2 bis 4 hinzugefügt.


MaPsTaR - Mo 28.06.10 23:40

Hallo,
ehrlich gesagt hab ich dein Problem noch nicht ganz verstanden.

Was genau soll dein Programm denn am Ende können??


jaenicke - Di 29.06.10 06:45

user profile iconnwaggbn hat folgendes geschrieben Zum zitierten Posting springen:
So wie das jetzt ist, ist das so, das ich für jeden user jedes pc fenster und jedes veränderungsfenster einzeln erstellen und verlinken muss und codes eingeben.
Gibt es da eine möglichkeit dieses zu umgehen?
Sagen wir es mal anders herum: Wie hast du es denn bisher gemacht?

Denn normalerweise braucht man den Code für die verschiedenen Knöpfe nur einmal zu schreiben. Du kannst über Sender den gedrückten Knopf herausbekommen, wenn du den selben OnClick-Handler bei mehreren Knöpfen einträgst.


nwaggbn - Di 29.06.10 17:23

also bis her hab ich das so gemacht das ich tausende fenster habe, also wenn ich benutzer eins auswähle öffnet sich eine form und dann für jeden benutzer genau dasselbe.
ich bin nichtmal mit allen formen für einen benutzer fertig geworden, war bei 127 oder so, da ist mein pc abgestürzt-.-
deswegen möchte ich jetzt wissen ob mir irgendwer bei der vereinfachung davon halfen kann.
Leon


FinnO - Di 29.06.10 17:56

na ja, die Komponenten auf deinem Formular kann man ja schon noch verändern. Also man kann zum Beispiel einem Button einen neuen wert für die Eigenschaft Caption zuweisen o.ä. Das was du momentan machst, scheint nichts mit Programmieren zu tun zu haben, deshalb empfehle ich - tadaa - user profile iconTUFKAPLs Suche in: Delphi-Library CRASHKURS


nwaggbn - Di 29.06.10 18:01

also es hat schon was mit programmieren zu tun.
wie heißt die veränderung oder der befehl, den ich verwenden muss?
Leon


MaPsTaR - Di 29.06.10 18:02

Hoffe, ich hab dein Problem richtig verstanden...

Du brauchst eigentlich nur deine 4 Fenster.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
public
  User: String;

procedure TForm1.SelectUser(Sender: TObject);
begin
  Form1.User := (Sender as TButton).Caption;  //gewählten Benutzer speichern.
  Form2.Show;
  Form1.Hide;
end;

Diese weist du allen Buttons (OnClick) zur Auswahl der Benutzer auf Form1 zu.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
public
  Room: String;

procedure TForm2.SelectRoom(Sender: TObject);
begin
  Form2.Room := (Sender as TButton).Caption;  //gewählten Raum speichern.
  Form3.Show;
  Form2.Hide;
end;

Diese weist du allen Buttons (OnClick) zur Auswahl der Räume auf Form2 zu.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
public
  PC: String;

procedure TForm3.SelectPC(Sender: TObject);
begin
  Form3.PC := (Sender as TButton).Caption;  //gewählten PC speichern.
  Form4.Show;
  Form3.Hide;
end;

Diese weist du allen Buttons (OnClick) zur Auswahl des PC auf Form3 zu.

Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm4.SelectAction(Sender: TObject);
begin
  Form1.Memo1.Lines.Add((Sender as TButton).Caption + ', ' + Form2.Room + ', ' + Form3.PC + ', ' + DateTimeToStr(NOW));
  Form1.Show;
end;

Diese weist du allen Buttons (OnClick) zur Auswahl der Veränderung auf Form4 zu.


nwaggbn - Di 29.06.10 22:56

Danke:) so funktioniert es schon fast:)
Leon