![]() |
AW: Mathematik alpha
Zitat:
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" ( ![]() ![]() 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:
Anschauen kann man sich diesen Datenstrom z.B. so: Konsole öffnen (cmd.exe oder ähnliches), dann "notepad C:\WasAuchImmer\matlex.chm:Zone.Identifier" eingeben.
[ZoneTransfer]
ZoneId=3 Programmatisch löschen geht zum Glück sehr einfach:
Delphi-Quellcode:
Danach funktioniert die Hilfedatei dann richtig.
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; Ich habe mir übrigens auch endlich mal die Zeit genommen, dein Programm anzuschauen. Es ist wirklich sehr beeindruckend! :thumb: |
AW: Mathematik alpha
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. :thumb: Zitat:
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. Zitat:
Beste Grüße Mathematiker Nachtrag: Eine Frage noch
Delphi-Quellcode:
wird im Debugger übersprungen. Müsste es nur
if FileExists(BaseDir + 'matlex.chm:Zone.Identifier') then
Delphi-Quellcode:
sein?
if FileExists(BaseDir + 'matlex.chm') then
|
AW: Mathematik alpha
Sicher, dass der Compiler dafür keinen Code produziert? Kann ich mir kaum vorstellen.
Delphi-Quellcode:
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
if FileExists(BaseDir + 'matlex.chm:Zone.Identifier')
Delphi-Quellcode:
aufrufen, wirft ja keine Exception wenn die Datei oder der Datenstrom nicht existiert, sondern liefert nur False zurück.
DeleteFile(BaseDir + 'matlex.chm:Zone.Identifier')
Edit: Nochmal getestet, sowohl FileExists als auch DeleteFile funktionieren wie gezeigt mit alternativen Datenströmen. |
AW: Mathematik alpha
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 |
AW: Mathematik alpha
Du brauchst gar keinen anderen Rechner. Öffne eine Konsole im Programmverzeichnis, oder mach dir eine kleine Batchdatei:
Code:
Und schon hat matlex.chm den Datenstrom mit dem gewünschten Inhalt. Anzeigen in der Konsole geht leider nicht mit "type", aber so:
echo [ZoneTransfer] > matlex.chm:Zone.Identifier
echo ZoneId=3 >> matlex.chm:Zone.Identifier
Code:
Oder wie zuvor erwähnt, mit "notepad matlex.chm:Zone.Identifier" kann man den Datenstrom sowohl anzeigen als auch erstellen.
more < matlex.chm:Zone.Identifier
|
AW: Mathematik alpha
Hallo SMO,
Danke. Jetzt funktioniert es perfekt. Beste Grüße Mathematiker |
AW: Mathematik alpha
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! :thumb: :thumb: :thumb: |
AW: Mathematik alpha
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.
|
AW: Mathematik alpha
Hallo Aviator,
Danke für das Lob. Zitat:
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 :lol:), deshalb kein Kommerz mehr, sondern Freeware. Die Ideen gehen mir auch langsam aus. Hallo Luckie, Zitat:
Wie ich oben schon schrieb ist nach 30 Jahren einfach Schluss! Ich habe einen "normalen" Job (Lehrer, ja ich weiß, die haben viel Zeit :wink:) 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! :twisted: Es war einfach zu teuer! Denn es ging nur um Umsatz, nicht um zufriedene Nutzer. Außerdem :kotz: 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.:evil: |
AW: Mathematik alpha
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:23 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