Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

подойдет ли 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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.08 c
2-1272489700
yagluboko
2010-04-29 01:21
2010.08.27
ошибка периода компиляции


15-1267911005
Юрий
2010-03-07 00:30
2010.08.27
С днем рождения ! 7 марта 2010 воскресенье


15-1264718996
Германн
2010-01-29 01:49
2010.08.27
Странно работает "Показать мои вопросы"


2-1268482467
Первокурсница
2010-03-13 15:14
2010.08.27
Контроль превышения размера числа


2-1275046068
Крапивин Олег
2010-05-28 15:27
2010.08.27
Как очистить DBLookComboBox.Text