Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нужна помощ с процедурой, процедура удаления 
V
    Опции темы
BTCY
Дата 23.6.2008, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 23.6.2008

Репутация: нет
Всего: нет



Здравствуйте.
ОЧЕНЬ Нужна помощ. Такая задача, написать ПРОЦЕДУРУ которая у строки удаляет все пробелы в начале строки и в конце.
PS Прошу ещё разъяснить ваши действия.



PM MAIL   Вверх
VanHelsing
Дата 23.6.2008, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ХОЧУ ВСЕ ЗНАТЬ!!!
**
Награды: 1



Профиль
Группа: Участник
Сообщений: 288
Регистрация: 3.1.2008
Где: Екатеринбург

Репутация: нет
Всего: 6



Считываете строку, и посимвольно (с начала и с конца строки) проверяете является символ пробелом или нет. Запоминаете позицию где символ не равен пробелу и выделяет в эту строку.


--------------------
PM MAIL   Вверх
BTCY
Дата 23.6.2008, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 23.6.2008

Репутация: нет
Всего: нет



Цитата(VanHelsing @ 23.6.2008,  15:58)
Считываете строку, и посимвольно (с начала и с конца строки) проверяете является символ пробелом или нет. Запоминаете позицию где символ не равен пробелу и выделяет в эту строку.

Плиз,можеш это на примере кода всё мне разжевать? Так лучше разберусь.
PM MAIL   Вверх
Rrader
  Дата 23.6.2008, 16:05 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 18
Всего: 191



Посмотри, как в VCL сделаны функции TrimLeft И TrimRight


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
morpheyushka
  Дата 23.6.2008, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зеленый человек
**


Профиль
Группа: Участник
Сообщений: 563
Регистрация: 26.2.2008
Где: Киев

Репутация: 2
Всего: 8



Что бы удалить пробелы сначала и сконца строки одновременно просто Trim
Код

var
 s: String
...
 s := '             Строка с пробелами вначале и вконце!               ';
 s := Trim(s); // s = 'Строка с пробелами вначале и вконце!'
 


и всё smile 


Не забудь закрыть тему!

Это сообщение отредактировал(а) morpheyushka - 23.6.2008, 16:22


--------------------
user posted image
Спасибо делается вот так!!!
PM MAIL WWW   Вверх
BTCY
Дата 23.6.2008, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 23.6.2008

Репутация: нет
Всего: нет



Цитата(morpheyushka @ 23.6.2008,  16:20)
Что бы удалить пробелы сначала и сконца строки одновременно просто Trim
Код

var
 s: String
...
 s := '             Строка с пробелами вначале и вконце!               ';
 s := Trim(s); // s = 'Строка с пробелами вначале и вконце!'
 


и всё smile 


Не забудь закрыть тему!

Мне TRIM нельзя использовать =(
PM MAIL   Вверх
Rrader
  Дата 23.6.2008, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 18
Всего: 191



morpheyushka, если есть пробелы в середине, то и они удалятся. Я думаю, автору не нужно это smile 
BTCY, скажи, как тебе надо? Только по краям или все? smile 

Это сообщение отредактировал(а) Rrader - 23.6.2008, 16:34


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
morpheyushka
Дата 23.6.2008, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зеленый человек
**


Профиль
Группа: Участник
Сообщений: 563
Регистрация: 26.2.2008
Где: Киев

Репутация: 2
Всего: 8



Цитата(Rrader @  23.6.2008,  16:32 Найти цитируемый пост)
morpheyushka, если есть пробелы в середине, то и они удалятся. Я думаю, автору не нужно это smile 



Нет, не удалятся...проверено на 100% smile 
только вконце и вначале

Добавлено через 3 минуты и 55 секунд
Цитата(BTCY @  23.6.2008,  16:32 Найти цитируемый пост)
Мне TRIM нельзя использовать =( 



Тебе нужно самому эту процедуру реализовать или я что-то не понял?

Это сообщение отредактировал(а) morpheyushka - 23.6.2008, 16:35


--------------------
user posted image
Спасибо делается вот так!!!
PM MAIL WWW   Вверх
Rrader
  Дата 23.6.2008, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 18
Всего: 191



Мой глюк, извиняюсь smile 


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
BTCY
Дата 23.6.2008, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 23.6.2008

Репутация: нет
Всего: нет



Цитата(Rrader @ 23.6.2008,  16:32)
morpheyushka, если есть пробелы в середине, то и они удалятся. Я думаю, автору не нужно это smile 
BTCY, скажи, как тебе надо? Только по краям или все? smile

Да,мне нужно толька по краям. 
Чесно говоря я сам не понял что отменя требуют, я процитировал в первом посте как препод мне сформулировал задачу.  Но вроде он говорил трим не использовать. 
PM MAIL   Вверх
morpheyushka
Дата 23.6.2008, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зеленый человек
**


Профиль
Группа: Участник
Сообщений: 563
Регистрация: 26.2.2008
Где: Киев

Репутация: 2
Всего: 8



Значит он дал тебе задание - что бы ты сам это реализовал))


--------------------
user posted image
Спасибо делается вот так!!!
PM MAIL WWW   Вверх
BTCY
Дата 23.6.2008, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 23.6.2008

Репутация: нет
Всего: нет



Цитата(morpheyushka @ 23.6.2008,  16:43)
Значит он дал тебе задание - что бы ты сам это реализовал))

Каким способом? я непонимаю =(  smile  , может поможете? 
PM MAIL   Вверх
ama_kid
Дата 23.6.2008, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: 9
Всего: 95



Цитата(BTCY @  23.6.2008,  16:50 Найти цитируемый пост)
Каким способом?
Навскидку:
Код
function TrimOwn(const Param:string):string;
var
 p:integer;
 tmp_str:string;
 i:integer;
begin
 Result:='';
 tmp_str:='';
 p:=1;
 while Param[p]=' ' do inc(p);
 for i:=length(Param) downto p do tmp_str:=tmp_str+Param[i];
 p:=1;
 while tmp_str[p]=' ' do inc(p);
 for i:=length(tmp_str) downto p do Result:=Result+tmp_str[i];
end;
Оптимизируй сам  smile 


--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
BTCY
Дата 23.6.2008, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 23.6.2008

Репутация: нет
Всего: нет



Цитата(ama_kid @ 23.6.2008,  17:15)
Цитата(BTCY @  23.6.2008,  16:50 Найти цитируемый пост)
Каким способом?
Навскидку:
Код
function TrimOwn(const Param:string):string;
var
 p:integer;
 tmp_str:string;
 i:integer;
begin
 Result:='';
 tmp_str:='';
 p:=1;
 while Param[p]=' ' do inc(p);
 for i:=length(Param) downto p do tmp_str:=tmp_str+Param[i];
 p:=1;
 while tmp_str[p]=' ' do inc(p);
 for i:=length(tmp_str) downto p do Result:=Result+tmp_str[i];
end;
Оптимизируй сам  smile

Спасибо. Это процедура? Или всётаки функция?

Добавлено через 3 минуты и 8 секунд
Кто нибуть как нибуть может показать как сделаны функции TrimLeft И TrimRight ? А то что-то я у себя их в VCL не нахожу o_O
PM MAIL   Вверх
morpheyushka
  Дата 23.6.2008, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зеленый человек
**


Профиль
Группа: Участник
Сообщений: 563
Регистрация: 26.2.2008
Где: Киев

Репутация: 2
Всего: 8



Цитата(BTCY @  23.6.2008,  17:25 Найти цитируемый пост)
Кто нибуть как нибуть может показать как сделаны функции TrimLeft И TrimRight ? А то что-то я у себя их в VCL не нахожу o_O 



тебе же уважаемый ama_kid дал исходник функции...одна ее половина (первая) делает TrimLeft, а вторая - последняя - TrimRight. Просто нужно обратно будет развернуть строку


--------------------
user posted image
Спасибо делается вот так!!!
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0623 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.