AGB  ·  Datenschutz  ·  Impressum  







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

Mathematik alpha

Ein Thema von Mathematiker · begonnen am 14. Dez 2015 · letzter Beitrag vom 18. Mai 2021
Antwort Antwort
Seite 2 von 16     12 3412     Letzte » 
Mathematiker
Hallo,
da ich ja ab und an auch in der Delphi-Praxis unterwegs bin, möchte ich auch hier mein Hauptprogramm vorstellen.
"Mathematik alpha" (2016) ist ein umfangreiches Freeware-Mathematikprogramm. Es besteht aus 2 Teilen: erstens aus einem Mathematiklexikon mit mehreren Tausend Seiten und zweitens aus mehr als 700 Teilprogramm zu verschiedenen Themen der Mathematik, aber auch der Astronomie, Physik, Informatik ... Es gibt auch ein paar Logikspiele.
Hauptsächlich geht es um Schulmathematik. Schwerpunkt ist vor allem die grafische Veranschaulichung von mathematischen Fragestellungen, u.a. Funktionen, Kurven, Gleichungen, ebene Geometrie, Polyeder, Wahrscheinlichkeit, Fraktale, Verschlüsselungsverfahren, Algorithmen ...

Als ehemals kommerzielles Programm ist es nun frei verfügbar und war auch einigermaßen erfolgreich. Geschrieben ist es mit Delphi 5. Es muss nicht installiert werden, d.h. portabel, und kann auch z.B. von einem USB-Stick gestartet werden. Es läuft unter XP bis 10.

Da das Gesamtpaket 180 MB Umfang hat, kann ich es hier nicht anhängen.
Wen es interessiert kann auf der Seite http://mathematikalpha.de weitere Informationen; vor allem eine Teilprogrammliste; bekommen und es dort auch herunterladen.
Vielleicht gefällt es dem einen oder anderen.

Beste Grüße und eine schönes Weihnachten
Mathematiker
 
SMO

 
Delphi XE6 Professional
 
#11
  Alt 17. Dez 2015, 15:08
-Die Hilfe funktioniert bei mir nicht. Das Inhaltsverzeichnis ist zwar da, aber sonst scheint die Hilfe leer zu sein!?
Mist.
Dieses Problem tritt leider bei dem einen oder anderen immer wieder auf. Am Windows-System liegt es nicht, da die Hilfe von XP bis 10 korrekt angezeigt wird. Nur leider nicht bei allen.
Das kann ich erklären. Die CHM-Datei wird nicht richtig angezeigt, weil sie aus dem Internet stammt!
Windows, genauer gesagt der Browser, markiert heruntergeladene Dateien als "aus unsicherer Quelle stammend". Internet Explorer macht das schon lange, Firefox hat's auch irgendwann mal übernommen, und andere Browser machen es mittlerweile wahrscheinlich auch.
Selbst die Entpackprogramme helfen mit. D.h. wenn ich mir deine alpha.zip runterlade, wird sie markiert. Entpacke ich dieses Archiv mit Windows oder z.B. WinRAR, dann übernehmen diese Programme die Markierung des Archivs für alle daraus entpackten Dateien.

Versucht man eine markierte Exe auszuführen, zeigt der Explorer eine Warnung à la "Der Computer wurde durch Windows geschützt" (siehe hier). Wenn man die Exe trotzdem ausführen will, muss man zuerst auf "Weitere Informationen" klicken, um die Option eingeblendet zu bekommen. Die Markierung wird dann beim ersten Start entfernt. Außerdem kann man sie im Eigenschaften-Dialog (Alt+Enter) sehen und entfernen (siehe hier).

Wie wird diese Markierung realisiert? Als alternativer NTFS Datenstrom. In NTFS können Dateien beliebig viele davon haben, angesprochen werden sie mit einem Doppelpunkt nach dem Dateinamen plus Datenstromname. Der Datenstrom, um den es sich hier dreht, heißt "Zone.Identifier" und enthält Text im guten alten INI-Format:
Code:
[ZoneTransfer]
ZoneId=3
Anschauen kann man sich diesen Datenstrom z.B. so: Konsole öffnen (cmd.exe oder ähnliches), dann "notepad C:\WasAuchImmer\matlex.chm:Zone.Identifier" eingeben.
Programmatisch löschen geht zum Glück sehr einfach:
Delphi-Quellcode:
var
  BaseDir: string;
begin
  BaseDir := IncludeTrailingPathDelimiter(ExtractFilePath(ParamStr(0)));
  if FileExists(BaseDir + 'matlex.chm:Zone.Identifier') then
    DeleteFile(BaseDir + 'matlex.chm:Zone.Identifier');
  // selbes Prozedere mit weiteren Dateien falls nötig oder gewünscht
end;
Danach funktioniert die Hilfedatei dann richtig.

Ich habe mir übrigens auch endlich mal die Zeit genommen, dein Programm anzuschauen. Es ist wirklich sehr beeindruckend!

Geändert von SMO (17. Dez 2015 um 15:12 Uhr)
  Mit Zitat antworten Zitat
Mathematiker
 
#12
  Alt 17. Dez 2015, 15:33
Hallo SMO,
Danke für deine sehr ausführliche Antwort.
Dass Programme aus dem Internet eine Warnmeldung bei der Erstausführung produzieren, kenne ich. Dass so etwas auch bei der chm-Hilfe auftritt, ist für mich überraschend.
Und damit habe ich wieder etwas gelernt. Sehr schön.

Programmatisch löschen geht zum Glück sehr einfach: ... Danach funktioniert die Hilfedatei dann richtig.
Genial. Ich habe sofort die Routine in die Haupt-EXE eingebaut.
Da beim Erststart das Nutzerverzeichnis angelegt wird, entferne ich nun dort gleich noch die "Sperre" für die Hilfedatei. Damit dürfte es funktionieren.
Ich tausche bei Dropbox das Programmpaket heute noch aus. Danke für die Superlösung.

Ich habe mir übrigens auch endlich mal die Zeit genommen, dein Programm anzuschauen. Es ist wirklich sehr beeindruckend!
Danke für die lobenden Worte.

Beste Grüße
Mathematiker

Nachtrag: Eine Frage noch
if FileExists(BaseDir + 'matlex.chm:Zone.Identifier') then wird im Debugger übersprungen. Müsste es nur
if FileExists(BaseDir + 'matlex.chm') then sein?

Geändert von Mathematiker (17. Dez 2015 um 15:39 Uhr)
  Mit Zitat antworten Zitat
SMO

 
Delphi XE6 Professional
 
#13
  Alt 17. Dez 2015, 15:50
Sicher, dass der Compiler dafür keinen Code produziert? Kann ich mir kaum vorstellen.

if FileExists(BaseDir + 'matlex.chm:Zone.Identifier') stimmt schon, denn ich möchte ja nicht wissen, ob die Datei matlex.chm existiert, sondern ob sie einen Datenstrom namens Zone.Identifier hat. Du könntest den Test natürlich auch weglassen und nur DeleteFile(BaseDir + 'matlex.chm:Zone.Identifier') aufrufen, wirft ja keine Exception wenn die Datei oder der Datenstrom nicht existiert, sondern liefert nur False zurück.

Edit: Nochmal getestet, sowohl FileExists als auch DeleteFile funktionieren wie gezeigt mit alternativen Datenströmen.

Geändert von SMO (17. Dez 2015 um 15:59 Uhr)
  Mit Zitat antworten Zitat
Mathematiker
 
#14
  Alt 17. Dez 2015, 15:53
Ok, habe ich verstanden. Danke.
Da bei mir Zone.identifier nicht gesetzt ist, springt der Debugger drüber.
Ich versuche es jetzt auf einem anderen Rechner.

Beste Grüße
Mathematiker

Geändert von Mathematiker (17. Dez 2015 um 15:55 Uhr)
  Mit Zitat antworten Zitat
SMO

 
Delphi XE6 Professional
 
#15
  Alt 17. Dez 2015, 16:06
Du brauchst gar keinen anderen Rechner. Öffne eine Konsole im Programmverzeichnis, oder mach dir eine kleine Batchdatei:

Code:
echo [ZoneTransfer] > matlex.chm:Zone.Identifier
echo ZoneId=3 >> matlex.chm:Zone.Identifier
Und schon hat matlex.chm den Datenstrom mit dem gewünschten Inhalt. Anzeigen in der Konsole geht leider nicht mit "type", aber so:
Code:
more < matlex.chm:Zone.Identifier
Oder wie zuvor erwähnt, mit "notepad matlex.chm:Zone.Identifier" kann man den Datenstrom sowohl anzeigen als auch erstellen.

Geändert von SMO (17. Dez 2015 um 16:15 Uhr)
  Mit Zitat antworten Zitat
Mathematiker
 
#16
  Alt 17. Dez 2015, 16:19
Hallo SMO,
Danke. Jetzt funktioniert es perfekt.

Beste Grüße
Mathematiker
  Mit Zitat antworten Zitat
Aviator

 
Delphi 10.3 Rio
 
#17
  Alt 17. Dez 2015, 21:03
Hallo Mathematiker,
also ich finde das Programm wirklich wahnsinn. Mega umfangreich was die Arten der Mathematik angeht und noch dazu schön erklärt mit dem Lexikon. Leider verstehe ich davon zu wenig, da man mit dem Schulmathe das ich vor einigen Jahren hatte, so etwas überhaupt nicht mal im Ansatz kennenlernt.

Was mich aber viel mehr interessieren würde ist, wie viele Codezeilen denn dahinter stecken?! Und hast du das alles alleine geschrieben oder war da Hilfe dabei? Und in welcher Zeit? Wäre super, wenn du das beantworten könntest.

Ein dickes Lob! Super Programm!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#18
  Alt 17. Dez 2015, 21:19
Und das ist Freeware? Hast du im Lotto gewonnen oder was? Einzellizenz 25 Euro. Ermäßigte Schul- und Studentenlizenzen. Extra Vereinbarungen mit Schulen und Unis.
Michael
  Mit Zitat antworten Zitat
Mathematiker
 
#19
  Alt 17. Dez 2015, 21:55
Hallo Aviator,
Danke für das Lob.
Was mich aber viel mehr interessieren würde ist, wie viele Codezeilen denn dahinter stecken?! Und hast du das alles alleine geschrieben oder war da Hilfe dabei? Und in welcher Zeit? Wäre super, wenn du das beantworten könntest.
Es sind knapp 400000 LOC mit Delphi 5 (ohne Kommentare).
Den überwiegenden Teil habe ich selbst produziert. Bei 8 der 710 Teilprogramme hatte ich größere Anregungen von Anderen; insbesondere bei den Langarithmetiken und der Darstellung dreidimensionaler Funktionen und Kurven. Außer dem normalen D5 habe ich auch ein paar freie Fremdkomponenten drin.
Einen Großteil der Quelltexte findest du in der EE.

Allerdings wäre die heutige Form als Hobbyprogrammierer nicht möglich gewesen, wenn ich nicht fachliche Hilfe gehabt hätte. Vorwiegend in der EE erhielt ich in den letzten 4 Jahren viele Hinweise zu programmtechnischen Fragen; und heute von SMO hier in der DP.
Ansonsten war es eine Menge Selbststudium.

Zur Programmgeschichte: 1985(!) ging es los. Damals in BASIC für den KC85/3 (DDR-Kleincomputer). Ab 1990 ging es über Turbo Pascal, Borland Pascal für Windows zu Delphi 5.
In den 30 Jahren (kein Scherz) wurde das Programm größer und größer, bis es den heutigen Stand erreicht hat.
Es war etwas Arbeit und nach der langen Zeit will ich kürzer treten (das Alter ), deshalb kein Kommerz mehr, sondern Freeware. Die Ideen gehen mir auch langsam aus.

Hallo Luckie,
Und das ist Freeware? Hast du im Lotto gewonnen oder was?
Nein, habe ich nicht.
Wie ich oben schon schrieb ist nach 30 Jahren einfach Schluss! Ich habe einen "normalen" Job (Lehrer, ja ich weiß, die haben viel Zeit ) und nach 22 Jahren kommerziellen Stress (jedes Jahr etwas "Neues und Besseres" und vor allem "Mehr, mehr, noch mehr!") will ich nicht mehr. In den letzten Jahren wurde ich nur noch gefragt: Wie viele neue Teilprogramme sind drin? Mit welchen Daten können wir Käufer noch ködern?
Niemand fragte nach dem fachlichen Inhalt.
Das ging soweit, dass von mir festgestellte Fehler in weiteren Auflagen nicht korrigiert wurden. Warum auch? Wenn der Kunde gekauft hat, ist doch alles in Ordnung! Es war einfach zu teuer! Denn es ging nur um Umsatz, nicht um zufriedene Nutzer.

Außerdem es mich immer mehr an, wie verschiedene Hersteller von wichtigen Hilfsmitteln für die Bildung mit minderwertiger Ware die Schulen, aber auch Schüler und Eltern, regelrecht abzocken. D.h. natürlich nicht, dass mein Programm ein Ersatz für fehlende Hilfsmittel ist.
So genug Frust abgelassen!

Es freut mich, wenn das Programm dem einen oder anderen hilft. Und vielleicht kommt doch noch etwas Gutes heraus.

Beste Grüße
Mathematiker

Noch ein Nachtrag: Auch Shareware will ich nicht. Auf die Einnahmen müsste und würde ich Steuern zahlen.
Und ich mag es überhaupt nicht, wenn meine Steuern für Bankenrettung, weitere Kriege ... benutzt werden. Auf mein normales Gehalt muss ich schon genug Steuern zahlen.

Geändert von Mathematiker (17. Dez 2015 um 22:04 Uhr)
  Mit Zitat antworten Zitat
Aviator

 
Delphi 10.3 Rio
 
#20
  Alt 17. Dez 2015, 22:28
Hallo Aviator,
Danke für das Lob.
Was mich aber viel mehr interessieren würde ist, wie viele Codezeilen denn dahinter stecken?! Und hast du das alles alleine geschrieben oder war da Hilfe dabei? Und in welcher Zeit? Wäre super, wenn du das beantworten könntest.
Es sind knapp 400000 LOC mit Delphi 5 (ohne Kommentare).
Den überwiegenden Teil habe ich selbst produziert. Bei 8 der 710 Teilprogramme hatte ich größere Anregungen von Anderen; insbesondere bei den Langarithmetiken und der Darstellung dreidimensionaler Funktionen und Kurven. Außer dem normalen D5 habe ich auch ein paar freie Fremdkomponenten drin.
Einen Großteil der Quelltexte findest du in der EE.

Allerdings wäre die heutige Form als Hobbyprogrammierer nicht möglich gewesen, wenn ich nicht fachliche Hilfe gehabt hätte. Vorwiegend in der EE erhielt ich in den letzten 4 Jahren viele Hinweise zu programmtechnischen Fragen; und heute von SMO hier in der DP.
Ansonsten war es eine Menge Selbststudium.

Zur Programmgeschichte: 1985(!) ging es los. Damals in BASIC für den KC85/3 (DDR-Kleincomputer). Ab 1990 ging es über Turbo Pascal, Borland Pascal für Windows zu Delphi 5.
In den 30 Jahren (kein Scherz) wurde das Programm größer und größer, bis es den heutigen Stand erreicht hat.
Es war etwas Arbeit und nach der langen Zeit will ich kürzer treten (das Alter ), deshalb kein Kommerz mehr, sondern Freeware. Die Ideen gehen mir auch langsam aus.
Wow. Super Sache. Danke für die Info.
  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 18:18 Uhr.
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