AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Forms und OOP

Ein Thema von Christian18 · begonnen am 25. Apr 2006 · letzter Beitrag vom 26. Apr 2006
Antwort Antwort
Seite 1 von 2  1 2      
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#1

Forms und OOP

  Alt 25. Apr 2006, 14:35
Hallo,

ich habe mal eine Frage zu der Objektorientieren Programmierung unter Delphi 7 Professional. Ist es möglich, wenn man mit Fenstern arbeitet, Objektorientiert zu programmieren??? Ich meine wenn man ein neues Formular (eine neue Form) haben möchte, dann wird diese ja immer von der Klasse TForm abgeleitet. Wenn ich aber zum Beispiel eine Klasse die schon von TForm abgeleitet ist von einer anderen auch noch ableiten. So ich hoffe ich kommte mein primäres Problem relativ gut beschreiben.

Mit freundlichen Grüßen

Christian18
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Forms und OOP

  Alt 25. Apr 2006, 14:37
Zitat von Christian18:
Wenn ich aber zum Beispiel eine Klasse die schon von TForm abgeleitet ist von einer anderen auch noch ableiten.
Also irgendwie fehlt in dem Satz was

Falls die Frage war, ob es in Delphi Mehrfachvererbung gibt: Nein
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#3

Re: Forms und OOP

  Alt 25. Apr 2006, 14:40
Hi!

Von welcher anderen denn z.B.?


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#4

Re: Forms und OOP

  Alt 25. Apr 2006, 14:44
Hallo,

vielen dank für die schnelle antwort. Also ich benutze OOP zum Beipsiel um Quellcode redundanz zu vermeiden. Und dazu müsste ich in einigen Projekten von mir eine Klasse die von TForm schon abgeleitet ist auch noch von einer anderen Klasse ableiten. Das ist jetzt vieleicht ein bisschen schwer zu verstehen, aber ich gebe mal ein Bsp.:

Überall wo ich eingeben habe, kennzeichne ich meine Edit Felder farbig. Um eine Quellcode redundanz zu vermeiden, habe ich eine Procedure entwicklet, die überall in die Subklasse könnte. ich müsste die Editfelder nur mit der Procedure verbinden und dann funktinierts. da ich aber jetzt nicht weiß wie ich das anstellen soll, habe ich mir gedacht poste ich das einfach mal. Also habt ihr jetzt einen Tipp für mich??? Ich habe schon versucht an stelle von TForm den Klassennamen meiner übergeordneten klasse zu schreiben, dann funktioniert aber leider das Programm nicht mehr.

MFG Christian18
  Mit Zitat antworten Zitat
_Sebastian_

Registriert seit: 22. Jul 2004
Ort: Lübeck
72 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Forms und OOP

  Alt 25. Apr 2006, 14:48
Über Datei/neu/Weitere.. -> Dein Projektname kannst du ein neues Formular von einem bereits vorhandenem Formular ableiten.
Du musst halt dazu ein Basis Formular erstellen das alles gleiche bereits erhält..
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Forms und OOP

  Alt 25. Apr 2006, 14:53
Also wenn in einem Edit-Feld was drin steht, soll es eine andere Farbe haben wie wenn es leer ist? Dann würde ich mir eher ein neues TEdit ableiten, hat ja mit dem Form eigentlich nix zu tun.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: Forms und OOP

  Alt 25. Apr 2006, 17:39
Das ist immer noch zu undurchsichtig. 8)

Zitat von Christian18:
..Also ich benutze OOP zum Beipsiel um Quellcode redundanz zu vermeiden... Überall wo ich eingeben habe, kennzeichne ich meine Edit Felder farbig. Um eine Quellcode redundanz zu vermeiden, habe ich eine Procedure entwicklet...
Richtiger Ansatz, aber was heißt : "Überall wo ich eingeben habe" ? Präzisiere das mal etwas. Heißt "eingeben habe" : "eine Eingabe möglich ist" ? Oder etwa "wo bereits etwas eingegeben wurde" ? Das ist ein feiner aber gewaltiger Unterschied, wie man das Ganze angehen kann.

Zitat von Christian18:
Ich habe schon versucht an stelle von TForm den Klassennamen meiner übergeordneten klasse zu schreiben, dann funktioniert aber leider das Programm nicht mehr.
Was funktioniert denn dann nicht ? Um wieviele Forms geht es überhaupt ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Forms und OOP

  Alt 25. Apr 2006, 19:31
Hi,

also, nicht alles muss in eine Basisklasse.
Das Einfärben der Editfelder lässt sich z.B. eleganter lösen:

Delphi-Quellcode:
unit EditColorHandler;

interface
Uses Forms, Classes, Controls, Graphics, StdCtrls;

Const
  _ActiveColor = $009BF5FD;
  _DefaultColor = clWhite;

type
  TEditColorHandler = class(TObject)
  private
    FActiveControl: TWinControl;
    FActive: Boolean;
    procedure SetActive(const Value: Boolean);
  public
    procedure doActiveControlChange(Sender: TObject);
    property Active: Boolean read FActive write SetActive;
  end;

Var
  AppEditColorHandler: TEditColorHandler;

implementation

procedure TEditColorHandler.doActiveControlChange(Sender: TObject);
begin
  if Assigned(FActiveControl) and FActiveControl.HandleAllocated and
    (FActiveControl is TEdit) then
    TEdit(FActiveControl).Color := _DefaultColor;

  FActiveControl := Screen.ActiveControl;

  if FActiveControl is TEdit then
    TEdit(FActiveControl).Color := _ActiveColor;

end;

procedure TEditColorHandler.SetActive(const Value: Boolean);
begin
  if FActive <> Value then
  begin
    FActive := Value;
    if FActive then
      Screen.OnActiveControlChange := doActiveControlChange
    else
      Screen.OnActiveControlChange := nil;
  end;
end;

initialization
  AppEditColorHandler := TEditColorHandler.Create;

finalization
  AppEditColorHandler.Free;

end.
die Unit in Uses des MainForm und an einer günstigen Stelle:

  AppEditColorHandler.Active := True;
Cu, Frank
Frank Reim
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Forms und OOP

  Alt 25. Apr 2006, 19:38
@dataspider: Wenn du das ganze so angehst (also mit zusäzlicher Unit) wäre es doch bedeutend schöner gleich eine Ableitung von TEdit zu machen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Forms und OOP

  Alt 26. Apr 2006, 09:38
Zitat von SirThornberry:
@dataspider: Wenn du das ganze so angehst (also mit zusäzlicher Unit) wäre es doch bedeutend schöner gleich eine Ableitung von TEdit zu machen.
Aber nur, so lange es bei einem TEdit bleibt.
Wenn man noch eine Ableitung von TMemo... machen muss, ist die Unit doch einfacher anzupassen.

Frank
Frank Reim
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:29 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