実機テストでテキストファイルを読めるようになったが・・・
データ数は40000ぐらい。
Win32 では1秒
iOS simulator では20秒
実機テストでは20分はかかる。
大きいデータではこの方法は無理。
InterBase を使う方向で考える。
procedure TWordList.Load(aPathFileName: string);
var
i: Integer;
tmpWordRecord: TWordRecord;
tmpRecordList: TStringList;
tmpFieldList: TStringList;
tmpString: String;
begin
// DeleteFile(aPathFileName);
self.Clear;
if FileExists(aPathFileName) then
begin
tmpFieldList := TStringList.Create;
tmpRecordList := TStringList.Create;
tmpRecordList.LoadFromFile(aPathFileName);
for i := 0 to tmpRecordList.Count - 1 do
begin
tmpFieldList.Delimiter := chr(DEMILITR_CHR);
tmpFieldList.StrictDelimiter := False;
tmpString := tmpRecordList[i];
tmpFieldList.DelimitedText := tmpString;
tmpWordRecord.Word := trim(tmpFieldList[0]);
tmpWordRecord.Japanese := trim(tmpFieldList[1]);
tmpWordRecord.Japanese := StringReplace(tmpWordRecord.Japanese, chr(ESCAPE_COMMA_CHR), ',', [rfReplaceAll]);
tmpWordRecord.Japanese := StringReplace(tmpWordRecord.Japanese, chr(ESCAPE_SPACE_CHR), ' ', [rfReplaceAll]);
self.AddItem(tmpWordRecord);
end;
tmpRecordList.Free;
tmpFieldList.Free;
end;
end;