Konfigurationsdaten im Programm speichern
Konfigurationsdaten im Programm speichern
Hallo Leute,
üblicherweise werden vom Benutzer im Programm festgelegte Konfigurationsdaten bei Windows z. B. in der Registrierungsdatei oder als extra ".ini"-Datei abgelegt.
Gibt es auch die Möglichkeit solche innerhalb des Programms geänderte Daten im Programm selbst abzulegen?
Gruß
Daffy
üblicherweise werden vom Benutzer im Programm festgelegte Konfigurationsdaten bei Windows z. B. in der Registrierungsdatei oder als extra ".ini"-Datei abgelegt.
Gibt es auch die Möglichkeit solche innerhalb des Programms geänderte Daten im Programm selbst abzulegen?
Gruß
Daffy
Wir sind LINUX
Widerstand ist zwecklos - Sie werden emuliert
Widerstand ist zwecklos - Sie werden emuliert
Re: Konfigurationsdaten im Programm speichern
Nicht sinnvoll. Antivirenprogramme könnten Alarm schlagen...
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: Konfigurationsdaten im Programm speichern
Reagieren die wirklich darauf wenn sich das Executable "während der Fahrt" ändert?
Gruß
Daffy
Gruß
Daffy
Wir sind LINUX
Widerstand ist zwecklos - Sie werden emuliert
Widerstand ist zwecklos - Sie werden emuliert
Re: Konfigurationsdaten im Programm speichern
Was meinst du mit "innerhalb des Programms"?
In deiner Executable-Datei oder im Programmverzeichnis (C:\Program Files (x86)\MyProg\)?
Deine Programmeinstellungen kannst du im Anwendungsdatenverzeichnis (AppData) anlegen.
\\Edit:
In deiner Executable-Datei oder im Programmverzeichnis (C:\Program Files (x86)\MyProg\)?
Deine Programmeinstellungen kannst du im Anwendungsdatenverzeichnis (AppData) anlegen.
Code: Alles auswählen
GetEnvironmentVariable("appdata") + "\Name des Entwicklers\Name des Programms\Deine Einstellungsdatei.pref"Während der Laufzeit kannst du deine Executable-Datei sowieso nicht ändern, weil die Datei in Benutzung ist. Aber selbst wenn deine EXE-Datei nicht gerade benutzt wird, sollte man EXE-Dateien nicht nachträglich modifizieren, weil Antiviren-Programme wirklich Alarm schlagen können.Daffy0815 hat geschrieben:Reagieren die wirklich darauf wenn sich das Executable "während der Fahrt" ändert?
Re: Konfigurationsdaten im Programm speichern
@RSBasic
Das ist mir alles schon klar!
Es geht mir eigentlich mehr darum einem "unbedarften" Anwender ein vorkonfiguriertes "EXE" in die Hand drücken zu können welches er ohne viel "Setup-Klamauk"
direkt starten und bei Bedarf auch ändern kann.
Gruß
Daffy
Das ist mir alles schon klar!
Es geht mir eigentlich mehr darum einem "unbedarften" Anwender ein vorkonfiguriertes "EXE" in die Hand drücken zu können welches er ohne viel "Setup-Klamauk"
direkt starten und bei Bedarf auch ändern kann.
Gruß
Daffy
Wir sind LINUX
Widerstand ist zwecklos - Sie werden emuliert
Widerstand ist zwecklos - Sie werden emuliert
Re: Konfigurationsdaten im Programm speichern
Wenn deine Programmeinstellungen direkt in deinem Code festgelegt sind, die mitkompiliert werden: Klar kannst du machen.
Was meinst du mit "bei Bedrf auch ändern"?
Soll deine EXE-Datei nachträglich modifiziert werden? Wenn du das meinst: Nein, das würde ich nicht machen, weil das 1. ein schlechter Weg ist, um Programmeinstellungen zu ändern und 2. Antiviren-Programme können Alarm schlagen.
Was meinst du mit "bei Bedrf auch ändern"?
Soll deine EXE-Datei nachträglich modifiziert werden? Wenn du das meinst: Nein, das würde ich nicht machen, weil das 1. ein schlechter Weg ist, um Programmeinstellungen zu ändern und 2. Antiviren-Programme können Alarm schlagen.
Re: Konfigurationsdaten im Programm speichern
Schade, ich dachte dabei z. B. daran die verwendete Übertragungsrate einer Schnittstelle mit 115200 Baud als Standardwert im Programm festzulegen und falls der Anwender diese z. B. auf 57600 Baud ändert diese Einstellung beim Verlassen des Programms im Programm selbst zu verankern.
Das dies nicht die übliche Methode ist und welche anderen Wege es gibt weiß ich!
Ist halt alles immer so ein elender Aufwand mit diesen Konfiguartionsdateien.
Muß man prüfen ob sie da sind und gegebenenfalls erzeugen.
Falls sie da sind muß man prüfen ob sie zur Programmversion passen und gegebenfalls korrigieren usw....
Gruß
Daffy
Das dies nicht die übliche Methode ist und welche anderen Wege es gibt weiß ich!
Ist halt alles immer so ein elender Aufwand mit diesen Konfiguartionsdateien.
Muß man prüfen ob sie da sind und gegebenenfalls erzeugen.
Falls sie da sind muß man prüfen ob sie zur Programmversion passen und gegebenfalls korrigieren usw....
Gruß
Daffy
Wir sind LINUX
Widerstand ist zwecklos - Sie werden emuliert
Widerstand ist zwecklos - Sie werden emuliert
Re: Konfigurationsdaten im Programm speichern
Sorry, dass ich dir das so sagen muss, aber das gehört einfach dazu.
Das ist programmieren.^^
Und so aufwändig ist es doch nicht. Es sind doch nur so circa 20 Codezeilen fürs Laden und Speichern der Programmeinstellungen.
Erstell einfach dafür automatisierte Prozeduren, die du einfach in anderen Projekten wiederverwenden kannst.
Und so aufwändig ist es doch nicht. Es sind doch nur so circa 20 Codezeilen fürs Laden und Speichern der Programmeinstellungen.
Erstell einfach dafür automatisierte Prozeduren, die du einfach in anderen Projekten wiederverwenden kannst.
Re: Konfigurationsdaten im Programm speichern
Das ist "WINDOWS-PROGRAMMIEREN"!
Selbst das kleinste Programm wird ein Monster
Selbst das kleinste Programm wird ein Monster
Wir sind LINUX
Widerstand ist zwecklos - Sie werden emuliert
Widerstand ist zwecklos - Sie werden emuliert
Re: Konfigurationsdaten im Programm speichern
richt nach Preference (.INI oder .PREF-Datei): bei ReadPreference[typ](Keyword$, StandardWert.[typ]) kannst ´n Standartwert mitgeben, der benutzt wird, wenn´s zum KeyWord$ noch keinen Eintrag gibt: das währe die richtige Stelle für im Source fixierte Vorgeben wie Deine BaudRate...
also nicht wirklich Monstermäßig... und nur "mach ma" + [Enter] reicht da nicht so wirklich...
viel Erfolg !!!
Code: Alles auswählen
PrefFile$ = "Setup.INI"
;im Vorlauf:
If OpenPreferences(PrefFile$) ;Setup.INI öffnen
Baud.l=ReadPreferenceLong("Baud",115200) ;falls Eintrag "Baud" noch nicht existiert: Vorgabewert setzen (z.Bsp. nach Prg.Update mit neuen Einträgen)
;hier können noch weitere Setup-Daten eingelegen / vorgegeben werden
ClosePreferences()
Else ;Setup.INI gibt´s noch nicht
Baud = 115200 ;Vorgabe-Werte für den 1. ProgrammLauf
PrefNeu = 1 ;Flag: Setup.INI neu aufbauen
EndIf
;im Hauptlauf:
;hier Setup-Abfragen möglich wie z.Bsp. vvvv
PortNr = OpenSerialPort(#PB_Any, SerialPortName$, Baud, Paritaet, Daten, Stop, HandshakeModus, EingabePufferGroesse, AusgabePufferGroesse)
;auch Setup-Änderungen durchführen:
Baud = Irgenwie(UserAuswahl)
;im Nachlauf:
If PrefNeu
ok = CreatePreferences(PrefFile$) ;Datei neu aufbauen
Else
ok = OpenPreferences(PrefFile$) ;bestehende Datei updaten / erweitern
EndIf
If ok ;Datei (neu oder auch bestehend) ist auf
WritePreferenceLong("Baud",Baud) ;(geänderte) Datenwerte speichern
;hier können noch weitere Setup-Daten gespeichert
ClosePreferences()
EndIf
viel Erfolg !!!


