Entwickler-Ecke

Freeware Projekte - Brutto - Netto Rechner


Stadtfuchs - Do 25.08.05 10:33
Titel: Brutto - Netto Rechner
hiho,

ich bin anfänger und habe als einstiegsaufgabe einen brutto-netto rechner geschrieben. getestet ist er aber ich bin mir sicher das da bestimmt noch irgendwelche fehler/verbesserungsmöglichkeiten drin sind :roll:

wäre echt nett wenn ihr euch das programm mal anseht und mir tipps gebt. bin für jeden hinweiss dankbar :wink:

mfg
stadtfuchs


Lannes - Do 25.08.05 11:45

Hallo,

erstmal :welcome: im DF

für einen Anfänger schon mal gut :)

und nun etwas konstruktive Kritik:
Fehleingaben abzufangen ist schon wichtig, aber deshalb dem Anwender die Tastatureingabe zu blockieren :shock:, könntest z.B. bei den Tasten "0 bis 9, Komma und = das OnClick der Buttons auslösen, ist aber nicht die Ideallösung.
Die Beschriftung des Buttons ">" sagt nichts über die Funktion aus, eventuell in "> %" oder so ähnlich ändern.
Der Button "=" ist aktiv, wenn noch kein Prozentsatz eingegeben ist,
betätige ich ihn ohne eine Eingabe kommt die Fehlermeldung "ist kein gültiger Gleitkommawert" und dann werden verschiedene Buttons deaktiviert.
Die Abläufe der Deaktivierung/Aktivierung der Buttons ist so nicht ok.
Im Zusammenhang mit dem vorigen Punkt wäre es besser die Prozentangabe mit einem zusätzlichen Editfeld zu realisieren, dadurch läßt sich die Steuerung der Anwendung besser programmieren und Du hast zusätzlich die Möglichkeit einer Vorbelegung mit einem Standard-Prozentsatz. Bei einigen Buttons ist sicherlich noch ein zusätzlicher Hinweis zur Funktion angebracht. >> Eigenschaft Hint
Menüpunkte(z.B. "Info") die ins Leere laufen sollte man nicht einbauen,
Menüpunkte die man angelegt hat und noch nicht mit einer Funktion ausgestattet sind kann man mit visible = False erstmal verbergen.
Deine eingebaute Steuerung bzgl. Maximieren, Wiederherstellen und Größenveränderung der Anwendung ist doch arg gewöhnungsbedürftig.
Schau Dir mal dazu die Eigenschaften BorderIcons und BorderStyle des Forms an.


Stadtfuchs - Do 25.08.05 11:56

danke für die tipps :D
ich setz mich gleich mal dran
wenn das programm soweit aktualisiert ist lade ich das nochmal hoch

weiter tipps erwünscht :wink:

stadtfuchs


Dragon777 - Do 25.08.05 12:01

Wie wärs mit sowas Stadtfuchs
Hab ich in der ersten woche geschrieben.

Brutto netto rechner was hälst du davon?


Matthias-K - Do 25.08.05 12:05

dragon, 1 tastendruck, und dein programm geht in den jordan!

man sollte einem anfänger nicht wirklich ein programm vorlegen, welches total fehlerhaft ist.

er soll es ja lernen, wie man es richtig macht! und nicht anders rum!

matthias


Dragon777 - Do 25.08.05 12:08

was meinst du mit damit,was drückst du denn? bei mir läufts

Wie wärs mit dem hat weniger fehler-oder auch keine.


Matthias-K - Do 25.08.05 12:10

wenn ich im oberen feld nicht eingebe, und einfach nur die pürozent erhöhe, schmiert er ab! wenn ich "ausversehen" einen buchstaben eingebe, schmiert er ab! was ist mit gebrochenen prozentwerten? und ich hab des ding nur knappe 30 sek getestet!


Dragon777 - Do 25.08.05 12:14

Achso das ja da fehlen noch en paar sachen ich weiß. Ich meinte ja auch eigentlich nur das er es von der aufmachung als beispiel nehmen könnte. aber das zweite ist besser hab ich vorher gemacht. hat halt weniger funktionen.


Edit: Is des besser?


Matthias-K - Do 25.08.05 12:21

von der aufmachung?

nein! um gottes willen!

er sitzt zusammen mit mir im büro! er ist der lehrling und soll später programme schreiben! und wenn ich ihn auch nur einmal erwische mir so ein programm abzuliefern!

ja, schön bunt ist es aber fehlerfrei nicht! wieder absturz!

wenn du schon versuchst, tipps zu geben, sorge dafür das sie funktionieren und sich auch verwendene lassen!

matthias


Dragon777 - Do 25.08.05 12:26

Ist der fehler bei dem zweiten programm aufgetreten?

Was für einer?
Edit: hab den fehler entdeckt-ich nehme an es ist abgestürzt als du nen buchstaben reingeschrieben hast net wahr?-wird verbessert

Und übrigens geht des auch etwas netter.schließlich kann man selbst nicht immer jeden fehler finden da man meistens nur die sachen eingibt die funzen.
Allerdings bei dem ersten download haste recht-ich habs nochmal getestet und schäm mich grad des hier reingestzt zu haben-werds gleich mal korrigieren.


Achja nochwas was hälst du von diesem rechenprog. haben schon mehrere leute ausprobiert ohne fehler. vielleicht entdeckst du ja einen(hoffe aber nicht).


Matthias-K - Do 25.08.05 12:34

ja in beiden!

bevor ich ein programm veröffentliche, teste ich es auch! zumindest ansatzweise! und das erste, was ich bei nem taschenrechner teste, ist, ob man buchastaben eingeben kann, und wie der darauf reagiert!

also, das programm ist fehlerhaft ohne ende! und ich kann prozente immernoch ne mit komma angeben!

matthias


Matthias-K - Do 25.08.05 12:39

ich hab grad dein "fehlerfreies" programm getestet! auser, das ich nicht weis, wie man das programm bedienen muss, hab ich knapp 40 sek gebraucht!

und danke, das du zur erheiterung unseres team's beiträgst!

'Warum klickst du hier?'

was solln das? was muss man dort machen? und wieso bekomm ich ständig fließkomme fehler?

übrigens, der lachkrampf hat länger durchgehalten als das testen!


Dragon777 - Do 25.08.05 12:42

mist hab grad selbst nen kleinen fehler in meinem rechenprog entdeckt bei geteilt zeigt er immer falsch an. Verbesserung wird gemacht.
Sorry bin eben auch noch anfänger lerns erst seit ca 3-4 wochen.(brings mir selbst ohne hilfe bei).


Edit: du mußt erst auf das label - klich dir zwei zahlen- klicken dann auf die rechenart dann kannste des ergebnis eingeben und auf = klicken

klick mal auf lösung dann kannste wieder lachen


Edit2:Ich bekomm nur en flieskomma fehlermeldung wenn ich nix eintip und auf geteilt geh


Matthias-K - Do 25.08.05 12:45

kannst du mir ein handbuch zur verwendung von dem letzten programm geben? weil ich weis nicht, was ich eigentlich dort machen muss! und ich möchte es ja mal richtig testen!
und da ich keine struktur erkenne, was man eigentlich machen soll, kann ich es noch nicht testen! zumal ich alles mögliche versucht habe!

also, ich würde gerne weiter testen!


Dragon777 - Do 25.08.05 12:49

im vorigen beitrag ist die erklärung

Edit: na hats geklappt?

Mach mir bitte dann mal ne fehlerliste wann ein fehler auftritt damit ich es verbessern kann. Danke im voraus.


Lannes - Do 25.08.05 13:58

Hallo,

'Warum klickst du hier?' :rofl:

@Dragon777
Solltest dein Programm in Scherzrechner umbenennen,
sag mal, hast Du Dir das Programm von user profile iconStadtfuchs mal angeschaut. :?:
Glaube eher nicht, sonst wäre Deines hier nicht aufgetaucht.
Fehlerliste:
Anwenderführung fehlt
Programm nur für Brillenträger die ihre Brille vergessen haben geeignet, entweder kleinere Schrift oder Einstellbar programmieren.
Eingabe 0 Button "/" >> "Fehler bei Fließkomma..."
Richtige Lösungsangabe bei Nachkommastellen wird als "Falsch" gewertet.
Fehleingaben werden nicht abgefangen
Steuerung Minimieren, Maximieren usw. nicht bearbeitet
Quatsch >> Meldung "Vertippt??", ok und dann?
"Klick dir zwei zahlen" = Rechtschreibfehler
"Klick dir zwei zahlen" wird danach auf "Wähle die Rechenart" umbenannt. Habe ich jetzt eine Rechenart gewählt, kann dann nur noch eine Rechenart gewählt werden?
Buttons werden als Labels genutzt, Labels als Buttons?
Zusätzliche Hinweisfenster können minimiert werden, danach werden diese aber bei Bedarf nicht automatisch maximiert.
Für jede Meldung ein extra Formular eingebunden >> Programmgröße?

@Stadtfuchs
bleib bei deinem Ansatz, geht in die richtige Richtung. :wink:


Matthias-K - Do 25.08.05 14:07

mahlzeit!

auch, wenn ich es mir nur schwer verkneifen konnte, in meiner wohlverdienten mittagspause dein programm zu testen, habe ich es doch geschafft! ich schau mir dieses nicht wieder an, bis es von dir überarbeitet wurde.

ich würde dich sogar dazu anreizen, alle deine programme mal zu überdenken! stylistisch wie programmiertechnich! mich würde auch mal der quelltext interessieren!

poste ihn mal oder schick ihn mir per link oder in datei form!

matthias


Dragon777 - Do 25.08.05 14:10

Also erstmal danke lannes für den netten beitrag. :)

Das mit der 0 und / hab ich schon bemerkt
und des mit der nachkommastelle auch

bei quatsch vertippt? einfach wegklicken ist nur so als hinweiß gedacht gewesen damit man nachguckt wo man was falsches eingetippt hat


des mit min und max fand ich net so wichtig - des fenster hat ja schon ne gute größe oder?

klick dir zwei wird umbenannt-danach kannste trotzdem wieder drauf klicken aber hast recht ,muß des noch ändern

des mit den buttons und labels war so beabsichtigt-könnte ich aber auch ohne prob. ändern

was meinst mit extraformular eingebunden>>programmgröße?


Dragon777 - Do 25.08.05 14:14

Hier ist der Code

Unit1

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Button5: TButton;
    Button6: TButton;
    Edit1: TEdit;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    procedure Label3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Label5Click(Sender: TObject);


  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Zahl1, Zahl2, x, Ergebnis: Real;

implementation

uses Unit2, Unit3;

{$R *.DFM}

 procedure TForm1.Label3Click(Sender: TObject);
begin
Edit1.SetFocus;
  randomize;
  Zahl1 := random (10000);
  Zahl2 := random (10000);
  Label1.Caption := FloatToStr (Zahl1);
  Label2.Caption := FloatToStr (Zahl2);
  Label3.Caption := 'Wähle die Rechenart!';
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.SetFocus;
  Ergebnis := Zahl1 + Zahl2;
  Button5.Caption := '+';
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Edit1.SetFocus;
  Ergebnis := Zahl1 - Zahl2;
  Button5.Caption := '-';
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Edit1.SetFocus;
  Ergebnis := Zahl1 * Zahl2;
  Button5.Caption := '*';
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
Edit1.SetFocus;
  Ergebnis := Zahl1 / Zahl2;
  x:= Zahl1 / Zahl2;
  Button5.Caption := '/';
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
Edit1.SetFocus;



if Button5.Caption = '+' then  Button1Click(Form1);
if Button5.Caption = '-' then  Button2Click(Form1);
if Button5.Caption = '*' then  Button3Click(Form1);
if Button5.Caption = '/' then  Button4Click(Form1);


if
ergebnis = x
then
Label4.Caption :='' + FloatToStrF(Ergebnis,ffnumber, 82)

else
Label4.Caption := FloatToStr(Ergebnis);
try
if
  Ergebnis= StrToFloat (Edit1.Text) then
  Label6.Caption :='Richtig'
else
  Label6.Caption :='Falsch';
except
  Label6.Caption :='Quatsch' ;
  showmessage ('Vertippt??');
  end;


end;


procedure TForm1.Button5Click(Sender: TObject);
begin
Form3.visible := true;
end;

procedure TForm1.Label5Click(Sender: TObject);
begin
Form2.visible := true;  
end;

end.



Unit2

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls;

type
  TForm2 = class(TForm)
    Image1: TImage;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.DFM}

end



Unit3

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls;

type
  TForm3 = class(TForm)
    Image1: TImage;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form3: TForm3;

implementation

{$R *.DFM}

end.


Lannes - Do 25.08.05 14:49

Hallo,
user profile iconDragon777 hat folgendes geschrieben:
...bei quatsch vertippt? einfach wegklicken ist nur so als hinweiß gedacht gewesen damit man nachguckt wo man was falsches eingetippt hat?
...damit man nachguckt wo man was falsches >> das sollte das Programm einem schon sagen.oder?
user profile iconDragon777 hat folgendes geschrieben:

des mit min und max fand ich net so wichtig - des fenster hat ja schon ne gute größe oder?
es ist schon wichtig, das dass Programm nicht kleiner als für die Schalter benötigt gezogen werden kann. Warum soll ich es vergrößern können, wenn es nie erforderlich ist?
user profile iconDragon777 hat folgendes geschrieben:

des mit den buttons und labels war so beabsichtigt-könnte ich aber auch ohne prob. ändern
Ist ja schon mal ein Anfang. Meinst Du mit beabsichtigt, den Anwender zu irritieren?
user profile iconDragon777 hat folgendes geschrieben:

was meinst mit extraformular eingebunden>>programmgröße?
Du hast in Form2 und Form3 nur Meldungstext stehen, das kann in einer Form realisiert werden, also nur den Text bei Bedarf ändern. Sehe gerade in deinem Code das Du in Form2 und Form3 ein Image eingebunden hast. Also Image raus und über Text in einer Form, oder besser noch nur Showmessage verwenden.
das Ergebnis ist dann in der Programmgröße eine Reduzierung um ca. 50%.


Dragon777 - Do 25.08.05 15:28

also mit den buttons wollte ich niemanden irritieren :)
hab einfach nur rumprobiert

Und des mit unit2 unit 3 des hab ich nur so gemacht weil ich mit paint des bild und dem text gemacht habe und mit showmessage wird des net do dargestellt( jedenfalls meines wissens nicht) und ne andre möglichkeit des so anzeigen zu lassen wie beim selbsterstellten Image kenn ich noch net.
Vielleicht hast du ja eine idee.


Lannes - Do 25.08.05 18:42

Hallo,

das weicht hier zu sehr vom Thema ab, glaube der Thread-Ersteller wollte hier Tipps zu seinem Programm bekommen,
mach doch für deine letzte Frage ein neues Thema auf.


Stadtfuchs - Fr 26.08.05 13:05

so, ich habe eine neue version meines rechners. ist noch nicht alles verbessert, weil ich mich im moment noch mit "schmuddellösungen" zufrieden gebe. hauptsache es funktioniert "irgendwie". danach kommt dann die umstellung auf einen anständigen code. ich denke mal, da man als noob noch nicht weiss wie man bestimmte sachen vernünftig realisieren kann, ist diese einstellung wohl nicht so schlimm hoffe ich.

ach ja, den quellcode für die hilfe habe ich aus einem tutorial übernommen (jaja, ich weiss: codedieb...)

mfg
stadtfuchs