AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Lauftext arbeitet nicht korrekt

Ein Thema von Nils_13 · begonnen am 24. Jul 2006 · letzter Beitrag vom 25. Jul 2006
Antwort Antwort
Seite 1 von 2  1 2      
Nils_13

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

Lauftext arbeitet nicht korrekt

  Alt 24. Jul 2006, 13:41
Hi,

ich habe eine Methode einen Lauftext zu erstellen hier in der DP gefunden. Ich suche über einen Typen den Titel und den Artisten eines Liedes heraus. Ich möchte dann beides in folgender Form in einen Lauftext unterbringen: Artist - Titel.
Bei folgendem Code steht aber nur der Artist da, aber nicht der Titel. Warum ?
Delphi-Quellcode:
lLauftext.Caption := fFiles[lbList.ItemIndex].Artist + ' - ' + fFiles[lbList.ItemIndex].Titel;
// Artist und Titel sind auf jeden Fall vorhanden

procedure TfrmMain.tLauftextTimer(Sender: TObject);
var
  hilf, hilfbuchstabe : String;
begin
  if BASS_ChannelIsActive(chan) = BASS_ACTIVE_PLAYING then
  begin
    hilf := lLauftext.Caption;
    hilfbuchstabe := hilf[1];
    delete(hilf, 1, 1);
    hilf := hilf + hilfbuchstabe;
    lLauftext.Caption := hilf;
    Application.ProcessMessages;
  end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Daniel B
Daniel B

Registriert seit: 27. Okt 2005
Ort: Dachau
453 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Lauftext arbeitet nicht korrekt

  Alt 24. Jul 2006, 13:44
Suche mal in der Code-Lib nach "lauftext" und "laufschrift", da gibt es drei Beispiele.
Servus...
  Mit Zitat antworten Zitat
Nils_13

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

Re: Lauftext arbeitet nicht korrekt

  Alt 24. Jul 2006, 13:45
Keines der Beispiele funktioniert mit der ID3-Tag-Zuweisung.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Lauftext arbeitet nicht korrekt

  Alt 24. Jul 2006, 14:09
Hallo Nils,

es kommt darauf an, wie du das Feld Artist gefüllt hast. Setze einen break point vor der ersten Zuweisung an lLaufText.Caption und schau dir den Inhalt mal an:

Delphi-Quellcode:
var
  s: String;
begin
  ...
  with fFiles[lbList.ItemIndex] do
  begin
    s := Artist + ' - ' + Titel;
    lLauftext.Caption := s; // hier anhalten und s inspizieren
  end;
  ...
end;
Vermutlich hast du es geschafft einen gezählten string terminator (#0) an das Ende von Artist du pappen.

Grüße vom marabu
  Mit Zitat antworten Zitat
Nils_13

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

Re: Lauftext arbeitet nicht korrekt

  Alt 24. Jul 2006, 16:01
Ja, da sind mehrere #0. Wie bekomme ich die weg ?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Lauftext arbeitet nicht korrekt

  Alt 24. Jul 2006, 16:04
Am Besten ist es, du lässt sie erst garnicht hinein gelangen. Schau dir mal akribisch den Code an, mit dem du die Felder Artist und Titel füllst.

marabu
  Mit Zitat antworten Zitat
Nils_13

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

Re: Lauftext arbeitet nicht korrekt

  Alt 24. Jul 2006, 19:31
Ich habe keinen Fehler gefunden, vielleicht findet ihr ja einen:
Delphi-Quellcode:
procedure TfrmMain.AddFiles(files : Array of String);
var
  len : integer;
  i : integer;
begin
  len := Length(fFiles);
  SetLength(fFiles, len + Length(files));
  for i := 0 to pred(length(files)) do
  begin
    fFiles[len+i] := ReadID3Tag(files[i]);
  end;
  UpdateListBox;
end;

procedure TfrmMain.UpdateListBox;
var
  i : integer;
begin
  lbList.Items.BeginUpdate;
  lbList.Clear;
  for i := 0 to pred(length(fFiles)) do
  begin
    lbList.Items.Add(trim(fFiles[i].Artist) + ' - ' + trim(fFiles[i].Titel));
  end;
  lbList.Items.EndUpdate;
end;
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Lauftext arbeitet nicht korrekt

  Alt 24. Jul 2006, 20:16
...kann es sein, das die mp3 verschiede Versionen des ID3 Tags
haben? Es gibt Unterschiede zwischen ID3TagV2 und ID3TagV3.2
Vgl. hier: http://de.wikipedia.org/wiki/ID3-Tag

lbList.Items.Add(trim(fFiles[i].Artist) + ' - ' + trim(fFiles[i].Titel))

Wie schauen denn die Variablen ....Artist und ...Titel aus wenn Du sie Dir mit
Ctrl-F5 anschaust?

Kannst Du die ReadId3Tag Funktion auch noch einstellen?

Aus einem Projekt von mir lese ich die ID3Tags so ein:

Delphi-Quellcode:
procedure FillID3TagInformation(mp3File:string;VAR ID3:TID3Rec);
var //fMP3: file of Byte;
    id3v2Tag : TID3v2;
begin

  id3v2Tag := TID3v2.Create;

  if id3v2tag.ReadFromFile(mp3File) then
    begin
      id3.Title:='';
      id3.Artist:='';
      id3.Album:='';

      id3.title:=id3v2tag.Title;
      id3.artist:=id3v2tag.artist;
      id3.album:=id3v2tag.album;

      if id3.artist = 'then
        id3.artist := 'no artist';
      if id3.Album = 'then
        id3.Album:= 'no album';
      if id3.Title = 'then
        id3.Title := 'no title';
    end;

  id3v2Tag.Free;

end;
Die angehängte Unit wird dazu benötigt.


Grüße
Klaus
Angehängte Dateien
Dateityp: pas id3v2_170.pas (15,0 KB, 3x aufgerufen)
Klaus
  Mit Zitat antworten Zitat
Nils_13

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

Re: Lauftext arbeitet nicht korrekt

  Alt 24. Jul 2006, 22:05
Hm, ich möchte eigentlich bei meiner Methode bleiben, damit bin ich auch eigentlich zufrieden, aber ich weiß nicht, wie ich die #0-Zeichen da rausholen kann.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: Lauftext arbeitet nicht korrekt

  Alt 24. Jul 2006, 22:59
Hallo Nils,

Klaus hat es ja schon konkret angefragt:

fFiles[len+i] := ReadID3Tag(files[i]); Mit der Routine ReadID3Tag() scheinst du die low values in die Strings der Struktur ID3Tag hinein zu bringen - dort musst du suchen oder den Code für die Routine mal zeigen.

Gute Nacht

marabu
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 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