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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.08.2010, 16:48   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
r9m
А если строка пустая будет после удаления? Я вот не помню как себя поведет POS при пустой строке. Хотя скорее всего ты прав.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.08.2010, 16:49   #12
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 16.04.2007
Сообщений: 471
По умолчанию

2 hacker:
ты бы сам попробовал передать туда, нуу скажем вот такую строку
Код:
'          djfdhgkjh   dfkjghdfkgh          dfghdfkjg             '
2 Stilet
вернёт 0

Последний раз редактировалось r9m; 11.08.2010 в 16:54.
r9m вне форума Ответить с цитированием
Старый 11.08.2010, 16:49   #13
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 16.04.2007
Сообщений: 471
По умолчанию

удалить пожалуйста

Последний раз редактировалось r9m; 11.08.2010 в 16:52.
r9m вне форума Ответить с цитированием
Старый 11.08.2010, 16:51   #14
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 16.04.2007
Сообщений: 471
По умолчанию

удалить пожалуйста
r9m вне форума Ответить с цитированием
Старый 11.08.2010, 16:54   #15
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Точно несколько пробелов не прорабатывает!!! Щас минуточку...
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 11.08.2010, 17:00   #16
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Код:
procedure delprob (var stroka: string);
var
    i: integer;
begin
    i := 1;
    while (i <= Length(stroka)) do
    begin
        if ((stroka[i] = ' ') and (stroka[i+1] = ' ')) then
        begin
            delete(stroka, i, 1);
            Dec(i);
        end;
        Inc(i);
    end;
end;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 11.08.2010, 17:06   #17
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 16.04.2007
Сообщений: 471
По умолчанию

Да уж, экономичный алгоритм )) Ну ладно, допустим. А кто в начале и в конце пробелы будет удалять?
r9m вне форума Ответить с цитированием
Старый 11.08.2010, 17:12   #18
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
Сообщение от r9m Посмотреть сообщение
Да уж, экономичный алгоритм )) Ну ладно, допустим. А кто в начале и в конце пробелы будет удалять?
ты бы чем умничать взял бы лучше и подправил код!
Вопрос был как можно удалить пробелы?
Вот так можно! Вот тебе костяк! Понятным для новичка способом написан. Чего не хватает, берём подправляем!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 11.08.2010, 17:39   #19
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 16.04.2007
Сообщений: 471
По умолчанию

Да а чё ты так взъелся? Я не умничаю, я поправляю. Твой первый вариант был нормальным, только чуток подправить:

Код:
procedure delprob (var stroka: string);
var
    i: integer;
begin
    stroka := trim(stroka);
    for i:=Length(stroka) downto 1 do
        if (stroka[i] = ' ') and (stroka[i+1] = ' ') then 
          delete(Stroka,i,1)
end;
r9m вне форума Ответить с цитированием
Старый 11.08.2010, 18:54   #20
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Serge_Bliznykov, увы, я уже наступал на эти грабли... Параметр окончания цикла FOR вычисляется один раз и будет постоянным, пока работает цикл, хотя длина строки будет уменьшатся... Поэтому процедура Delete просто не будет выполняться, при выходе параметры цикла за длину строки...
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удалить лишние пробелы со строки так чтобы между символами осталось по одному пробелу delphi MASIK Общие вопросы Delphi 7 22.12.2010 18:23
удалить лишние пробелы со строки так чтобы между словами осталось по одному пробелу java llRom4ikll Общие вопросы по Java, Java SE, Kotlin 2 12.04.2010 19:35
Как удалить все лишние пробелы в тексте Gektor51 Microsoft Office Word 3 18.12.2009 14:08
Удалить лишние пробелы Иван 883 Паскаль, Turbo Pascal, PascalABC.NET 5 06.04.2009 22:45
удалить лишние пробелы со строки так чтобы между символами осталось по одному пробелу c++ DimaG Общие вопросы C/C++ 1 01.11.2007 21:50