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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.07.2007, 11:36   #1
Lonix
Пользователь
 
Регистрация: 17.03.2007
Сообщений: 39
По умолчанию удаление текста с конца

Я знаю как удалить с начала, допутим слово "Привет" воспользуемся так
edit1.Text:=copy(edit1.Text,1,3) то получится "При", а как сделать так чтобы отсчет шел с конца допустим слово "керамика</td>" мне надо удалить с конца </td>, если удалять как первым способом нельзя потому что слова меняются а в конце </td> это не меняется как эот можно удалить?
Lonix вне форума Ответить с цитированием
Старый 12.07.2007, 11:47   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

s,s1:string;
i:integer;
begin
for i:=length(s) downto 1 do
s1:=s[i];
.....
end;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 12.07.2007, 11:58   #3
Lonix
Пользователь
 
Регистрация: 17.03.2007
Сообщений: 39
По умолчанию

Цитата:
Сообщение от Квэнди Посмотреть сообщение
s,s1:string;
i:integer;
begin
for i:=length(s) downto 1 do
s1:=s[i];
.....
end;

а можно чуть подробнее а то я новичёк в этом деле. Допустим на форме у нас кнопка и одно поле edit. Можно расписать. Плиззз.
Lonix вне форума Ответить с цитированием
Старый 12.07.2007, 12:04   #4
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Здесь много разных способов...
Например, так
Код:
var s: string;
begin
   s := Edit.Text;
   Edit.Text := Copy(s, 1, Length(s) - 5);
end;
или так
Код:
function StrReplace(const Str, Str1, Str2: string): string;
// str - исходная строка
// str1 - подстрока, подлежащая замене
// str2 - заменяющая строка
var
   P, L: Integer;
begin
   Result := str;
   L := Length(Str1);
   repeat
      P := Pos(Str1, Result);
      if P > 0 then
      begin
         Delete(Result, P, L);
         Insert(Str2, Result, P);
      end;
   until P = 0;
end;
//пример
 edit.Text := StrReplace(edit.Text, '</td>', '');
А вообще есть написанные процедуры и готовые компоненты для удаления HTML-тегов из текста
_SERGEYX_ вне форума Ответить с цитированием
Старый 12.07.2007, 12:14   #5
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Цитата:
Сообщение от Lonix Посмотреть сообщение
а можно чуть подробнее а то я новичёк в этом деле. Допустим на форме у нас кнопка и одно поле edit. Можно расписать. Плиззз.
этот код просто переворачивает слово, далее делайте с ним все что уже нужно
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 12.07.2007, 12:25   #6
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
s:=Edit1.Text;
delete(s,pos('<',s),length(s)+1-pos('<',s));
edit1.Text:=s;
end;

Последний раз редактировалось SERG1980; 12.07.2007 в 12:28.
SERG1980 вне форума Ответить с цитированием
Старый 12.07.2007, 13:38   #7
Xandr
Пользователь
 
Регистрация: 12.07.2007
Сообщений: 60
По умолчанию

Так смысл, нужно удалять слово с конца или теги, как в примере.
Если теги то это на много проще.
Xandr вне форума Ответить с цитированием
Старый 12.07.2007, 14:00   #8
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Цитата:
Сообщение от Lonix Посмотреть сообщение
Я знаю как удалить с начала, допутим слово "Привет" воспользуемся так
edit1.Text:=copy(edit1.Text,1,3) то получится "При", а как сделать так чтобы отсчет шел с конца допустим слово "керамика</td>" мне надо удалить с конца </td>, если удалять как первым способом нельзя потому что слова меняются а в конце </td> это не меняется как эот можно удалить?
Если твое </td> встречается в строке только один раз и только в конце, тогда

edit1.Text:=StringReplace(edit1.Tex t,'</td>','',[]);
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.
Andrei вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись слов из эдита с конца Zeraim Общие вопросы Delphi 7 04.06.2008 18:28
Потоки и символ конца строки Deatz Общие вопросы C/C++ 3 07.05.2008 20:02
Макрос - до конца данных jungo Microsoft Office Excel 6 08.02.2008 09:47
Не могу прочитать файл до конца... FEAR Общие вопросы C/C++ 9 04.01.2007 21:46