AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi [Erledigt] Postfix Rechner (Ungültige Zeigeroperation)

[Erledigt] Postfix Rechner (Ungültige Zeigeroperation)

Ein Thema von Hador · begonnen am 25. Apr 2006 · letzter Beitrag vom 26. Apr 2006
Antwort Antwort
Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#1

[Erledigt] Postfix Rechner (Ungültige Zeigeroperation)

  Alt 25. Apr 2006, 20:04
Hallo Leute.

Bei mir ist heute irgendwie der Wurm drin. Oder zumindest 'n Bug.
Ich habe einen Postfix Taschenrechner erstellt, der jedoch einen von mir nicht nachzuvollziehende Fehler auswirft.
Aber evtl. sitz ich da ja auch einfach nur zu lage vor und seh den Wald vor lauter Bäumen nicht.

Also worum es geht:

Mit dem Programm sollen Rechenterme, die Postfix-Schreibweise eingegeben werden und ausgerechnet werden.
so würde man bspw. um "2 + 1" zu rechnen "2 1 +"
oder für "3 * ( 2 + 4 )", "3 2 4 + *"

Wenn ich jetzt aber z.B. bei mir "2 1 - 1 -" eingebe, krieg ich eine Fehlermeldung.

Vieleicht kann sich das Programm ja mal einer angucken. Es sind auch nur ca. 100 Codezeilen
Angehängte Dateien
Dateityp: exe postfixrechner_202.exe (382,5 KB, 3x aufgerufen)
Dateityp: zip inf_postfix_rechner_795.zip (2,4 KB, 6x aufgerufen)
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#2

Re: Postfix Rechner (Ungültige Zeigeroperation)

  Alt 25. Apr 2006, 21:37
Das Interface sieht ziemlich leer aus.... Wie soll man denn das vernünftig testen geschweige denn damit arbeiten?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Postfix Rechner (Ungültige Zeigeroperation)

  Alt 25. Apr 2006, 21:47
Hallo Lars,

du solltest zuerst deine Unit Keller überarbeiten. Der Rückbezug auf die Form ist nicht gut, da du so deine Unit nicht frei verwenden kannst. Wenn du deinen Keller als einfach verkettete Liste implementieren willst, dann ist das deine Entscheidung, aber elegant ist das nicht wirklich - du hast da extra ein Element, welches nur schreit "ich bin leer". Beim Pop() übergibst du dann auch noch ungültige Daten.

Wenn du deine Unit etwas aufgräumt hast, dann steht ein Test an - nach dem Muster "zweimal Push und der Keller hat die Größe 2, zweimal Pop und er muss wieder leer sein". So hast du schon vier Methoden getestet. Erst wenn deine Unit Keller alle Tests fehlerfrei beendet solltest du sie in deinem Taschenrechner verwenden.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Postfix Rechner (Ungültige Zeigeroperation)

  Alt 25. Apr 2006, 22:43
Zitat von Daniel G:
Das Interface sieht ziemlich leer aus.... Wie soll man denn das vernünftig testen geschweige denn damit arbeiten?
^^ Du brauchst dort nur was eingeben.



Zitat von marabu:
Hallo Lars,
Hallo marabu

Zitat von marabu:
du solltest zuerst deine Unit Keller überarbeiten. Der Rückbezug auf die Form ist nicht gut, da du so deine Unit nicht frei verwenden kannst.
Jo da hast du Recht. Das war auch nur eine quick'n'dirty-Lösung um das ganze in die Listbox zu kriegen.

Zitat von marabu:
Wenn du deinen Keller als einfach verkettete Liste implementieren willst, dann ist das deine Entscheidung, aber elegant ist das nicht wirklich - du hast da extra ein Element, welches nur schreit "ich bin leer". Beim Pop() übergibst du dann auch noch ungültige Daten.
Von dem Keller komme ich leider nicht weg. Mein Lehrer liebt die Dinger
Aber bei dem leeren Objekt hast du Recht. Ich denke ich werde das ganze mal so umbauen, dass man dem Keller beim erzeugen bereits Daten übergeben muss. So habe ich kein leeres Objekt. Und wie ich das FEmpty ersetzen kann, da habe ich auch schon eine Idee.

Zitat von marabu:
Wenn du deine Unit etwas aufgräumt hast, dann steht ein Test an - nach dem Muster "zweimal Push und der Keller hat die Größe 2, zweimal Pop und er muss wieder leer sein". So hast du schon vier Methoden getestet. Erst wenn deine Unit Keller alle Tests fehlerfrei beendet solltest du sie in deinem Taschenrechner verwenden.
Eigentlich war er schon getestet. Ich habe auch eben bemerkt, dass ich noch eine ältere Version genommen habe, die noch diesen Fehler verursacht. Nja jetzt habe ich das ganze am laufen.

Zitat von marabu:
Grüße vom marabu
Gruß zurück
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#5

Re: Postfix Rechner (Ungültige Zeigeroperation)

  Alt 26. Apr 2006, 15:21
Zitat von Hador:
Zitat von Daniel G:
Das Interface sieht ziemlich leer aus.... Wie soll man denn das vernünftig testen geschweige denn damit arbeiten?
^^ Du brauchst dort nur was eingeben.
Trägt aber nicht wirklich zu Usability bei. Ich kann die Werte nicht nachträglich korrigieren, kopieren und einfügen geht so auch nicht.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf