Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Внизподойдет ли TStringList? Найти похожие ветки
← →
Delphist2 (2010-05-27 11:54) [0]Есть задача хранить список строк, кот. загружаются в визуальный контрол из файла при загрузке программы. Пользователь может добавлять, изменять и удалять строки. Изменения отображаются и в файле. Количество строк измеряется тысячами. Вопрос: в случае, если удалилась допустим предпоследняя строка, метод TStringList.savetofile перезапишет весь файл или же только пару последних строк?
← →
Плохиш © (2010-05-27 12:05) [1]
> метод TStringList.savetofile перезапишет весь файл или же
> только пару последних строк?
SaveToFile перезаписывает всегда весь файл, мог бы и в исходниках посмотреть.
← →
brother © (2010-05-27 12:07) [2]
procedure TStrings.SaveToFile(const FileName: string);
var
Stream: TStream;
begin
Stream := TFileStream.Create(FileName, fmCreate);
try
SaveToStream(Stream);
finally
Stream.Free;
end;
end;
Фирштеин?
← →
brother © (2010-05-27 12:07) [3]опередил ;)
← →
Игорь Шевченко © (2010-05-27 12:11) [4]
> подойдет ли TStringList?
не подойдет
← →
Anatoly Podgoretsky © (2010-05-27 12:16) [5]> Delphist2 (27.05.2010 11:54:00) [0]
А справка для чего?
← →
brother © (2010-05-27 12:16) [6]> А справка для чего?
с инглишем туго?
← →
Delphist2 (2010-05-27 12:18) [7]brother
А TStream в этом смысле более оптимизирован?
← →
Anatoly Podgoretsky © (2010-05-27 12:20) [8]Мне кажется, что и TStringList лишний, при наличии визуально компонента.
← →
brother © (2010-05-27 12:21) [9]> А TStream в этом смысле более оптимизирован?
ты о чем? О_о
← →
Delphist2 (2010-05-27 12:22) [10]О том, будет ли перезаписываться весь файл или же часть файла
← →
brother © (2010-05-27 12:24) [11]1. [4]
2. [1]
← →
Медвежонок Пятачок © (2010-05-27 12:24) [12]тебе какая разница?
весь или не весь.
← →
brother © (2010-05-27 12:25) [13]на [7]
вегда будет перезаписывать...
← →
Delphist2 (2010-05-27 12:28) [14]Какое решение тогда лучше? Не БД же создавать с ед. таблицей и ед. полем. А весь файл перезаписывать долго.
← →
Anatoly Podgoretsky © (2010-05-27 12:28) [15]> brother (27.05.2010 12:25:13) [13]
Можно написать overloaded версию
← →
Медвежонок Пятачок © (2010-05-27 12:28) [16]А весь файл перезаписывать долго.
Сравни время сохранения стринглиста с тысячей строк со временем манипуляций юзера с этим списком строк.
например добавление пары строк и удаление одной.
а так же с частотой этих манипуляций в день.
← →
brother © (2010-05-27 12:29) [17]можно, но не нужно - это уже другое)
зы Дядя Толя, как всегда в своем стиле)))))
← →
brother © (2010-05-27 12:34) [18]имхо в начинающих проктологией и оптимизацией кода лучше не заниматься...
← →
Демо © (2010-05-27 13:35) [19]
> Delphist2 (27.05.10 11:54)
> Есть задача хранить список строк, кот. загружаются в визуальный
> контрол из файла при загрузке программы. Пользователь может
> добавлять, изменять и удалять строки. Изменения отображаются
> и в файле. Количество строк измеряется тысячами. Вопрос:
> в случае, если удалилась допустим предпоследняя строка,
> метод TStringList.savetofile перезапишет весь файл или
> же только пару последних строк?
1. Файл читается и записывется только полностью.
Подойдёт или не подойдёт TStringList - решать тебе.
Для этого ответь себе на вопросы:
- приемлемо ли время чтения/записи файла?
- как часто происходит запись?
- приемлемо ли время вставки/обновления/удаления записей из TStringList и как часто это происходит?
Ответив на эти вопросы сам поймёшь - устраивает тебя эта технология или нет.
← →
Демо © (2010-05-27 13:57) [20]А для отображения информации и редактирования можно использовать DrawGrid, например.
← →
Anatoly Podgoretsky © (2010-05-27 16:02) [21]> brother (27.05.2010 12:29:17) [17]
Я предлагаю профессиональное решение.
← →
brother © (2010-05-28 04:39) [22]> профессиональное решение
в начинающих?
← →
Anatoly Podgoretsky © (2010-05-28 09:05) [23]> brother (28.05.2010 04:39:22) [22]
Так они же не дураки, а начинающие
← →
brother © (2010-06-01 05:03) [24]> Так они же не дураки, а начинающие
судя по [7], мат часть хромает, будете учить? или в гугл отошлете?
← →
Плохиш © (2010-06-01 10:55) [25]
> будете учить? или в гугл отошлете?
Обычно, после пятого поста можно просто посылать...
← →
Anatoly Podgoretsky © (2010-06-01 12:46) [26]без всякого гугла.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.07 c