AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Rechenprogramm

Rechenprogramm

Ein Thema von Amateurprofi · begonnen am 31. Mai 2009 · letzter Beitrag vom 7. Okt 2020
Antwort Antwort
Seite 2 von 7     12 34     Letzte » 
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.095 Beiträge
 
Delphi XE2 Professional
 
#1

Re: Rechenprogramm

  Alt 31. Mai 2009, 21:29
@Satty67
@Forlan

Danke. Freut mich, daß es euch gefällt.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Rechenprogramm

  Alt 31. Mai 2009, 21:43
Schön wäre noch, wenn du es lösen würdest wie Matlab: Jedes Ergebnis wird (zusätzlich) der Variablen "ans" zugewiesen, sobald man Return drückt.

Dann wäre so etwas möglich:

Code:
5*4   [Return]
=> 20
ans+2 [Return]
=> 22
ans/2 [Return]
=> 11
Grüße, Matze
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.095 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Rechenprogramm

  Alt 31. Mai 2009, 22:22
Zitat von himitsu:
Ich hab jetzt nicht sowas gefunden, aber zu dem Zwischenergebnis, da wäre es noch schön, wenn man einfach sagen könnte "hier Ergebnis aus Zeile X".?
z.B.
Code:
25*3
r0-15  // Zeile1 - 15
r0+r1  // Zeile1 + Zeile2
Nja, vielleicht auch mit 1 beginnen zu indizieren, für die Nichtprogrammierer.
Das hatte ich bereits implementiert, dann aber wieder rausgenommen.
Der Grund ist, daß der Teil, der die Ausdrücke auswertet keinerlei Zugriff auf das Hauptprogramm hat, bzw. nicht haben soll, weil er auch für andere Anwendungen verwendbar sein soll. Der eigentliche Parser ist eine Funktion, die vom Hauptprogramm als Parameter einen String (eine Zeile aus dem Eingabefeld (ein TMemo)) geliefert kriegt, und das Ergebnis als String zurück gibt. Aber das ist nicht wirklich ein grundsätzliches Problem - Ich notiere das mal als einen Punkt für eine neue Version.

Zitat:
Mußte z.B. da oben, in der Beschreibung, mehmals hingucken, bevor ich mitbekam, daß das " als Markierung für die Binärzahl ist und nicht nur zur Abgrenzung hier im Post ... hab mich erst ewig gefragt, wie er an 11111011001 (praktisch ohne das ") erkennen soll, daß es binär gemeint ist (binär und hekadezimal hätt man ja z.B. auch mit b und x kennzeichnen können)
Das gäbe dann aber Konflikte. Stell Dir vor da ist eine Variable mit dem Name xe8 oder b111. wie sollen dann xe8 und b111 ausgewertet werden ? Als Hex- und Binärzahl oder als Name einer Variablen ?

Zitat:
das #8#3731 sähe als 8#3731 auch hübsch aus
Nicht ganz unproblematisch, aber machbar.

Zitat:
PS: wegen der Unmengen an Funktionen ... schonmal an eine Autovervollständigung gedacht?
Ja, aber das übersteigt meine Fähigkeiten bei weitem (bin halt nur ein amateurprofi).
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.095 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Rechenprogramm

  Alt 31. Mai 2009, 22:32
Zitat von Matze:
Schön wäre noch, wenn du es lösen würdest wie Matlab: Jedes Ergebnis wird (zusätzlich) der Variablen "ans" zugewiesen, sobald man Return drückt.

Dann wäre so etwas möglich:

Code:
5*4   [Return]
=> 20
ans+2 [Return]
=> 22
ans/2 [Return]
=> 11
Grüße, Matze
Müßte eigentlich machbar sein. Ist, so wie himitsus Vorschlag, auf die Ergebnisse vorheriger Zeilen zugreifen zu können, für eine neue Versione notiert.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.344 Beiträge
 
Delphi 12 Athens
 
#5

Re: Rechenprogramm

  Alt 31. Mai 2009, 22:41
Zitat von Amateurprofi:
Das hatte ich bereits implementiert, dann aber wieder rausgenommen.
Der Grund ist, daß der Teil, der die Ausdrücke auswertet keinerlei Zugriff auf das Hauptprogramm hat, ...
da es ja auch Variablen gibt, könnte man es ja so lösen, daß dann einfach für jede Zeile eine Variable angelegt würde, welche sich dann auslesen liese

Zitat von Amateurprofi:
Das gäbe dann aber Konflikte. Stell Dir vor da ist eine Variable mit dem Name xe8 oder b111. wie sollen dann xe8 und b111 ausgewertet werden ? Als Hex- und Binärzahl oder als Name einer Variablen ?
joar, ok ... das ist ein guter Grund ... OK, man könnte zwar auch "bestimmte" Variablennamen einfach verbieten
(einige Namen, wie z.B. die ganzen Funktionsnamen sind ja vermutlich auch schon gesperrt)

mein Gedanke war halt nur, daß es für mich so verständlicher wäre

Zitat von Amateurprofi:
Ja, aber das übersteigt meine Fähigkeiten bei weitem (bin halt nur ein amateurprofi).
macht mix, der Eine kann das gut und andere was Anderes ... wozu sind wir ein Forum ... laß einfach andere das erledigen
z.B. AutoComplete für TMemo, TRichEdit uvm.

[edit]
wenn ich es mir Recht überleg, dann sollte sich die AutoComplete-Klasse auch so erweitern lassen, daß im Popup auch noch die Funktionsparameter mit angezeigt werden könnten, so als kleine Hilfestellung.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
fLaSh11
(Gast)

n/a Beiträge
 
#6

Re: Rechenprogramm

  Alt 1. Jun 2009, 16:12
Was ich noch gerne hätte wäre, dass man die Speicherung der Rechnungen abschalten kann (oder gibt's das Feature schon?), weil das benötige ich nicht
  Mit Zitat antworten Zitat
Benutzerbild von Jakob Ullmann
Jakob Ullmann

Registriert seit: 17. Feb 2007
218 Beiträge
 
Lazarus
 
#7

Re: Rechenprogramm

  Alt 1. Jun 2009, 17:13
Wirklich gute Arbeit!

Ich bastle nämlich auch gerade an einem Rechner. Da hab ich noch sowas wie sum(n;0;20;1/fac(n)) oder halt prod(...) eingebaut. Nur so als Anregung.
Jakob
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.095 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Rechenprogramm

  Alt 2. Jun 2009, 12:40
Zitat von Jakob Ullmann:
Wirklich gute Arbeit!

Ich bastle nämlich auch gerade an einem Rechner. Da hab ich noch sowas wie sum(n;0;20;1/fac(n)) oder halt prod(...) eingebaut. Nur so als Anregung. ;-)
Danke, aber solche Funktionen die Listen von Werten verarbeiten, sind bereits Teil des Programms
Min(Liste) Minimum
Max(Liste) Maximum
Sum(Liste) Summe
Avg(Liste) Mittelwert
Mul(Liste) Produkt
QSum(Liste) Summe von Quadraten
LCD(Liste) Größter gemeinsamer Teiler
SCM(Liste) Kleinstes gemeinsames Vielfaches
In allen Fällen kann die Liste beliebig viele Einträge haben, und jeder Eintrag kann ein beliebig komplexer Ausdruck sein.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.095 Beiträge
 
Delphi XE2 Professional
 
#9

Re: Rechenprogramm

  Alt 2. Jun 2009, 18:17
Zitat von fLaSh11:
Was ich noch gerne hätte :D wäre, dass man die Speicherung der Rechnungen abschalten kann (oder gibt's das Feature schon?), weil das benötige ich nicht :mrgreen:
Ist in der aktuellen Version nicht vorgesehen.
Da du die Texte mit einem einzigen Tastendruck löschen kannst, scheint mir das auch nicht problematisch zu sein.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Benutzerbild von Jakob Ullmann
Jakob Ullmann

Registriert seit: 17. Feb 2007
218 Beiträge
 
Lazarus
 
#10

Re: Rechenprogramm

  Alt 2. Jun 2009, 18:37
Zitat von Amateurprofi:
Zitat von Jakob Ullmann:
Wirklich gute Arbeit!

Ich bastle nämlich auch gerade an einem Rechner. Da hab ich noch sowas wie sum(n;0;20;1/fac(n)) oder halt prod(...) eingebaut. Nur so als Anregung.
Danke, aber solche Funktionen die Listen von Werten verarbeiten, sind bereits Teil des Programms
Min(Liste) Minimum
Max(Liste) Maximum
Sum(Liste) Summe
Avg(Liste) Mittelwert
Mul(Liste) Produkt
QSum(Liste) Summe von Quadraten
LCD(Liste) Größter gemeinsamer Teiler
SCM(Liste) Kleinstes gemeinsames Vielfaches
In allen Fällen kann die Liste beliebig viele Einträge haben, und jeder Eintrag kann ein beliebig komplexer Ausdruck sein.
Damit hatte ich eigentlich sowas wie das mathematische Summationszeichen gemeint. Zum Beispiel, um die eulersche Zahl zu nähern. Ist aber vielleicht nur bedingt brauchbar.
Jakob
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 7     12 34     Letzte » 

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 16:40 Uhr.
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