Sulphide
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: Ммммм, а то мешает сделать наследника от TStringBuilder и добавить в него SaveToFile c тупым Write(hFile, FData, Length)? | Ничего не мешает, просто надо, чтобы сначала эмба тебя окунула в свое говнецо, чтобы понять, что что-то не работает. Не так ли?!.. А вообще изначально любой здравомыслящий человек будет предполагать, что если в стандартной библиотеке есть некий объект и у объекта есть метод, то этот метод работает на 100%. Ну видимо тут я ошибаюсь и у некоторых метод может работать чуть-чуть или на половину или вообще не работать... Это-то и печально. Цитата: А в чем сложность 5000 файлов залить по одному? Зачем вообще все сливать в один поток, если вдруг на предпоследней строчке | Проект больше был как эксперимент, определенной цели не стояло. Ну разве что саморазвития для. Просил друг. До этого с БД фактически не работал ни разу. Заливалось в базу ms access. Никаких проблем залить в 16, например, потоков нет, но цели такой не стояло, для начала надо было сделать, чтобы работало. Вся работа через ADO. Сам access у меня не стоит, поставил только x64 рантайм от MS для Access. Создание базы через OLE. Провайдер ACE.16.0. Проблем особых нет, ну разве что заливка в базу через append длилась 7 часов для 2.5млн записей - это без преобразования в csv, а напрямую поэлементно из xml. Поэтому и переделал на bulk upload, тоесть xml -> csv -> бд. Тут проблем со скоростью вообще нет. Цитата: Если вас что то не устраивает, то напишите на quality.embarcadero.com, в чем проблема? | Цитата: Упаковка всего объёма в одну строку - тоже неадекватное действие. Но судя по периодическим обсуждениям, никто это трогать пока не собирается. | зы тема-то про обсуждение новых возможностей и багов, вот и обсуждаем. Вдруг кому пригодится. зыы в итоге в конце, было решено, что учить человека работе с БД и выборки из нее - это лишнее и все залилось в одну xlsx книгу с тремя листами... 200+ мб xlsx файлик... ну как говорится хозяин - барин.))) Мда... Тут вообще "произведение искусства" просто: function TStrings.Add(const S: string): Integer; begin Result := GetCount; Insert(Result, S); end; procedure TStrings.Append(const S: string); begin Add(S); end; Вот так думаешь - "Ок, Append не возвращает результата, ну наверное работает быстрее, чем Add и в гигантских циклах он обязателен, ведь нам же не нужен результат индекса"... *а эмба тихо ржет за углом* Ну почему нельзя написать procedure TStrings.Append(const S: string); begin Insert(GetCount, S); end; ??? Зачем еще один вызов? Треш и угар... А в fpc по-моему вообще не заморачиваются и тупо копируют исходники у дельфей, потому что 1 в 1. | Всего записей: 279 | Зарегистр. 20-03-2008 | Отправлено: 23:17 11-09-2018 | Исправлено: Sulphide, 06:44 12-09-2018 |
|