これがないと実機ではエラーがでる
FileMode := fmOpenRead ;
procedure THistoricalList.saveBinary(aFileName: String); var i: integer; F: file of TOHLCRecord; tmpOHLCRecord: TOHLCRecord; begin AssignFile(F, aFileName); ReWrite(F); // ファイルのヘッダー情報を open に書き込む tmpOHLCRecord.high := 0; tmpOHLCRecord.low := 0; tmpOHLCRecord.close := 0; // 0 THIS_PROGRAM_VERSION tmpOHLCRecord.open := THIS_PROGRAM_VERSION; Write(F, tmpOHLCRecord); // 1 Pair tmpOHLCRecord.open := Self.Pair.serial; Write(F, tmpOHLCRecord); // 2 timeStep tmpOHLCRecord.open := timeStep.serial; Write(F, tmpOHLCRecord); // 3 IsConsecutiveData tmpOHLCRecord.open := StrToInt(BoolToStr(Self.IsConsecutiveData)); Write(F, tmpOHLCRecord); // 4 Count tmpOHLCRecord.open := Self.Count; Write(F, tmpOHLCRecord); for i := 5 to BINARYHEADER_COUNT - 1 do begin tmpOHLCRecord.open := -1; Write(F, tmpOHLCRecord); end; for i := 0 to self.Count - 1 do begin tmpOHLCRecord.IDateTimeValue := self.Items[i].IDateTime.Value; tmpOHLCRecord.open := self.Items[i].PipOpen; tmpOHLCRecord.high := self.Items[i].PipHigh; tmpOHLCRecord.low := self.Items[i].PipLow; tmpOHLCRecord.close := self.Items[i].PipClose; Write(F, tmpOHLCRecord); end; CloseFile(F); end; procedure THistoricalList.loadBinary(aFileName: String); var i: integer; F: file of TOHLCRecord; tmpOHLCRecord: TOHLCRecord; counter: Integer; tmpRecord: THistoricalRecord; tmpStartDateTimeValue: Integer; tmpEndDateTimeValue: Integer; tmpIsConsecutiveData: Boolean; tmpCounter: Integer; begin AssignFile(F, aFileName); FileMode := fmOpenRead ; // Reset(F); // if tmpFlag then ShowMessage('Exists') else ShowMessage('NOT Exists'); // 0 THIS_PROGRAM_VERSION Read(F, tmpOHLCRecord); // 1 Pair Read(F, tmpOHLCRecord); Self.pair.serial := tmpOHLCRecord.open; // 2 timeStep Read(F, tmpOHLCRecord); Self.TimeStep.serial := tmpOHLCRecord.open; // 3 IsConsecutiveData Read(F, tmpOHLCRecord); tmpIsConsecutiveData := StrToBool(IntToStr(tmpOHLCRecord.open)); // 4 Count Read(F, tmpOHLCRecord); tmpCounter := tmpOHLCRecord.open; // 空読み for i := 5 to BINARYHEADER_COUNT - 1 do Read(F, tmpOHLCRecord); SetLength(Self.Items, tmpCounter); for i := 0 to tmpCounter - 1 do begin Read(F, tmpOHLCRecord); tmpRecord.IDateTime.Value := tmpOHLCRecord.IDateTimeValue; tmpRecord.PipOpen := tmpOHLCRecord.open; tmpRecord.PipHigh := tmpOHLCRecord.high; tmpRecord.PipLow := tmpOHLCRecord.low; tmpRecord.PipClose := tmpOHLCRecord.close; Self.Items[i].Assign(tmpRecord); end; CloseFile(F); end;