![]() |
in Anwendung speichern
Hallo,
inwiefern ist es möglich Strings etc. direkt in einer fertigen Anwendung abzuspeichern, anstatt die Anwendung eine externe Datei erstellen zu lassen, in welche die Strings geschrieben werden? Gruß |
AW: in Anwendung speichern
Meinst du jetzt nachträglich?
|
AW: in Anwendung speichern
Ja, nachdem die Anwendung compliliert wurde.
|
AW: in Anwendung speichern
Also da gibt es den Ressource-String der als als Ressource gespeichert wird. Mehr weiß ich aber auch nicht. In der Regel kann man Ressourcen auch nachträglich ändern.
|
AW: in Anwendung speichern
|
AW: in Anwendung speichern
Das ist aus mehreren Gründen eine schlechte Idee. Zum einem mögen Virenscanner es gar nicht, wenn sich Exe-Dateien verändern. Zum anderen dürfte der normale Anwender kaum Schreibrechte in Programmverzeichnis haben, wenn die Anwendung korrekt vom Administrator installiert wurde. Eben aus dem Grund, dass schadsoftware die Exe nicht verändern kann. Dann kommt noch hinzu, wie soll der Anwender ein Backup der Daten machen? Normalerweise sichert er seine "Eigenen Dateien". Soll er jetzt auch noch die Anwendungen sichern, die die Daten des Benutzers in der eigene Exe speichern?
Es gibt keinen Grund so etwas zu tun. Und sollte es sich um Einstellungen handeln die global für alle Benutzer sind, dann legt man die Konfigurationsdatei im Anwendungsverzeichnis ab und der Administrator nimmt die Einstellungen vor. |
AW: in Anwendung speichern
Nun, Daten kann man immer ans Ende der Exe appenden.
Self-Extracting Archive machen das ja auch so - dieselbe Technik habe ich bei meinem Virtual-Filesystem auch verwendet... Nichts spricht eig. dagegen |
AW: in Anwendung speichern
AFAIK stürzen sich (zumindest die meisten) Lokalisierungs-Tools ja auch auf die Ressourcen und ändern diese.
|
AW: in Anwendung speichern
Was man machen kann ist so eine Art "Branding".
Wenn die EXE frisch kompiliert wurde, dann ist sie noch ohne Brandzeichen. Bei ersten Start werden Daten abgefragt (Name, Datum, Firma, Kundennummer,...) und die EXE speichert sich selbst unter einem neuen Dateinamen. Die Daten werden natürlich mit einer Prüfsumme abgesichert, damit man nicht einfach mit einem Hexeditor Änderungen vornehmen kann. Nur die "gebrandete" EXE wird dem Anwender zur Verfügung gestellt. Bei unlizenzierten Kopieen findet man so ganz leicht den Verursacher. |
AW: in Anwendung speichern
Es wäre vielleicht ganz sinnvoll, wenn uns Fehlersucher mitteilt, was er eigentlich vorhat. Es macht ja keinen Sinn, über alle möglichen und unmöglichen Szenarien zu spekulieren.
|
AW: in Anwendung speichern
Zitat:
Derartige Aktionen sollte allerdings nur der durchführen, der weiß was er tut. Es soll allerdings auch Programme geben, die bei jedem Start eine Prüfsumme von sich selbst erzeugen, in solchen Fällen wären Änderungen wohl recht Sinnfrei. Gruß K-H |
AW: in Anwendung speichern
Ich habe früher, und damit meine ich eher die Win 3.1 Zeit, so gut wie fast jedes Exe-Programm das mir nützlich war, soweit es englisch war, eingedeutscht. Zumindest soweit es nicht zu aufwändig war, also eher Tools als große Anwendungen. Ich hab es mit einem Ressorurce-Programm geöffnet und alle Menüs, Labels oder Strings übersetzt. Ich empfand es angenehmer mit einem übersetzten Programm zu arbeiten. Später bei 32 Bit Programmen klappte das nicht mehr, so dass sich die Praxis legte.
Also mit dem Ressorce Workshop konnte man viel Spaß haben, sogar Nagsreens abschalten. Ja, früher gab es einen Grund Ressorcen zu ändern ;) |
AW: in Anwendung speichern
Aktuelle, ordentilche Übersetzungstools, machen sich eher über die Resourcen im Speicher her. Auch nicht an jeder Stelle gern gesehen, aber wenn man an Übersetzungen denkt sollte das wohl der 2.-beste Weg sein. (Der beste wäre es, sämtliche Strings aus einer vorbereiteten Sprach-Datei zu laden. Eine INI oder besser ein XML.)
Ansonsten teile ich die Ansicht, dass Daten ins dafür vorgesehene User-Verzeichnis gehören. Globale Anwendungseinstellungen höchstens in die Regitry, aber auch nur, wenn der Installer diese bei Deinstallation noch kennt und restfrei wegräumt! NUR dann! Besser wäre hier der Ordner "All Users". Fazit: Wenn es sich nicht um ein Programm handelt, dass nachher NUR auf Maschinen läuft, die unter deiner vollen Administration stehen, und deren praktisch einzige Aufgabe die Ausführung dieses Programmes ist, sollte die EXE nach Kompilation kategorisch unangetastet bleiben. Für User-Daten und Konfig-Daten gibt es seit ein paar Jahren auch in der Windows-Welt die geeigneten Stellen, an denen das zu erledigen wäre. (Welche selbst im vorgenannten Spezialfall noch immer der 100000x bessere Weg wären.) |
AW: in Anwendung speichern
Keine Panik vor der Reg. Unter XP ist eine frische Ntuser.dat etwa 2 MB, meine aktuelle ist etwa 20 MB und ist immer noch flott.
|
AW: in Anwendung speichern
![]() heise download Beschreibung: ![]() Ich habe allerdings keine Ahnung wie das funktioniert. :gruebel: |
AW: in Anwendung speichern
Sowas in der Art habe ich vor Jahren auch angetestet, damals wollte ich mir einen Kennwortmanager für die vielen Kennwörten schreiben, der aus einer einzigen Datei bestand und die Passwörter in der Exe beinhaltete. Das klappte auch relativ gut, ich hab auch verschiedene Ansätze von Ressource bis Datei an die Exe anhängen versucht. Klappen tut das auf jeden Fall und ist auch nicht so kompliziert. Ich hab es dann letztendlich sein lassen, da ich meiner Verschlüsselung nicht getraut habe, aber die Technik etwas als Bagage mitzuschleppen klapp.
|
AW: in Anwendung speichern
Ich wollte eigentlich ein Programm schreiben, welches verschlüsselte Kennwörter in der eigenen Anwendung speichert.
Wie macht man das? (Also einen String in einer Anwendung speichern und laden) Nutzt man dafür Ressourcen? |
AW: in Anwendung speichern
Das ist letztendlich nicht unmöglich, aber auch nicht ganz trivial, d. h. man sollte schon gewisse Kenntnisse in Delphi haben. Bitte nicht missverstehen, aber da ist eine gewisse Lücke zwischen dem was man wissen muss und zurzeit weiß. Die sollte erst geschlossen werden.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:16 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