Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Последняя строка TStringList, Как ее удалить? 
V
    Опции темы
Canada
  Дата 10.1.2010, 05:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 9.2.2009

Репутация: нет
Всего: нет



Здравствуйте. Сохраняю TStringList в файл и он дописывает еще 1 строку. Т.е. добавляет или каретку или еще что-то. Но данных 100 строк и в конце файла пустая 101-я строка, которая мне не нужна. Как это поправить? Заранее благодарен.
PM MAIL   Вверх
Демо
Дата 10.1.2010, 07:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 7
Всего: 50



Он ничего не добавляет. Смотри содержимое до сохранения.


--------------------
    
PM MAIL ICQ Skype   Вверх
Canada
Дата 12.1.2010, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 9.2.2009

Репутация: нет
Всего: нет



Да добавляет. Загрузил 100 строк, сделал SaveToFile на выхлопе 101. Там как перенос каретки добавился в конце.
PM MAIL   Вверх
Keeper89
Дата 12.1.2010, 01:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



Canada, код в студию.


--------------------
PM MAIL WWW   Вверх
Данкинг
Дата 12.1.2010, 01:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Может, это "Блокнот" сам просто переносит курсор на следующую строчку, если встать на последнюю? Попробуй загрузить из сохранённого файла снова в StringList - что получится?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Демо
Дата 12.1.2010, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 7
Всего: 50



Цитата(Canada @  10.1.2010,  05:21 Найти цитируемый пост)
Здравствуйте. Сохраняю TStringList в файл и он дописывает еще 1 строку. Т.е. добавляет или каретку или еще что-то. Но данных 100 строк и в конце файла пустая 101-я строка, которая мне не нужна. Как это поправить? Заранее благодарен.


Понятно о чём ты.

101-й строки не существует.
Её показывают тебе твои средства отображения и редактирования.

2 символа действительно добавляются,но это нормальное поведение TStrings.
Текстовый файл заканчивается #13#10, но после них ничего нет - никакой новой строки.

Если тебе нужно управлять этим процессом (т.е. не на уровне строк, а на уровне байт) - не используй TStrings.


--------------------
    
PM MAIL ICQ Skype   Вверх
Frees
Дата 12.1.2010, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 16
Всего: 54



можно сохранить TStringList в поток и у потока удалить 2 последних байта


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
hkdkest
Дата 12.1.2010, 18:28 (ссылка) |   (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 30.11.2008

Репутация: нет
Всего: 1



Цитата(Canada @ 10.1.2010,  05:21)
Здравствуйте. Сохраняю TStringList в файл и он дописывает еще 1 строку. Т.е. добавляет или каретку или еще что-то. Но данных 100 строк и в конце файла пустая 101-я строка, которая мне не нужна. Как это поправить? Заранее благодарен.

сохрани 99 строк =))
PM MAIL WWW   Вверх
Snowy
Дата 13.1.2010, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484



Код
var
  sl: TStringList;
  s:  AnsiString;
begin
  sl := TStringList.Create;
  sl.Add('Str1');
  sl.Add('Str2');
  try
    with TFileStream.Create('C:\1.1', fmCreate) do
    try
      s := sl.Text;
      Write(s[1], Length(s) - 2); // без 2-х байт
    finally
      Free;
    end;
  finally
    sl.Free;
  end;
end;

PM MAIL   Вверх
Canada
Дата 15.1.2010, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 9.2.2009

Репутация: нет
Всего: нет



Спасибо всем огромное! Я приболел и поэтому не заходил. Еще раз Большое Спасибо!  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0523 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.