Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Beurteilung meines Quelltextes (https://www.delphipraxis.net/84433-beurteilung-meines-quelltextes.html)

Sunlight7 16. Jan 2007 20:34

Re: Fokusieren des Buttons vermeiden
 
'n Abend Stefan:

In der Delphi Hilfe steht geschrieben:
Der Typ Real (Real48) wird wegen der Abwärtskompatibilität mit früheren Versionen von Delphi und Borland Pascal bereitgestellt. Da das Speicherformat des Typen Real in den Intel-CPUs nicht vorgesehen ist, sind Operationen mit Real-Typen langsamer als die anderen Fließkommatypen.


Grüßle!

Stefan92 17. Jan 2007 05:51

Re: Beurteilung meines Quelltextes
 
Morgen Sunlight7,
OK, ab sofort benutze ich Double.

Gruß

Stefan

uwewo 17. Jan 2007 06:55

Re: Beurteilung meines Quelltextes
 
Hallo Stefan,

habe Deinen Source auch nur überflogen, aber hier eine kleine ungetestete Idee die den Code um ein paar Zeilen kürzt. Lösche alle Proceduren von Button2Click bis Button10Click, und ersetze Button1Click mit diesem.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
 with Sender as TButton do
   begin
    if (Panel1.caption = '0') or (operation = true) then
      begin
        Panel1.caption := (Sender as TButton).Caption;//Beschriftung des Buttons der angeklickt wurde
        operation := False;
      end
      else
       Panel1.caption := Panel1.caption + (Sender as TButton).Caption
    if strich then zahl := True;
    Panel1.setfocus;
   end;
end;
Dann kannst Du im OI von Button1Click - Button10Click den Source von Button1Click verwenden.

Wie gesagt ungetestet, bin mir aber zu 99% sicher das es funktioniert.

Uwe

PS: Noch etwas ist mir aufgefallen, Du musst PI nicht als Zahl eingeben, dafür gibt es die function Pi() in Delphi ;-)

IngoD7 17. Jan 2007 07:32

Re: Beurteilung meines Quelltextes
 
[OFF-Topic ON]
Ich hätte einen Tipp für die Lesbarkeit deiner Postings:
Mache aus deiner Signatur doch bitte eine Signatur und keinen Roman mit Quote-Tags und dergleichen.
Das derzeitige Ding lenkt fürchterlich ab.
Falls du es einsiehst - Danke. ;-)
[OFF-Topic OFF]

Union 17. Jan 2007 07:47

Re: Beurteilung meines Quelltextes
 
Das
Zitat:

Zitat von shmia
Damit ergibt sich folgende Vereinfachung (und zwar für 10 Buttons):
Delphi-Quellcode:
procedure TForm1.Button10Click(Sender: TObject);
begin
   ZahlKlick('0');
end;

läßt sich noch weiter optimieren, indem Du eine der Routinen in ZahlButtonClick umbenennst und sie im OI direkt an alle entsprechenden Controls zuweist.

Des weiteren solltest Du aus dem Code vielleicht eine echte Klasse machen. Du verwendest viele globale Variablen. Dadruch kan es zu Querschlägern kommen, besonders wenn Du Deinen Code in andere Programme einbinden willst.

Hier noch ein Verschönerungsvorschlag. Anstelle der riesigen case Abfrage in FormKeyPress könntest Du die char-Werte in den Tag der Buttons setzen.

Kommentare: außer {+} und {-} fehlen jegliche Anmerkungen. Weder was das Programm macht, noch die einzelnen Routinen.

Stefan92 17. Jan 2007 14:24

Re: Beurteilung meines Quelltextes
 
@uwewo:
Zitat:

Dann kannst Du im OI von Button1Click - Button10Click den Source von Button1Click verwenden.
Wie mache ich das denn mit dem Verwenden eines anderen Sources im OI? Hab sowas noch nie gemacht. Das ist ja überhaupt gerade mal mein allererstes Programm mit Delphi, davor hab ich nur mit Free Pascal programmiert.

@IngoD7: Okay, hab die Signatur geändert.

@Union: Also 1. Wie mach ich das mit dem OI?
2. Da ich (fast) gar keine Ahnung von OOP habe, frage ich mich, wie man eine eigene Klasse macht? Gibt es hier möglicherweise ein Tutorial dazu?
3. Wofür ist die Eigenschaft Tag denn gut?
4. Danke für den Tip mit den Kommentaren, ich werd meinen inneren Schweinehund mal bekämpfen und da Kommentare reinsetzen.

Gruß

Stefan

Hansa 17. Jan 2007 16:28

Re: Beurteilung meines Quelltextes
 
Zitat:

Zitat von Stefan92
@uwewo:
Zitat:

Dann kannst Du im OI von Button1Click - Button10Click den Source von Button1Click verwenden.
Wie mache ich das denn mit dem Verwenden eines anderen Sources im OI?..

Im OI bei Ereignissen eines anklicken. Die ComboBox aufklappen und mal gucken, was da steht.

Khabarakh 17. Jan 2007 16:42

Re: Fokusieren des Buttons vermeiden
 
Zitat:

Zitat von Sunlight7
In der Delphi Hilfe steht geschrieben:
Der Typ Real (Real48) wird wegen der Abwärtskompatibilität mit früheren Versionen von Delphi und Borland Pascal bereitgestellt. Da das Speicherformat des Typen Real in den Intel-CPUs nicht vorgesehen ist, sind Operationen mit Real-Typen langsamer als die anderen Fließkommatypen.

Stefans Hilfe wird etwas Anderes behaupten ;) :
Zitat:

Der generische Typ Real ist in der aktuellen Implementation mit dem Typ Double identisch.
Und ein generischer Typ ist wirklich das Letzte, das "out" werden kann :mrgreen: .

Sunlight7 17. Jan 2007 17:46

Re: Beurteilung meines Quelltextes
 
Muß ja wieder in jeder Version anders sein :roll:

Aber ich schreib lieber Double selber, vielleicht kommen sie ja mal auf die Idee Real mit Single identisch zu machen :lol:

Stefan92 19. Jan 2007 14:24

Re: Beurteilung meines Quelltextes
 
Da ich mittlerweile schon länger auf Antwort warte, nehme ich einfach mal an, dass ihr den Thread vergessen habt.
Folgende Frage sind noch offen:
Zitat:

2. Da ich (fast) gar keine Ahnung von OOP habe, frage ich mich, wie man eine eigene Klasse macht? Gibt es hier möglicherweise ein Tutorial dazu?
3. Wofür ist die Eigenschaft Tag denn gut?
Bitte um baldige Antwort :( .

Gruß

Stefan


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:16 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz