Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2017, 15:46   #1
niva622
Форумчанин
 
Регистрация: 31.12.2006
Сообщений: 114
По умолчанию TstringList Ошибка

Всем Привет, подскажите компилятор ругается на
Код:
var
ts:TstringList;
i, i1:Integer;
begin
ts:=TstringList.create;
for i:=0 to ts.count-1 do
i1:=i1+1;
ts.delete(i1);
Ругается что нет такого элемента в списке, такое же с элементом memo отлично работает..
Разобрался можно удалить тему..
Добавил условие
Код:
  if i1>ts.Count-1 then  break;

Последний раз редактировалось niva622; 01.02.2017 в 15:55.
niva622 вне форума Ответить с цитированием
Старый 01.02.2017, 16:09   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А чего сразу после создания удалять что-то, чего априори нет? И зря надеешься, что в i1 обязательно 0 изначально
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 01.02.2017 в 16:11.
Аватар вне форума Ответить с цитированием
Старый 01.02.2017, 16:22   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

niva622, это не код, это набор багов!
как минимум, обнулите вначале переменную i1

как максимум - расскажите, какую задачу Вы пытаетесь этим кодом решить.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.02.2017, 17:50   #4
niva622
Форумчанин
 
Регистрация: 31.12.2006
Сообщений: 114
По умолчанию

Аватар это на скорую руку накидал код, там есть загрузка текста, и задаю до цикла в i1=0
Код:
ts.LoadFromFile()
Serge_Bliznykov
Суть очень простая, есть строки текста, нужно удалить каждую вторую строку.
как минимум понятно, а как максимум ? что еще с кодом не так ?
Я конечно прошу прощенья за код, но я очень самоучка.
niva622 вне форума Ответить с цитированием
Старый 01.02.2017, 17:52   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
for i:=ts.count-1 downto 0 do if odd(i) then ts.delete(i);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.02.2017, 19:32   #6
niva622
Форумчанин
 
Регистрация: 31.12.2006
Сообщений: 114
По умолчанию

Аватар Спасибо даже не слышал про функцию "odd" интересный подход..
niva622 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возникает ошибка при выделении памяти для элемента типа TStringList динамического массива записей. Вадим Мошев Общие вопросы Delphi 5 28.05.2011 10:48
Создание класса с полем типа TStringList. Ошибка при его заполнении Son Общие вопросы Delphi 8 13.04.2010 21:38
Ошибка при присвоении tStringList Altera Общие вопросы Delphi 16 24.07.2009 22:08
TStringList nimf Общие вопросы Delphi 5 15.11.2007 14:44