Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Konfiguration abspeichern (https://www.delphipraxis.net/98916-konfiguration-abspeichern.html)

N30N 4. Sep 2007 13:01

Re: Konfiguration abspeichern
 
Zitat:

Zitat von angos
Zitat:

Zitat von N30N
Delphi-Quellcode:
  Memo1.Lines.LoadFromFile('Videos.cfg'); -> Fehler: Konstantenausdruck erwartet
  Video1 := Memo1.Lines.Strings[0];
  Video2 := Memo1.Lines.Strings[1];
  Video3 := Memo1.Lines.Strings[2];
  Video4 := Memo1.Lines.Strings[3];
  Video5 := Memo1.Lines.Strings[4];
Wenn ich es ohne die ' ' bei Videos.cfg versuche, kommt ebenfalls eine Fehlermeldung: Undefinierter Bezeichner: 'Videos'[...]


Genau da ist der Denkfehler ;) Das "FileName" aus dem Beitrag über deinem ist eine Variable vom Typ String. Du musst also den Pfad in '' setzen. Versuch doch mal folgendes:

Delphi-Quellcode:
 Memo1.Lines.LoadFromFile(ExtractFilePath(paramstr(0)) + 'Videos.cfg'); // gibt die datei videos.cfg an, welche im PROGRAMM-PFAD liegt
Optional:

Delphi-Quellcode:
 
var
  FileName: String;
begin
  FileName := ExtractFilePath(paramstr(0)) + 'Videos.cfg';
  Memo1.Lines.LoadFromFile(FileName);
end;

Gruß


Hm, das ist noch nicht das was ich wollte. Ich will, das die Datei überhaupt erstmal geschrieben wird. Ums lesen kann man sich ja danach kümmern. Was mich wundert: In einem Programm hab ich exakt dieselbe Syntax benutzt und dort funktioniert es einwandfrei. Echt komisch...



//edit:
Okay, mit dem letzten Post von DeddyH hats dann doch geklappt! Ich bedanke mich erstmal und poste dann wenns noch Probleme gibt :)

N30N 4. Sep 2007 14:12

Re: Konfiguration abspeichern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also, ich habe jetzt folgenden Code drinne:


Zitat:

procedure Speichern;
begin
Memo1.Lines.SaveToFile(ExtractFilePath(ParamStr(0) ) + 'Videos.cfg');
end;

procedure Laden;
begin
if FileExists(ExtractFilePath(ParamStr(0)) + 'Videos.cfg') then
begin
Memo1.Lines.LoadFromFile(ExtractFilePath(ParamStr( 0)) + 'Videos.cfg');
if Memo1.Lines.Count > 4 then
try
Video1 := Memo1.Lines.Strings[0];
Video2 := Memo1.Lines.Strings[1];
Video3 := Memo1.Lines.Strings[2];
Video4 := Memo1.Lines.Strings[3];
Video5 := Memo1.Lines.Strings[4];
except
MessageBox(0,'Fehler beim Laden der Liste','Fehler',MB_OK or MB_ICONERROR);
end;
end;
end;

In der Datei stehen die richtigen Dateipfade drinne. Das ist ja schonmal okay.

Doch nur der Hammer: Ich starte das Programm, klicke auf "Laden" (procedure Laden), Versuche Video 1 zu starten und bekomme vom Mediaplayer eine Fehlermeldung zurück: http://slave1.imagebeaver.com/files/...7wmpfehler.jpg


Ich weiss echt net mehr weiter...wo liegt denn jetzt der Fehler?

DeddyH 4. Sep 2007 14:25

Re: Konfiguration abspeichern
 
Wie sieht denn der Aufruf zum Starten aus und was steht im Memo?

Cream 4. Sep 2007 14:27

Re: Konfiguration abspeichern
 
sieht aus als würd da die Dateierweiterung fehlen

edit: sry DeddyH^^

DeddyH 4. Sep 2007 14:28

Re: Konfiguration abspeichern
 
Deshalb frag ich ja :mrgreen:

N30N 5. Sep 2007 07:46

Re: Konfiguration abspeichern
 
Zitat:

Wie sieht denn der Aufruf zum Starten aus und was steht im Memo?


Delphi-Quellcode:
procedure TForm1.LadenClick(Sender: TObject);
begin
if FileExists(ExtractFilePath(ParamStr(0)) + 'Videos.cfg') then
    begin
      Memo1.Lines.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'Videos.cfg');
      if Memo1.Lines.Count > 4 then
        try
          Video1 := Memo1.Lines.Strings[0];
          Video2 := Memo1.Lines.Strings[1];
          Video3 := Memo1.Lines.Strings[2];
          Video4 := Memo1.Lines.Strings[3];
          Video5 := Memo1.Lines.Strings[4];
        except
          MessageBox(0,'Fehler beim Laden der Liste','Fehler',MB_OK or MB_ICONERROR);
        end;
    end;
end;

Ausgabe in Memo1:

Zitat:

\\Server\technik\Holger\Mercedes.mpg
\\Server\technik\Holger\Mercedes.mpg
\\Server\technik\Holger\Mercedes.mpg
\\Server\technik\Holger\Mercedes.mpg
\\Server\technik\Holger\Mercedes.mpg

DeddyH 5. Sep 2007 07:53

Re: Konfiguration abspeichern
 
Und der Start-Aufruf (ShellExecute??)

Cream 5. Sep 2007 08:23

Re: Konfiguration abspeichern
 
also wenn dann soltlest du schon das loadfromfile ins try except schreiben :wink:

setz mal bei den videodateien ein anderes programm als standard

N30N 5. Sep 2007 09:41

Re: Konfiguration abspeichern
 
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var i, Data1, Data2: longint;
begin
  timer1.enabled:=false;
  ReadAllAnalog(Data1,Data2);
  i:=ReadAllDigital;
  CheckBox1.checked:=(i and 1)>0;
  if Checkbox1.checked = true then shellexecute(handle,'open',pchar('wmplayer.exe'),pchar(video1),nil,sw_show);
  CheckBox2.checked:=(i and 2)>0;
  if Checkbox2.checked = true then shellexecute(handle,'open',pchar('wmplayer.exe'),pchar(video2),nil,sw_show);
  CheckBox3.checked:=(i and 4)>0;
  if Checkbox3.checked = true then shellexecute(handle,'open',pchar('wmplayer.exe'),pchar(video3),nil,sw_show);
  CheckBox4.checked:=(i and 8)>0;
  if Checkbox4.checked = true then shellexecute(handle,'open',pchar('wmplayer.exe'),pchar(video4),nil,sw_show);
  CheckBox5.checked:=(i and 16)>0;
  if Checkbox5.checked = true then shellexecute(handle,'open',pchar('wmplayer.exe'),pchar(video5),nil,sw_show);
  timer1.enabled:=true;
end;

Das wäre der Startaufruf. Aber solange ich die Videos manuell festlege und nicht aus der cfg Datei lade funktioniert alles einwandfrei.

Progman 5. Sep 2007 10:30

Re: Konfiguration abspeichern
 
Hi, also ich würde das mit ner INI-Datei machen, die im User-Anwendungsverzeichnis abgelegt wird. Das hat bei mir bisher immer gefunzt.
Die kann man sogar bereits in der dpr-Datei einlesen, noch bevor das Programm initialisiert ist, wenn man alle relvanten Variablen in einer extra Unit hat. Ich mache mir in meinen Projecten grundsätzlich zwei Units für Vars und Procs, wo ich sowas alles drin habe (proceduren wie ReadIni, WritIni, SetPaths etc.)


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:41 Uhr.
Seite 3 von 3     123   

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