Einzelnen Beitrag anzeigen

Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#11

Re: kleines CarPC Programm

  Alt 23. Sep 2006, 21:32
Hi,

ist ein recht gutes Programm

Verbesserungsvorschläge:
- Bau eine Titelleiste zum Verschieben ein
- Stelle dem Benutzer die Schriftgröße frei
- Speichern und Laden von ASX und M3U Listen
So sieht ASX 3.0 aus:
Code:
<ASX version="3.0">
 <ENTRY><REF href="Pfad1" /></ENTRY>
 <ENTRY><REF href="Pfad2" /></ENTRY>
 <ENTRY><REF href="Pfad3" /></ENTRY>
 <ENTRY><REF href="Pfad4" /></ENTRY>
</ASX>
M3U findest du über Google.

Da ich gerade viel Zeit habe:
Delphi-Quellcode:
const
  ASXStart = '<ASX version="3.0">';
  ASXItemStart = '<ENTRY><REF href="';
  ASXItemEnd = '" /></ENTRY>';

function TfrmMain.LoadASX(const asxfile : string):TDynStrArray;
var
  lines : TStringList;
  music : TStringList;
  a, i, j : Integer;
  erstes, zweites : integer;
  p, line : String;
const
  x : string = 'HREF';
begin
  lines := TStringList.Create();
  lines.LoadFromFile(asxfile);
  
  music := TStringList.Create;

  for i := 0 to pred(lines.Count) do
  begin
    line := UpperCase(lines[i]);
    a := pos(x,line);
    if (a >= 1) then
    begin
      erstes := Pos('"', line)+1;
      zweites := PosEx('"', line, erstes);
      if zweites > erstes then
      begin
        p := copy(line,erstes,zweites - erstes);
        music.Add(p);
      end;
    end;
  end;
  lines.Free;
  setlength(result, music.count);
  for j := 0 to pred(music.count) do
  begin
    result[j] := music[j];
  end;
  music.Free;
end;

procedure TfrmMain.SaveASX(Filename: string);
var
  StringList: TStringList;
  i: integer;
begin
  StringList := TStringlist.Create;
  try
    Stringlist.add(ASXStart);
    for i := 0 to length(ffiles) - 1 do
    begin
      Stringlist.add(ASXItemStart + ffiles[i].pfad + ASXItemEnd);
    end;
    Stringlist.Add('</ASX>');
    Stringlist.SaveToFile(Filename);
  finally
    StringList.Free;
  end;
end;
Daraus kannst du dir einige Playlistenformate basteln

Es ist sehr schön und gut, dass du die bass.dll (das hätte ich nicht im ersten Programm geschafft!) anstelle der MediaPlayer-Komponente oder sonstigen Komponenten benutzt wurden
  Mit Zitat antworten Zitat