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); |