Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Programmiercode verkürzen! (https://www.delphipraxis.net/132097-programmiercode-verkuerzen.html)

daNiii 6. Apr 2009 08:32


Programmiercode verkürzen!
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo!

Ich stelle euch hier ein Programm in den Anhang, welches Fehlerlos funktioniert.
Mein Anliegen besteht bloß darin, den Programmiercode zu verkürzen und zu vereinfachen.
Ich habe schon versucht Array-Variablen und Schleifen einzusetzen.
Dies blieb jedoch erfolglos.

Danke.
Busserle meinerseits.

daNiii 6. Apr 2009 08:34

Re: Programmiercode verkürzen!
 
ps: ich programmiere mit Delphi win32!

mleyen 6. Apr 2009 08:56

Re: Programmiercode verkürzen!
 
Hmmm, imho kann man hierbei nicht gleichzeitig verkürzen und vereinfachen.
Vereinfachen könntest du das ganze indem du Objektorientiert und mit Aufzählungstypen etc programmierst.
Verkürzen würde ich nicht in betracht ziehen, da hierbei sicherlich einiges am Design zerbricht.

Verbessern würde ich:
Nicht jedesmal LoadFromFile aufrufen, sondern die Bilder schon zum Programmstart laden. (Am besten mit Fehlerbehandlung)
Nur einmal Randomize; aufrufen.

uligerhardt 6. Apr 2009 09:02

Re: Programmiercode verkürzen!
 
Auf jeden Fall würde ich mal den Namen der Projektdatei auf Baccara.dpr ändern. Dann kriegt dein Exe automatisch den richtigen Namen. :-)
Und wenn du schon beim Umbenennen bist: Gib der MainForm (TForm1) gleich auch einen vernünftigen Namen.

Weiter: Randomize nur einmal im Programm aufrufen, z.B. im FormCreate.

Und Wertzuordnen könnte so ausschauen
Delphi-Quellcode:
Wert := (Zufallszahl - 1) mod 13;
if Wert > 10 then
  Wert := 10;

daNiii 6. Apr 2009 09:11

Re: Programmiercode verkürzen!
 
was bewirkt mod 13 ?

jaenicke 6. Apr 2009 09:13

Re: Programmiercode verkürzen!
 
mod 13 gibt den Rest der Division durch 13 zurück.

mr_emre_d 6. Apr 2009 10:07

Re: Programmiercode verkürzen!
 
Zitat:

Zitat von uligerhardt
Auf jeden Fall würde ich mal den Namen der Projektdatei auf Baccara.dpr ändern. Dann kriegt dein Exe automatisch den richtigen Namen. :-)
Und wenn du schon beim Umbenennen bist: Gib der MainForm (TForm1) gleich auch einen vernünftigen Namen.

Weiter: Randomize nur einmal im Programm aufrufen, z.B. im FormCreate.

Und Wertzuordnen könnte so ausschauen
Delphi-Quellcode:
Wert := (Zufallszahl - 1) mod 13;
if Wert > 10 then
  Wert := 10;

Wäre hier ein einfaches mod 10 nicht besser? {0..10} :stupid:

MfG

jaenicke 6. Apr 2009 10:21

Re: Programmiercode verkürzen!
 
Durch die globalen Variablen statt Parametern und Rückgabewerten ist der Quelltext vollkommen unübersichtlich und praktisch nicht zu durchschauen.

Wie da was passiert kann man so erst einmal gar nicht erkennen.

Zitat:

Zitat von mr_emre_d
Wäre hier ein einfaches mod 10 nicht besser? {0..10} :stupid:

Das gibt doch ein vollkommen anderes Ergebnis...
Beispiel 25:
(25 - 1) mod 13 = 11, 11 > 10, also ist das Ergebnis 10.
25 mod 10 ist aber 5... ;-)

// EDIT:
Das -1 ist aber bei dem Quelltext im Projekt falsch.
Delphi-Quellcode:
Wert := Zufallszahl mod 13;
if Wert > 10 then
  Wert := 10;
Das reicht schon.

mr_emre_d 6. Apr 2009 10:24

Re: Programmiercode verkürzen!
 
Dein Wertzuordnen Code wäre wie folgt kürzbar
Delphi-Quellcode:
--UNSINN
Edit:
Thx Jaenicke für den Hinweis ... Ich Idiot :stupid:

jaenicke 6. Apr 2009 10:26

Re: Programmiercode verkürzen!
 
Was hast du denn gegen Modulo? Mit mod 13 kannst du dir das case sparen. ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:56 Uhr.
Seite 1 von 2  1 2      

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