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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2017, 20:24   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
Вопрос Поочерёдное удаление символов из строки TStringList

Есть TStringList.
Беру из него строку, чтобы пробежаться по ней и поочерёдно удалять один символ
Код:
  while Length(Respond[0]) > 0 do
  begin
    Memo2.Lines.Add(Copy(Respond[0], 1, 1));
    Delete(Respond[0], 1, 1);
  end;
Но, очевидно так со строками TStringList делать нельзя, в результате ошибка или что-то делаю не так.
E2197 Constant object cannot be passed as var parameter.

Как запасной вариант, можно содержимое строки поместить в String и дальше с ней работать.
Shouldercannon вне форума Ответить с цитированием
Старый 31.10.2017, 20:35   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Нельзя и в сообщении написано почему. А зачем такое бредовое удаление по одному символу?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 31.10.2017, 21:41   #3
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Нельзя и в сообщении написано почему. А зачем такое бредовое удаление по одному символу?
Там строка с перечислением админских привелегий (abcdefg и тд), у каждой буквы свои права, например z - полные права.
Shouldercannon вне форума Ответить с цитированием
Старый 31.10.2017, 22:22   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Даже если правильно применишь Delete в конечном результате будет пустая строка. Нельзя что-ли один раз присвоить пустую строку и не говнокодить такой очисткой?
Так пробовал for i:=1 to Length(Respond[0]) и каждый символ Respond[0][i] ?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 31.10.2017 в 22:30.
Аватар вне форума Ответить с цитированием
Старый 01.11.2017, 05:55   #5
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Даже если правильно применишь Delete в конечном результате будет пустая строка. Нельзя что-ли один раз присвоить пустую строку и не говнокодить такой очисткой?
Так пробовал for i:=1 to Length(Respond[0]) и каждый символ Respond[0][i] ?
То, что надо
Shouldercannon вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление пусток строки, TStringList, как??? FleXik Общие вопросы Delphi 2 17.03.2013 14:35
удаление строки из TStringList Volkogriz Общие вопросы Delphi 15 02.02.2013 03:42
С++ строки , удаление символов Bolisoff Помощь студентам 4 10.01.2012 00:46
Удаление символов из строки Jasper92 Общие вопросы C/C++ 1 17.01.2010 20:41
Удаление символов из строки stscolt Помощь студентам 0 28.12.2009 12:34