Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi INI mit Schleife auslesen (https://www.delphipraxis.net/131080-ini-mit-schleife-auslesen.html)

SoD 18. Mär 2009 13:29


INI mit Schleife auslesen
 
Hallo DPler,

ich soll einen kleinen Videoplayer basteln, in dem einige Schulungsvideos abgespielt werden können. Dabei soll sich die Liste aus einer INI die zur Verfügung stehenden Videos ziehen.

Wenn ich das statisch im Code aufrufe, klappt das auch. Nur wenn jetzt weitere Videos hinzukommen sollten, würden diese nicht automatisch in die Liste geladen werden. Der Code vom Player müsste also immer wieder angepasst werden.

Ich hab das Forum schon durchforstet, jedoch nichts gefunden, das mir weitergeholfen hätte, da es meist nur ums Schreiben einer INI ging, oder die Schleife, die ich verwenden müsste (Brauch ich doch eine, oder?) in den Posts nicht enthalten war.

Bisher sieht das auslesen der INI so aus (ohne Schleife):

Delphi-Quellcode:
procedure TForm1.ListBoxFilesClick(Sender: TObject);
begin
  VideoIni := TIniFile.Create(PChar(ExtractFilePath(ParamStr(0)) + 'files.ini'));
  case ListBoxFiles.ItemIndex of
    0:
    try
      MemoDesc.Text := VideoIni.ReadString('Video1','Desc','KEINE BESCHREIBUNG VORHANDEN');  //Beschreibung aus INI lesen
      MediaPlayerControl.FileName := VideoIni.ReadString('Video1','Path','');  //Dateipfad aus INI lesen
      MediaPlayerControl.Open;
    except
      error_with_file;  //Falls was nicht klappt, Fehlermeldung ausgeben
    end;
    1:
    try
      MemoDesc.Text := VideoIni.ReadString('Video2','Desc','KEINE BESCHREIBUNG VORHANDEN');
      MediaPlayerControl.FileName := VideoIni.ReadString('Video2','Path','');
      MediaPlayerControl.Open;
    except
      error_with_file;
    end;
    2:
    try
      MemoDesc.Text := VideoIni.ReadString('Video3','Desc','KEINE BESCHREIBUNG VORHANDEN');
      MediaPlayerControl.FileName := VideoIni.ReadString('Video3','Path','');
      MediaPlayerControl.Open;
    except
      error_with_file;
    end;
  end;
end;
Ich hab auch schon versucht die Schleife selbst zu basteln, aber entweder Delphi meckert wegen einer falschen Syntax, kompiliert nicht (Compiler-Fehler) oder ich renn in eine Endlosschleife.

Kann es sein, dass ich in meinem Code etwas nicht berücksichtigt habe?

MfG,
SoD

Moony 18. Mär 2009 13:34

Re: INI mit Schleife auslesen
 
Du kannst dir doch aus einer Ini die Chapters in eine Liste laden, diese dann Chapter für Chapter durchgehen und die Informationen auslesen.

SoD 18. Mär 2009 13:39

Re: INI mit Schleife auslesen
 
Heißt das dann nicht auch, dass ich die eingelesenen Werte wieder irgenwo hinterlegen muss?

Brauch ich dazu ReadSection oder ReadSections?

Tyrael Y. 18. Mär 2009 13:42

Re: INI mit Schleife auslesen
 
Hier hast du aus der Hilfe ein Besipiel, darin sind alle Methoden enthalten und kommen zur Anwendung die du brauchst....und nein eine Schleife brauchts du nicht.

Delphi-Quellcode:
Das folgende Beispiel liest Informationen aus der Datei WIN.INI in drei Listenfelder eines Formulars.

uses IniFiles;
procedure TForm1.FormActivate(Sender: TObject);

var
  AppIni: TIniFile;
begin
  AppIni := TIniFile.Create('WIN.INI');
  AppIni.ReadSections(ListBox1.Items);
  AppIni.ReadSection('Ports',Listbox2.Items);
  AppIni.ReadSectionValues('Ports',ListBox3.Items);
  AppIni.Free;
end;
...probier es aus.

Klaus01 18. Mär 2009 13:46

Re: INI mit Schleife auslesen
 
Hallo,

Du könntest Dir auch einen Key für die Anzahl der Filme anlegen
und diesen zuerst auslesen.

Dann kannst Du in einer Schleife die Filme auslesen
und in die Liste eintragen.

Delphi-Quellcode:
for i:=0 to anzahlFilme -1 do
  ListBoxFiles.Items.add(VideoIni.ReadString('Video'+IntToStr(i+1),'Desc','KEINE BESCHREIBUNG VORHANDEN');
Grüße
Klaus

Moony 18. Mär 2009 13:49

Re: INI mit Schleife auslesen
 
So kannst du zumindest alle Sections auslesen und verwenden:

Delphi-Quellcode:
var VideoLst : TIniFile;
    Lst     : TStringList;
    i       : Integer;
begin
  VideoLst := TIniFile.Create(PChar(ExtractFilePath(ParamStr(0)) + 'files.ini'));
  Lst     := TStringList.Create;
  try
    VideoLst.ReadSections(Lst);
    for i := 0 to Lst.Count - 1 do
      // Videonamen z.b. in Listbox laden
      ListBox1.Items.Add(VideoLst.ReadString(Lst.Strings[i], 'Filmname', ''));
  finally
    Lst.Free;
    VideoLst.Free;
  end;
end;
So wie ich das sehe möchtest du aber beim anwählen eines filmes weitere Details anzeigen lassen. Dann solltest du das füllen der Liste global machen.

SoD 18. Mär 2009 13:59

Re: INI mit Schleife auslesen
 
Hmm... Ich werd das Gefühl nicht los, dass meine Struktur der INI unvorteilhaft sein könnte... Wenn ein neues Video hinzukommen sollte, soll halt nur die INI per Hand erweitert werden müssen und das Programm zeigt beim Nächsten Start einfach den neuen Eintrag mit an.

Meine verwendete INI ist folgendermaßen aufgebaut:

Code:
[Video1]
Path= {Pfad zum Video}
Name= {Titel, der in der ListBox erscheint}
Desc= {Beschreibungstext, der im Memo erscheint}

[Video2]
Path=
Name=
Desc=

[Video3]
Path=
Name=
Desc=
Könnte ich mit so einer Struktur evtl. auf Grund laufen?

DevilsCamp 18. Mär 2009 14:05

Re: INI mit Schleife auslesen
 
Sieht doch gut aus (auch wenn ich bei so einer Struktur ein XML-File vorziehen würde).
Über ReadSections holst du dir die Namen der einzelnen Sektionen. Den Inhalt der Listbox kannst du dann über eine for-Schleife. Im OnClick-Ereigniss der Listbox kannst du dir dann mit ReadString die entsprechenden Daten holen (Mit Hilfe des ItemIndexes und evtl. Format).

SoD 18. Mär 2009 14:10

Re: INI mit Schleife auslesen
 
Mit XML hab ich auch schon vorher rumgetüftelt, aber ich hab das nicht so recht gerafft, wie ich das XML als Datenquelle ausles und damit ListBox, Memo und MediaPlayer speise, sonst wär's mir auch lieber gewesen.

SoD 18. Mär 2009 14:35

Re: INI mit Schleife auslesen
 
Ich hab es mal mit folgender For-Schleife jetzt versucht:

Delphi-Quellcode:
procedure TForm1.ListBoxFilesClick(Sender: TObject);
var
  I: Integer;
begin
  VideoIni := TIniFile.Create(PChar(ExtractFilePath(ParamStr(0)) + 'files.ini'));
  for I := 0 to VideoIni.ReadInteger('Videoindex','Videos',0) - 1 do
    begin
      MemoDesc.Text := VideoIni.ReadSection('Desc','Desc');
      MediaPlayerControl.FileName := VideoIni.ReadSection('Paths','Path');
      MediaPlayerControl.Open;
    end;
Die INI hab ich auch verändert:

Code:
[Videoindex]
Videos=3

[Paths]
Path=
Path=
Path=

[Name]
Name=
Name=
Name=

[Desc]
Desc=
Desc=
Desc=
Nur bekomm ich jetzt "E2010 Inkompatible Typen: 'TStrings' und 'string'" bei

Delphi-Quellcode:
for I := 0 to VideoIni.ReadInteger('Videoindex','Videos',0) - 1 do
    begin
      MemoDesc.Text := VideoIni.ReadSection('Desc','Desc');                 //Hier und
      MediaPlayerControl.FileName := VideoIni.ReadSection('Paths','Path');  //Hier meldet Delphi Fehler
      MediaPlayerControl.Open;
    end;
Das sind die Fehler, von denen ich geredet hab. Er kompiliert es mir gar nicht erst, weil auf einmal Typen nicht mehr zusammenpassen.

Reinhardtinho 18. Mär 2009 14:40

Re: INI mit Schleife auslesen
 
Der Aufbau der Ini-Datei ist schon mal falsch:

Zitat:

Zitat von http://de.wikipedia.org/wiki/Initialisierungsdatei
Jeder Schlüssel darf nur einmal je Sektion vorkommen.


DevilsCamp 18. Mär 2009 14:43

Re: INI mit Schleife auslesen
 
Zitat:

Zitat von SoD
Nur bekomm ich jetzt "E2010 Inkompatible Typen: 'TStrings' und 'string'" bei

Delphi-Quellcode:
for I := 0 to VideoIni.ReadInteger('Videoindex','Videos',0) - 1 do
    begin
      MemoDesc.Text := VideoIni.ReadSection('Desc','Desc');                 //Hier und
      MediaPlayerControl.FileName := VideoIni.ReadSection('Paths','Path');  //Hier meldet Delphi Fehler
      MediaPlayerControl.Open;
    end;
Das sind die Fehler, von denen ich geredet hab. Er kompiliert es mir gar nicht erst, weil auf einmal Typen nicht mehr zusammenpassen.

ReadSection erwartet als zweiten Parameter eine Variable vom Typ TStrings. Also z.B. eine TStringList oder TListBox.Items

Blackheart 18. Mär 2009 14:48

Re: INI mit Schleife auslesen
 
Hier mal ein gutes Ini Tutorial

SoD 18. Mär 2009 14:55

Re: INI mit Schleife auslesen
 
Zitat:

Zitat von Blackheart
Hier mal ein gutes Ini Tutorial

Das Tutorial hab ich auch gelesen, als ich mit INIs angefangen hab. Das hat mir den Einstieg schon mal sehr erleichtert. :)

Zitat:

Zitat von DevilsCamp
ReadSection erwartet als zweiten Parameter eine Variable vom Typ TStrings. Also z.B. eine TStringList oder TListBox.Items

Und wenn ich versuch die ListBox.Items zu übergeben ist es auch wieder falsch.

Delphi-Quellcode:
ListBoxFiles.Items.Add(VideoIni.ReadSection('Name',ListBoxFiles.Items));
Dann heißt es "E2010 Inkompatible Typen: 'string' und 'procedure, untyped pointer or untyped parameter'". Eben wollte er doch nocht TStrings? :wiejetzt:

DevilsCamp 18. Mär 2009 15:01

Re: INI mit Schleife auslesen
 
ReadSection ist auch eine Prozedur. Keine Funktion.
Versuch es mal damit:

Delphi-Quellcode:
procedure Test;
var
  i: Integer;
  Sektionen: TStringList;
begin
  Sektionen := TStringList.Create;
  ListBoxFiles.Items.Clear;
  VideoIni.ReadSections(Sektionen); // Alle Sektionsnamen sind nun in Sektionen gespeichert.

  for i := 0 to Sektionen.Count - 1 do
  begin
    ListBoxFiles.Items.Add(VideoIni.ReadString(Sektionen[i], 'Name', Format('Unbekannter Name %d', [i])));
  end;
end;
[add]
Ich beziehe mich auf das INI-File Format aus Post #7

Blackheart 18. Mär 2009 15:02

Re: INI mit Schleife auslesen
 
Dann lies mal das Tutorial nochmal dann fällt dir auf was du falsch gemacht hast. :wink:

SoD 18. Mär 2009 15:27

Re: INI mit Schleife auslesen
 
Zitat:

Zitat von DevilsCamp
ReadSection ist auch eine Prozedur. Keine Funktion.
Versuch es mal damit:

Delphi-Quellcode:
procedure Test;
var
  i: Integer;
  Sektionen: TStringList;
begin
  Sektionen := TStringList.Create;
  ListBoxFiles.Items.Clear;
  VideoIni.ReadSections(Sektionen); // Alle Sektionsnamen sind nun in Sektionen gespeichert.

  for i := 0 to Sektionen.Count - 1 do
  begin
    ListBoxFiles.Items.Add(VideoIni.ReadString(Sektionen[i], 'Name', Format('Unbekannter Name %d', [i])));
  end;
end;
[add]
Ich beziehe mich auf das INI-File Format aus Post #7

Danke, der Code funktioniert schon ganz gut, aber er zeigt mir mehr Einträge an, als in der INI vorhanden sind. Woher kommt denn der 4. Eintrag auf einmal? Schimpft sich "Unbekannter Name 0".

Zitat:

Zitat von Blackheart
Dann lies mal das Tutorial nochmal dann fällt dir auf was du falsch gemacht hast. :wink:

Ich mach öfter was falsch :P Was genau meinst du denn?

nahpets 18. Mär 2009 15:44

Re: INI mit Schleife auslesen
 
Hallo,

Delphi-Quellcode:
for i := 0 to Sektionen.Count - 1 do
begin
  ListBoxFiles.Items.Add(VideoIni.ReadString(Sektionen[i], 'Name', Format('Unbekannter Name %d', [i])));
end;
Dir fehlt vermutlich auch das letzte Video :wink:
Deine Videos sind von 1 bis 3 nummeriert, die For-Schleife geht von 0 bis 2, Du musst also
Delphi-Quellcode:
ListBoxFiles.Items.Add(VideoIni.ReadString(Sektionen[i], 'Name', Format('Unbekannter Name %d', [i])));
durch
Delphi-Quellcode:
ListBoxFiles.Items.Add(VideoIni.ReadString(Sektionen[i + 1], 'Name', Format('Unbekannter Name %d', [i + 1])));
ersetzen.
Oder nummeriere die Video in der Ini-Datei auch mit 0 beginnend.

SoD 19. Mär 2009 11:06

Re: INI mit Schleife auslesen
 
OK, ich bin wieder auf das vorherige Schema für die INI zurückgegangen.

Code:
[Videoindex]
videos=3

[Video0]
Path=.\datei0.wmv
Name=Name 0
Desc=Beschreibung 0

[Video1]
Path=.\datei1.wmv
Name=Name 1
Desc=Beschreibung 1

[Video2]
Path=.\datei2.wmv
Name=Name 2
Desc=Beschreibung 2
Er zeigt mir aber dennoch einen Eintrag zu viel an.

Ich hab auch mit dem Konstrukt zum Auslesen der Dateieinträge versucht, die Videobeschreibungen zu laden, aber es kommt immer nur die Beschreibung der allerletzten Section dabei raus. Der Code:

Delphi-Quellcode:
procedure TForm1.ListBoxFilesClick(Sender: TObject);
var
  I: Integer;
  VideoFile : TStringList;
  VideoDesc : TStringList;
begin
  VideoIni := TIniFile.Create(PChar(ExtractFilePath(ParamStr(0)) + 'files.ini'));
  VideoFile := TStringList.Create;
  VideoDesc := TStringList.Create;
  VideoIni.ReadSections(VideoFile);
  VideoIni.ReadSections(VideoDesc);
  for i := 0 to VideoFile.Count -1 do
  begin
    MediaPlayerControl.FileName := VideoIni.ReadString(VideoFile[i],'Path','');
  end;
  for i := 0 to VideoDesc.Count - 1 do
  begin
    MemoDesc.Text := VideoIni.ReadString(VideoDesc[i],'Desc','');
  end;
Scheint so, als müsste ich etwas umformulieren?

nahpets 19. Mär 2009 11:12

Re: INI mit Schleife auslesen
 
Hallo,

na klar, Du überschreibst ja auch immer die Werte.

Statt
Delphi-Quellcode:
for i := 0 to VideoDesc.Count - 1 do
begin
  MemoDesc.Text := VideoIni.ReadString(VideoDesc[i],'Desc','');
end;
mal damit versuchen
Delphi-Quellcode:
MemoDesc.Lines.Clear;
for i := 0 to VideoDesc.Count - 1 do
begin
  MemoDesc.Lines.Add(VideoIni.ReadString(VideoDesc[i],'Desc',''));
end;

SoD 19. Mär 2009 12:14

Re: INI mit Schleife auslesen
 
Zitat:

Zitat von nahpets
mal damit versuchen
Delphi-Quellcode:
MemoDesc.Lines.Clear;
for i := 0 to VideoDesc.Count - 1 do
begin
  MemoDesc.Lines.Add(VideoIni.ReadString(VideoDesc[i],'Desc',''));
end;

D'oh! :wall:

Das hätte mir auffallen sollen.

Natürlich muss ich die Lines mit add füllen! :oops:

Danke!

[add]

Nanu? Aber wieso bringt er jetzt alle Beschreibungen aus jeder Section??? :shock:

nahpets 19. Mär 2009 13:25

Re: INI mit Schleife auslesen
 
Hallo,

weil Du in der Schleife alle Sections ausliest.
Willst Du nur die Beschreibung einer Section, darfst Du auch nur eine auslesen 8)
In der Schleife liest Du aber explizit alle Sections hintereinander aus.

SoD 19. Mär 2009 13:36

Re: INI mit Schleife auslesen
 
Wenn ich aber nur eine auslesen möchte, müsste ich das doch per
Delphi-Quellcode:
  case ListBoxFiles.ItemIndex of
    0:
    try
      MemoDesc.Text := VideoIni.ReadString('Video1','Desc','KEINE BESCHREIBUNG VORHANDEN');
      MediaPlayerControl.FileName := VideoIni.ReadString('Video1','Path','');
      MediaPlayerControl.Open;
    except
      error_with_file;
    end;
    1:
    try
      MemoDesc.Text := VideoIni.ReadString('Video2','Desc','KEINE BESCHREIBUNG VORHANDEN');
      MediaPlayerControl.FileName := VideoIni.ReadString('Video2','Path','');
      MediaPlayerControl.Open;
    except
      error_with_file;
    end;
    2:
    try
      MemoDesc.Text := VideoIni.ReadString('Video3','Desc','KEINE BESCHREIBUNG VORHANDEN');
      MediaPlayerControl.FileName := VideoIni.ReadString('Video3','Path','');
      MediaPlayerControl.Open;
    except
      error_with_file;
    end;
  end;
machen und dann ist die Vorgabe nicht erfüllt, nur die INI abzuändern, wenn ein neues Video hinzukommt.

Geht das überhaupt, dass bei Auswahl eines ItemIndex der Listbox automatisch die dazugehörige Beschreibung aus der INI gezogen wird, oder müsste ich das auch wieder in einer StringList speichern? :gruebel:

DeddyH 19. Mär 2009 13:38

Re: INI mit Schleife auslesen
 
Wieso sollte das nicht gehen?

SoD 19. Mär 2009 13:48

Re: INI mit Schleife auslesen
 
Weil dies das erste Mal ist, dass ich mit INIs arbeite und nicht sonderlich viel darüber weiß und auch nicht geübt darin bin. Deswegen bin ich für etwaige blöde Fragen zu entschuldigen. :wink:

Aber entweder hab ich nen Denkfehler oder ich kenn die Methode (noch) nicht, das ganze richtig anzusprechen.

Wenn ich nur eine Beschreibung auslesen will, kein Problem, statisch schaff ich das per Code.
Schwierig wird's erst, wenn das ganze automatisch ablaufen soll wie hier, dass eben nur eine Textdatei abgeändert werden soll und damit schon das ganze Programm gefüttert ist.

nahpets 19. Mär 2009 13:56

Re: INI mit Schleife auslesen
 
Hallo,

die Listbox musst Du auch aus der Ini befüllen. Dann ist der erste Eintrag in der Listbox für das erste Video, der 2. für's 2. und wenn Du in die Ini irgendwann mal 99 Videos eingefügt hast, dann hat auch die Listbox 99 Einträge.
Das Klicken auf die Listbox könnte dann eventuell so oder so ähnlich aussehen:
Delphi-Quellcode:
try
  MemoDesc.Text := VideoIni.ReadString('Video' + IntToStr(ListBoxFiles.ItemIndex),'Desc','KEINE BESCHREIBUNG VORHANDEN');
  MediaPlayerControl.FileName := VideoIni.ReadString('Video' + IntToStr(ListBoxFiles.ItemIndex),'Path','');
  MediaPlayerControl.Open;
except
  error_with_file;
end;
Die Listbox-Items könntest Du eventuell mit ini.ReadSections befüllen, sieht dann mit Video1, Video2... nicht so schön aus, Du könntest aber auch die Desc in die Items einfügen, dann siehst Du in der Listbox die Beschreibung.

Um das Ganze nicht zu kompliziert zu machen, nenne das erste Video = Video0, damit Du nicht immer zwischen Itemindex und Namen in der INI-Datei umrechnen musst.

DeddyH 19. Mär 2009 14:08

Re: INI mit Schleife auslesen
 
Irgendwie erscheint mir das Ganze unnötig kompliziert. Das müsste doch auch einfacher gehen.
Delphi-Quellcode:
//Einlesen der Sektionen
Ini.ReadSections(ListboxFiles.Items);

...

//Einlesen der Konfiguration des aktuellen Videos
if ListBoxFiles.ItemIndex > -1 then
  try
    MemoDesc.Text := VideoIni.ReadString(ListBoxFiles.Items[ListBoxFiles.ItemIndex],'Desc','KEINE BESCHREIBUNG VORHANDEN');
    MediaPlayerControl.FileName := VideoIni.ReadString(ListBoxFiles.Items[ListBoxFiles.ItemIndex],'Path','');
    MediaPlayerControl.Open;
  except
    error_with_file;
  end;

SoD 19. Mär 2009 14:40

Re: INI mit Schleife auslesen
 
Vielen Dank, nahpets! Der Code funktioniert. :thumb: Und den einen Eintrag zu viel hab ich noch selber los gekriegt. Einfach i mit 1 Initialisieren, bevor die Schleife losgeht, dann funktioniert es so, wie es soll. :D

Dein Konstrukt ist mir aber nicht ganz so schlüssig, DeddyH. So wie ich es verstehe, kommt es mir vor, als würde ich bei einer AccessViolation rauskommen, weil ich versuche aus dem Nichts zu lesen? Denn der Pfad steht immer noch in der INI und eine INI-Datei auszulesen funktioniert doch so:
Delphi-Quellcode:
MediaPlayerControl.FileName := VideoIni.ReadString({String:Welche Section?},{String:Welcher Wert der Section?},{Default-Wert, wenn es nichts zu lesen gibt});
Korrigier mich falls ich falsch liege, aber ich versteh dein Konstrukt so:
Delphi-Quellcode:
  try
  MemoDesc.Text := VideoIni.ReadString(ListBoxFiles.Items[ListBoxFiles.ItemIndex],'Desc','KEINE BESCHREIBUNG VORHANDEN');  //Lies die Section aus ListBoxFiles.Items (Aber seit wann hat .Items Sections wie eine INI?)
  MediaPlayerControl.FileName := VideoIni.ReadString(ListBoxFiles.Items[ListBoxFiles.ItemIndex],'Path','');  //Lies den Dateipfad aus ListBoxFiles.Items (In der Listbox stehen doch nur die Bezeichnungen der Videodateien und keine Pfade?)
  MediaPlayerControl.Open;
Ich bin natürlich dankbar, für jedes Codebeispiel und ich bemüh mich auch jedes zu verstehen, nur dieses hier ist mir halt bissl zu verwirrend (Worüber ich mich wunder hab ich ja als Kommentar in deinen Code eingefügt). In wie weit ist der einfacher, als der von nahpets? Das würde mich noch sehr interessieren! :glaskugel:

DeddyH 19. Mär 2009 14:50

Re: INI mit Schleife auslesen
 
In ListboxFiles.Items stehen nach meiner ersten Codezeile die Bezeichner der Sections drin. Den aktuell gewählten Eintrag erhält man über den ItemIndex, kann ihn also direkt im ReadString-Befehl angeben, und nichts anderes mache ich da. Du kannst Dir ja einmal den Inhalt ausgeben lassen, dann wird es vielleicht klarer.
Delphi-Quellcode:
if ListBoxFiles.ItemIndex > -1 then
  try
    ShowMessage(ListBoxFiles.Items[ListBoxFiles.ItemIndex]);
    MemoDesc.Text := VideoIni.ReadString(ListBoxFiles.Items[ListBoxFiles.ItemIndex],'Desc','KEINE BESCHREIBUNG VORHANDEN');
    MediaPlayerControl.FileName := VideoIni.ReadString(ListBoxFiles.Items[ListBoxFiles.ItemIndex],'Path','');
    MediaPlayerControl.Open;
  except
    error_with_file;
  end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz