Autor Beitrag
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: So 10.08.03 17:51 
Hallo,
warum kann folgende procedure keine mp3 oder wav dateien öffnen ?
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
var
  Datei,Datei2, Datei3, Datei4:TStream;
  i,len,Size:Integer;
  DateiHeader:String;
  Test:TSearchRec;
  CFTime, EFTime, RFTime:_FileTime;
  DL:String;
begin
  Datei  := TFileStream.Create(GetExeDir + 'temp\' + ExtractFileName(Filename)+'.tmp', fmCreate); // arichvname
  Datei2 := TFileStream.Create(GetExeDir + 'temp\header.tmp', fmCreate); // Header
  Datei3 := TFileStream.Create(FileName, fmCreate); // Dateiarichv
  len:=Strlen(Pchar(dl));

  Len:=Dateien.Count;
  Datei2.Write(Len, SizeOf(Len));
  dl:='a!' + '|';
  for i:=0 to Dateien.Count-1 do begin
    Datei4 := TFileStream.Create(Dateien.Strings[i], fmOpenRead);

    FindFirst(Dateien.Strings[i], faAnyFile,test);
    FileTimeToLocalFileTime(test.FindData.ftCreationTime, CFTime);
    FileTimeToLocalFileTime(test.FindData.ftLastWriteTime, EFTime);
    FileTimeToLocalFileTime(test.FindData.ftLastAccessTime, RFTime);
    DateiHeader:=Dateien.Strings[i] + ';'
                 + DateTimeToStr(FileTimeToDateTime(CFTime)) + ';' // erstellungs datum / Uhrzeit
                 + DateTimeToStr(FileTimeToDateTime(EFtime)) + ';' // letztes änderungs datum
                 + DateTimeToStr(FileTimeToDateTime(RFtime)) + ';' // Letzter (lese) zugriefs datum / Uhrzeit
                 + IntToSTr(test.Size) + ';' // Datei größe
                 + FileGetTypeName(Dateien.Strings[i]) + ';' // Datei beschreibung
                 + IntTostr(Datei.Position) + ';' // Datei Position
                 + IntTostr(Datei4.Size); // Endposition 
    Len:=StrLen(PChar(DateiHeader));
    Datei.CopyFrom(Datei4, Datei4.Size);


    dl:=dl + IntTostr(Datei2.Position) + ',' + InttoStr(Len) + '|' ;
    Datei2.Write(Pchar(DateiHeader)^,len);
    DateiHeader:='';
    Datei4.Free;

  end;

  Len:=StrLen(Pchar(DL));
  Datei2.Write(Len, SizeOf(Len));
  Datei2.Write(PChar(dl)^,Len);

  Len:=Datei2.Size;
  Datei3.Write(Len,SizeOF(Len));
  Datei3.CopyFrom(Datei2,0);

  Len:=Datei.Size;
  Datei3.Write(Len,SizeOF(Len));
                              
  Datei3.CopyFrom(Datei,0);
//  Datei.Free;
//  Datei2.Free;
//  Datei3.Fmree;
//  Datei4.Free;
  FindClose(test);

egal wie klein die datei ist, ist wird immer derselbe fehler ausgelöst:
Kann die Datei nicht öffnen.
dann habe ich es per FileExists versucht und die datei wurde gefunden, das ist also ein andrea fehler.

bmp, textdateien und bilder kann ich öffnen, werde es gleich nochma mit andren dateien versuchen:)

_________________
MFG
Michael Springwald, "kann kein englisch...."
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: So 10.08.03 18:40 
Du hast aber kein anderes Programm gerade laufen, das die MP3 Dateien nutzt?

Ansonsten würde ich es noch mit fmOpenRead or fmShareDenyWrite probieren.

_________________
Ist Zeit wirklich Geld?
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Mo 11.08.03 12:03 
ne leider hat es daran auch nicht gelegen...

_________________
MFG
Michael Springwald, "kann kein englisch...."
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Mi 13.08.03 13:12 
habs gelöst, weiß zwar nicht wie, aber es geht aufeinmal :)

_________________
MFG
Michael Springwald, "kann kein englisch...."