Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Resource während der Laufzeit ändern / Alternative
User404
myCSharp.de - Member



Dabei seit:
Beiträge: 4

Themenstarter:

Resource während der Laufzeit ändern / Alternative

beantworten | zitieren | melden

Hi Community!
Ist es möglich eine Resource Datei während der Laufzeit zu ändern?
Ich möchte eine Highscore-Liste im Programm (.exe) speichern, diese auf Wunsch auslesen
und gegebenenfalls auch einen neuen Score speichern.

Versucht hab ich es mit einer .txt Datei als Resource und das auslesen funktioniert soweit ohne Probleme, jedoch hab ich keine Ahnung wie ich in diese Datei etwas schreiben könnte.

Ich will keine externe Datei, da die Weitergabe umständlicher werden würde. Außerdem wird bei der kleinsten Änderung am Pfad z.B. die Datei nicht mehr gefunden. Nebenbei hätte es auch
den schönen Nebeneffekt das der Benutzer die Scores nicht fälschen kann :tongue:

Normal müsste es schon möglich sein das man einen String im Programm dauerhaft abspeichern
und lesen kann, oder?
Geht ja mit den User-Settings auch

Vielen Dank im Voraus!
private Nachricht | Beiträge des Benutzers
thetruedon
myCSharp.de - Member



Dabei seit:
Beiträge: 111

beantworten | zitieren | melden

Vielleicht hilft dir das hier MSDN - Hinzufügen und Bearbeiten von Ressourcen (Visual C#) Aber Recource Dateien sind eigentlich nicht die gängige Lösung dafür. Meiner Erfahrung nach gibt es immerwieder Savegame und Highscoredateien. Wenn du nicht willst dass man die bearbeiten kann dann speicehr sie doch einfach codiert.
Dann hast du zwar 2 Dateien aber in Anbetracht dessen, dass andere Programme 10000 Dateien umfassen wäre das zumindest für mich noch erträglich. Und man kann die scores auch sichern wenn man will.
Kommt ein Mann in die Wirtschaft und sagt zum Wirt: 16 Bit!
Sagt der Wirt: Das ist ein Wort!
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16.306

beantworten | zitieren | melden

Eine Exe kann im nachhinein plump gesagt nicht geändert werden und damit auch alle darin enthaltenen Ressourcen - dafür ist dieses Konzept auch nicht gedacht.

Nimm wie truedon sagt eine Klasse, in der Du Deine Ergebnisse speicherst. Serialiser diese Klasse als XML und speicher das Resultat. Die Datei selbst kannst Du anschließend verschlüsseln und vor dem Deserialisieren wieder entschlüsseln.
Beachte, dass der passende Ordner für sowas ProgramData ist und nicht Dein Installationsverzeichnis der Anwendung.
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo User404,

schon früher wurde die gleiche Auskunft gegeben, z.B. in Resource-Files auch während der Laufzeit ändern (gefunden, indem ich bei Google einfach nach deinem Titel gesucht habe).

Sobald der User herausgefunden hat, dass die Daten in der EXE gespeichert werden (was er vermutlich leicht herausfindet, weil wohl alle gängigen Anti-Viren-Programme meckern, wenn sich EXE-Dateien nachträglich ändern) kopiert er eben die EXE- statt der Konfigurationsdatei, um einen alten Highscore zu sichern oder er modifiziert die EXE mit einem HEX-Editor, um den Highscore zu ändern.

Du würdest also nichts gewinnen und würdest gleichzeitig dem Vertrauen in dein Programm durch Warnmeldungen des Anti-Viren-Programms schaden.

herbivore
private Nachricht | Beiträge des Benutzers
User404
myCSharp.de - Member



Dabei seit:
Beiträge: 4

Themenstarter:

beantworten | zitieren | melden

Danke für die schnellen Antworten und Links!
Hab es jetzt Codiert erledigt und die eine Datei mehr oder weniger ist wirklich egal. :)
private Nachricht | Beiträge des Benutzers