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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.08.2018, 19:54   #1
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
Счастье Как удалить пробелы внутри строки текста, загруженного из файла.txt?

Здравствуйте!
Подскажите пожалуйста, как удалить пробелы в memo? Текст загружается из файла.txt.
Нужно так: 01,02,03 и т.д., а выходит такая картина:
01,
02,
03
Лучше один раз увидеть.........
Прикрепляю проект.
Вложения
Тип файла: rar Test.rar (2.25 Мб, 12 просмотров)
Женя32 вне форума Ответить с цитированием
Старый 23.08.2018, 20:50   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,537
По умолчанию

Предварительно скопировать каждую вводимую строку во вспомогательную посимвольно, игнорируя пробелы, затем ее - в Мемо .
Код:
  j := 1 ;
  L := Length(inp_str) ;
  for i := 1 to L do
     if inp_str[i] <> ' ' then
         begin
           tmp_str[j] :=  inp_str[i] ;
           Inc (j)
     end ;
Архив, говорит, битый. И на френа мне эти мегабайты, если для представления можно было дать пример 3..5 строчек ?
Тоже Женя aka digitalis

Последний раз редактировалось digitalis; 23.08.2018 в 20:58.
digitalis на форуме Ответить с цитированием
Старый 23.08.2018, 21:14   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
tmp_str[j] := inp_str[i] ;
сдохнет )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.08.2018, 09:07   #4
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 979
По умолчанию

а так не сработает?
Код:
tmp_str:=StringReplace(inp_str, ' ', '', [rfReplaceAll, rfIgnoreCase]);
возможно ещё добавить, на всякий случай
Код:
tmp_str:=Trim(tmp_str);
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
IliaIT вне форума Ответить с цитированием
Старый 24.08.2018, 09:39   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,537
По умолчанию

Да, действительно - Си-шный стиль не прокатывает Ну ничего не поделаешь: жара, авитаминоз, экология .
Значит, делаем так:
Код:
  str2 := '' ;
  L := Length(str1) ;
  for i := 1 to L do
     if str1[i] <> ' ' then   str2 := str2 + Copy(str1,i,1) ;
Вариант IliaIT , конечно, более смотрибельный, но в коде, думаю, будет одно и то же.
digitalis на форуме Ответить с цитированием
Старый 24.08.2018, 09:52   #6
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

при условии что позицонирование в исходном тексте(файле) выполнено с помощью "обычного" пробела, а не к примеру Tab.
Изображения
Тип файла: png 000.png (31.6 Кб, 104 просмотров)
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 24.08.2018, 10:04   #7
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,537
По умолчанию

No problem

Код:
     if ( str1[i] <> ' ' ) and ( str1[i] <> Chr(9) ) then   str2 := str2 + Copy(str1,i,1) ;
evg_m почему - "к примеру" ? разве кроме пробела и таб еще чем-то можно позиционировать ? CR,LF и "шаг взад", конечно, не рассматриваем в здравом уме.

Последний раз редактировалось digitalis; 24.08.2018 в 10:14.
digitalis на форуме Ответить с цитированием
Старый 24.08.2018, 10:30   #8
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 979
По умолчанию

Вот тут и приходим к понятию множества. если символ находится во множестве недопустимы (заданы по коду пользователем) то удаляем
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
IliaIT вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить пробелы из введеной строки - C++ Joesidorov Помощь студентам 3 08.04.2016 13:41
Удалить пробелы из файла. elfi Общие вопросы C/C++ 1 14.09.2013 15:58
Как удалить лишние пробелы из строки? MyLastHit Общие вопросы Delphi 26 11.08.2010 21:44
Как программно удалить одну строку из текстового файла(txt)? lexus_samara Общие вопросы Delphi 6 24.04.2010 22:57
Какой оператор удаляет пробелы ВНУТРИ строки? Maxx Microsoft Office Excel 3 09.12.2008 11:34