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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2010, 13:27   #1
Kib
Пользователь
 
Регистрация: 19.04.2009
Сообщений: 70
По умолчанию убрать null (нуль) символы в строке

В общем у меня есть переменная temp: string; В ней содержится текст который в дальнейшем помещяется в RichEdit. Возникает проблема, если в тексте присутствуют null (нуль) символы, текст обрубается на первом же нуль символе. Собственно вопрос: как убрать из переменной temp эти нуль символы? Или же как поместить текст с нуль символами в RichEdit?
Заранее благодарен...
Kib вне форума Ответить с цитированием
Старый 25.06.2010, 13:31   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
RichEdit.Lines.Text:=StringReplace(temp,#0,' ',[rfreplaceall]);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.06.2010, 13:36   #3
Kib
Пользователь
 
Регистрация: 19.04.2009
Сообщений: 70
По умолчанию

Не помогло.
Kib вне форума Ответить с цитированием
Старый 25.06.2010, 13:50   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Согласен, не проверил:
Код:
repeat  i:=pos(#0,tmp);delete(tmp,i,1); until i<>0;
Здесь i - integer;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.06.2010, 14:00   #5
Kib
Пользователь
 
Регистрация: 19.04.2009
Сообщений: 70
По умолчанию

Текст обрубается на втором нуль символе. Но это уже лучше. Есть над чем подумать
Kib вне форума Ответить с цитированием
Старый 25.06.2010, 14:08   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
repeat  
   i:=pos(#0,tmp); 
   if i<>0 then delete(tmp,i,1); 
until i=0;

а лучше так:

while pos(#0,tmp)>0 do begin
  i:=pos(#0,tmp); 
  delete(tmp,i,1); 
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.06.2010, 14:12   #7
Kib
Пользователь
 
Регистрация: 19.04.2009
Сообщений: 70
По умолчанию

Теперь все работает как надо. Всем спасибо.
Kib вне форума Ответить с цитированием
Старый 25.06.2010, 14:22   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
until i=0;
Да, эт я чет не то...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как поставить ограничение на число нуль а не на символ нуль??? Dr.Swat Помощь студентам 0 12.06.2010 20:35
удалить в строке все одинаковые символы Михаил70 Помощь студентам 5 09.09.2009 18:35
как удалить лишнеие символы в строке, и ограничить длину строки MixanMM Общие вопросы Delphi 3 11.06.2009 07:03
Убрать символы. GreenDan Помощь студентам 3 31.08.2008 13:21