AGB  ·  Datenschutz  ·  Impressum  







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

Probleme mit ListView in HTML Speichern

Ein Thema von Flom · begonnen am 11. Feb 2007 · letzter Beitrag vom 12. Feb 2007
Antwort Antwort
Flom

Registriert seit: 19. Sep 2006
126 Beiträge
 
#1

Probleme mit ListView in HTML Speichern

  Alt 11. Feb 2007, 17:09
Hallo,
Ich habe Probleme wenn ich Daten von einem ListView in HTML Speichere (jedoch nur mit dem FireFox).
Ich benutze erst mal folgende Funktion zum Auslesen von ID3 Tags (ich glaube daher kommt der, ich finde den Fehler nur nicht) .
http://www.dsdt.info/tipps/?id=349&search=id3

Und speichern tue ich es so:
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var LCount1, LCount2: Integer;
    LListe: TStringlist;
    LStr: String;
begin
if SaveDialog1.Execute then

  begin
    LListe := TStringlist.Create;
    LListe.Add('MP3 Lister
');
    LListe.Add('Insgesamt: '+IntToStr(ListView1.Items.Count)+' MP3s.
');
    LListe.Add('
');
    for LCount1 := 0 to ListView2.Items.Count - 1 do
    begin
      LStr := ListView1.Items.Item[LCount1].Caption;
      for LCount2 := 0 to ListView2.Items.Item[LCount1].SubItems.Count - 1 do
        LStr := LStr + '-' + Listview1.Items.Item[LCount1].SubItems.Strings[LCount2]+'
';
      LListe.Add(LStr);
    end;
    LListe.SaveToFile(SaveDialog1.FileName);
    LListe.Free;
  end;
end;
Ich erhalte folgende Ausgabe s. Anhang diese Vierecke jedoch bekomme ich das eben nicht beim IE sowie am Ende oder mitten drin immer Symbol reihen (auch siehe Bild).

Hat wer eine Idee?
Miniaturansicht angehängter Grafiken
k_stchen_587.jpg  
  Mit Zitat antworten Zitat
marabu

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

Re: Probleme mit ListView in HTML Speichern

  Alt 11. Feb 2007, 17:27
Hallo,

der gezeigte Code verursacht den Fehler nicht. Bei der Beschaffung der Strings aus dem ID3-Tag hast du wahrscheinlich zuviele Zeichen übernommen. Wahrscheinlich sind sie abgezählt - dann darfst du nur die entsprechende Anzahl übernehmen.

Grüße vom marabu
  Mit Zitat antworten Zitat
Flom

Registriert seit: 19. Sep 2006
126 Beiträge
 
#3

Re: Probleme mit ListView in HTML Speichern

  Alt 11. Feb 2007, 17:33
eigentlich lass ich nichts abzählen woher ich nicht weiß, woher es kommen sollte
Ein wahrhaft großer Mann wird weder einen Wurm zertreten noch vor dem Kaiser kriechen.

Benjamin Franklin
17.01.1706 - 17.04.1790
  Mit Zitat antworten Zitat
marabu

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

Re: Probleme mit ListView in HTML Speichern

  Alt 11. Feb 2007, 17:40
Zeige mal den Code, mit dem du die Angaben aus dem Tag übernimmst. Auch die Typen der beteiligten Variablen. Im ID3-Tag stehen die Daten offensichtlich (DSDT-Link) mit einem Längenbyte.
  Mit Zitat antworten Zitat
Flom

Registriert seit: 19. Sep 2006
126 Beiträge
 
#5

Re: Probleme mit ListView in HTML Speichern

  Alt 11. Feb 2007, 17:50
ich habe hier die längen weg genommen
Delphi-Quellcode:
type
  TID3Tag = record
    ID: string[3];
    Titel: string;
    Artist: string;
    Album: string;
    Year: string[4];
    Comment: string;
    Genre: byte;
    dauer: longint; //in sekunden;
    sample: integer;
    bits: byte;
    vers: byte;
    layers: byte;
end;

const
  MPEG_BIT_RATES : array[1..3] of array[1..3] of array[0..15] of word =
  { Version 1, Layer I }
    (((0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,0),
  { Version 1, Layer II }
    (0,32,48,56, 64, 80, 96,112,128,160,192,224,256,320,384,0),
  { Version 1, Layer III }
    (0,32,40,48, 56, 64, 80, 96,112,128,160,192,224,256,320,0)),
  { Version 2, Layer I }
    ((0,32,48, 56, 64, 80, 96,112,128,144,160,176,192,224,256,0),
  { Version 2, Layer II }
    (0, 8,16,24, 32, 40, 48, 56, 64, 80, 96, 112,128,144,160,0),
  { Version 2, Layer III }
    (0, 8,16,24, 32, 40, 48, 56, 64, 80, 96, 112,128,144,160,0)),
  { Version 2.5, Layer I }
    ((0,32,48, 56, 64, 80, 96,112,128,144,160,176,192,224,256,0),
  { Version 2.5, Layer II }
    (0, 8,16,24, 32, 40, 48, 56, 64, 80, 96, 112,128,144,160,0),
  { Version 2.5, Layer III }
    (0, 8,16,24, 32, 40, 48, 56, 64, 80, 96, 112,128,144,160,0)));

  sample_rates: array[1..3] of array [0..3] of word=
    ((44100,48000,32000,0),
    (22050,24000,16000,0),
    (11025,12000,8000,0));
Hiermit erstelle ich die liste nach Feld eintrag

Delphi-Quellcode:
procedure TForm1.CreateFileList(Dir, Ext: String; UseSubDirs: Boolean);
var
SR: TSearchRec;
Item: TListItem;

begin
If FindFirst(Dir + '*.*', faAnyFile, SR) = 0 then
Repeat
  If (SR.Attr and faDirectory = faDirectory) and (SR.Name <> '.') and (SR.Name <> '..') and (UseSubDirs) then CreateFileList(IncludeTrailingPathDelimiter(Dir + SR.Name), Ext, UseSubDirs)
  Else If LowerCase(ExtractFileExt(SR.Name)) = LowerCase(Ext) then
   begin
    Application.ProcessMessages;
    ///////////////////////////////////////////////
    Item := ListView1.Items.Add;
    ///////////////////////////////////////////////
    Lese_ID3Tag(Dir + SR.Name);
    Item.Caption := ID3Tag.Artist;
    Item.SubItems.Add(ID3Tag.Titel);
    Item.SubItems.Add(ID3Tag.Album);
    Item.SubItems.Add(SR.Name);
    //Item.SubItems.Add(Dir);
    ///////////////////////////////////////////////
    Item := ListView2.Items.Add;
    Item.Caption := artist;
    Item.SubItems.Add(titel);
   end;
   Label2.Caption:='Aktion: Suche Dateien';
Until FindNext(SR) <> 0;
FindClose(SR);
Label2.Caption:='Aktion: Fertig';
end;
Beginn der Suche:
Delphi-Quellcode:
procedure TForm1.SucheClick(Sender: TObject);
begin
artist:=ID3Tag.Artist;
titel:=ID3Tag.Titel;
ListView1.Clear;
ListView2.Clear;
if CheckBox_MP3.Checked = True then
CreateFileList(quelle + '\', '.mp3', CheckBox1.Checked);
if CheckBox_WMA.Checked = True then
CreateFileList(quelle + '\', '.wma', CheckBox1.Checked);
Label1.Caption:='Insgesamt: '+IntToStr(ListView1.Items.Count);
//////////////////////////////////////////////////////////////
ColumnToSort := 0; //hier also der Index der Spalte, nach der Sortiert werden soll
ColumnToSort2 := 2;
ColumnToSort3 := 1;
ListView1.AlphaSort;
end;
Ein wahrhaft großer Mann wird weder einen Wurm zertreten noch vor dem Kaiser kriechen.

Benjamin Franklin
17.01.1706 - 17.04.1790
  Mit Zitat antworten Zitat
marabu

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

Re: Probleme mit ListView in HTML Speichern

  Alt 11. Feb 2007, 18:05
Du darfst die Längen nicht einfach wegnehmen. String[3] reserviert Platz für einen String mit einem Längenbyte und maximal drei Zeichen Inhalt. String als Typ ist etwas ganz anderes, auch wenn du beim Arbeiten damit nicht sofort etwas merkst.

Freundliche Grüße
  Mit Zitat antworten Zitat
Flom

Registriert seit: 19. Sep 2006
126 Beiträge
 
#7

Re: Probleme mit ListView in HTML Speichern

  Alt 12. Feb 2007, 15:25
es ist egal ob ich diese weg nehme oder gar da sind!
Das Problem ist das selbe... wenn ich jedoch es als txt datei speichere und dort dann in html geht es... ich versteh nur nicht wieso


kann wer sagen ob man auch id3v2 irgendwie auslesen kann?
Ein wahrhaft großer Mann wird weder einen Wurm zertreten noch vor dem Kaiser kriechen.

Benjamin Franklin
17.01.1706 - 17.04.1790
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:13 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