Ich habe es mir ehrlich gesagt nicht ganz duchgesehen, aber hier ein paar Anmerkungen:
Delphi-Quellcode:
OpenDialog1.Execute;
soundpfad:=OpenDialog1.FileName;
If OpenDialog1.Filename=''Then begin soundpfad:=installpfad +'\Sounds\Töne\zap_dela-dog-7593_hifi.wav'; RadioButton2.Checked:=True; end;
Besser:
Delphi-Quellcode:
if OpenDialog1.Execute then // Execute gibt True zurück, wenn erfolgreich eine Datei ausgewählt wurde
soundpfad := OpenDialog1.FileName
else begin
soundpfad := installpfad + '\Sounds\Töne\zap_dela-dog-7593_hifi.wav';
RadioButton2.Checked := True;
end;
Und:
Delphi-Quellcode:
var Reg: TRegistry;
[...]
installpfad:=ReadString('Pfad');
[...]
soundpfad:=installpfad +'\Sounds\Töne\zap_dela-dog-7593_hifi.wav';
Der Installpfad ist bei dir doch der Pfad, in dem deine Echse liegt. Warum dann das zwischenspeichern und den Umweg über die Registry? Es ist doch viel einfacher:
Delphi-Quellcode:
installpfad := ExtractFilePath(ParamStr(0));
// Anwendungsverzeichnis mit "\" auslesen. Alternativ ExtractFileDir ohne "\" am Ende
soundpfad := installpfad + 'Sounds\Töne\zap_dela-dog-7593_hifi.wav';
---
If CheckBox5.Checked=True Then s5:='True' Else s5:='False';
a) Niemals auf True oder False vergleichen sondern einfach
[delphi]if CheckBox.Checked then .../delphi]
b) das ganze kannst du auch so lösen:
Code:
s5 := BoolToStr(CheckBox5.Checked, True);
---
Code:
Memo1.Lines.SaveToFile(installpfad +'\Save\Settings.ini');
Vorsicht beim speichern im Programmverzeichnis. Du hast nicht immer dort Schreibrechte. Lieber unter Anwendungsdaten speichern
--
...
EDIT: Schlechtschreibung und: Wiso nimmt der unten die Delphi-Tags nicht
EDIT2: Arrg, meine c-Taste klemmt
EDIT3:
Du könntest die voreingestellten Töne übrigends auch als Ressourcen einbinden. Dann kannst du sicher sein, dass die auh nicht jmd. versehentlich verschiebt, löscht oder sonst was damit anstellt.