Subversion Repositories spacemission

Rev

Rev 16 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 16 Rev 57
Line 3241... Line 3241...
3241
begin
3241
begin
3242
  Result := Collection as TMusicListCollection;
3242
  Result := Collection as TMusicListCollection;
3243
end;
3243
end;
3244
 
3244
 
3245
procedure TMusicListCollectionItem.SaveToFile(const MidiFileName: string);
3245
procedure TMusicListCollectionItem.SaveToFile(const MidiFileName: string);
3246
var F: file;
3246
var F: file; BakFileMode: integer;
3247
begin
3247
begin
-
 
3248
  BakFileMode := FileMode;
-
 
3249
  FileMode := 1; // Read/Write
-
 
3250
  try
3248
  AssignFile(F, MidiFileName);
3251
    AssignFile(F, MidiFileName);
3249
  Rewrite(F, 1);
3252
    Rewrite(F, 1);
3250
  try
3253
    try
3251
    BlockWrite(F, FMusicDataProp.FMusicData[1], Length(FMusicDataProp.FMusicData));
3254
      BlockWrite(F, FMusicDataProp.FMusicData[1], Length(FMusicDataProp.FMusicData));
3252
  finally
3255
    finally
3253
    CloseFile(F);
3256
      CloseFile(F);
3254
  end;
3257
    end;
-
 
3258
  finally
-
 
3259
    FileMode := BakFileMode;
-
 
3260
  end;
3255
end;
3261
end;
3256
 
3262
 
3257
procedure TMusicListCollectionItem.LoadFromFile(const MidiFileName: string);
3263
procedure TMusicListCollectionItem.LoadFromFile(const MidiFileName: string);
3258
var F: file; S: string; I: Integer;
3264
var F: file; S: string; I: Integer; BakFileMode: integer;
3259
begin
3265
begin
-
 
3266
  BakFileMode := FileMode;
-
 
3267
  FileMode := 0; // Read only
-
 
3268
  try
3260
  AssignFile(F, MidiFileName);
3269
    AssignFile(F, MidiFileName);
3261
  Reset(F, 1);
3270
    Reset(F, 1);
3262
  try
3271
    try
3263
    SetLength(FMusicDataProp.FMusicData, FileSize(F));
3272
      SetLength(FMusicDataProp.FMusicData, FileSize(F));
3264
    BlockRead(F, FMusicDataProp.FMusicData[1], FileSize(F));
3273
      BlockRead(F, FMusicDataProp.FMusicData[1], FileSize(F));
Line 3268... Line 3277...
3268
    FMusicDataProp.Midiname := S;
3277
      FMusicDataProp.Midiname := S;
3269
  finally
3278
    finally
3270
    CloseFile(F);
3279
      CloseFile(F);
3271
  end;
3280
    end;
3272
  Name := ExtractFileName(MidiFileName);
3281
    Name := ExtractFileName(MidiFileName);
-
 
3282
  finally
-
 
3283
    FileMode := BakFileMode;
-
 
3284
  end;
3273
end;
3285
end;
3274
 
3286
 
3275
function TMusicListCollectionItem.Size: Integer;
3287
function TMusicListCollectionItem.Size: Integer;
3276
begin
3288
begin
3277
  Result := Length(FMusicDataProp.FMusicData);
3289
  Result := Length(FMusicDataProp.FMusicData);