Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.08 c
15-1270289462
Урсулапов_
2010-04-03 14:11
2010.08.27
Symantec и Mail.ru агент


15-1271784004
[true]TRIx
2010-04-20 21:20
2010.08.27
радиосигнал


15-1271449805
Юрий
2010-04-17 00:30
2010.08.27
С днем рождения ! 17 апреля 2010 суббота


11-1220124808
Dy1
2008-08-30 23:33
2010.08.27
чужая DLL


15-1265062916
DillerXX
2010-02-02 01:21
2010.08.27
Где в ХР лежит файл с обоями на десктопе?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский