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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2011, 13:42   #1
Jetro
Пользователь
 
Регистрация: 15.11.2010
Сообщений: 31
По умолчанию Добавление к строке определенное количество пробелов

Есть очень большой кусок текста. Мне нужно пройтись по всем строкам, и в случае если в строке количество символов меньше определенного количества (предположим что меньше 100), то в конец строки нужно добавить такое количество пробелов, чтобы количество символов было ровно 100.

Я загоняю текст в СтрингЛист, после чего начинаю перебирать строки, и когда происходит условие "if Length(SL[i]) < 100", мне нужно добавить в конец этой строки "100 - Length(SL[i])" пробелов.

Как это реализовать? Я не прошу готовое решение - мне будет достаточно толчка в нужном направлении.
Я делал цикл, который создавал нужное количество пробелов и цеплял их к строке, но так как строк ну очень много, да и длина строки не 100, то это затягивалось на столько, что проще сделать "if Length(SL[i]) = 1 then".
Jetro вне форума Ответить с цитированием
Старый 10.12.2011, 14:00   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,216
По умолчанию

Если в лоб и не вникая в суть задачи, то как-то так:
Код:
S := SL[I];
for i := 1 to 100 - Length(S) do S := S + ' ';
SL[i] := S;
Arigato вне форума Ответить с цитированием
Старый 10.12.2011, 14:32   #3
alexiz
Пользователь
 
Регистрация: 19.08.2010
Сообщений: 54
По умолчанию

или так:
Код:
const
   N=100;
var
   OldLength: integer;
begin
  if Length(S) < N then  
  begin
     OldLength:=Length(S);
     SetLength(S, N);
     FillChar(S[OldLength+1], Length(S)-OldLength, ' ');
  end
end
Ваша благодарность может быть материальной:
WM R103871054215, WM Z710411027344, ЯндД: 410011167596676
alexiz вне форума Ответить с цитированием
Старый 10.12.2011, 15:54   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Код:
if Length(s)<100 then s:=s+StringOfChar(' ',100-Length(s));
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.12.2011, 16:22   #5
Jetro
Пользователь
 
Регистрация: 15.11.2010
Сообщений: 31
По умолчанию

Совсем забыл об StringOfChar. Но думаю мне простительно - я-же все таки админ а не программер .

Всем огромное спасибо за помощь! Сделал по примеру Аватара.
Jetro вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление пробелов в строке aimk0 БД в Delphi 7 17.06.2011 09:14
определить количество символов и пробелов в строке без использования string.h Alena_897 Помощь студентам 5 07.12.2010 18:40
мне нужно только в h="" поместить определенное количество пробелов...но я не знаю как Тикки Общие вопросы C/C++ 3 12.05.2010 09:26
Добавление пробелов в строку vivo89 Помощь студентам 3 10.12.2009 00:20
как в строке вставить n-ое количество пробелов Marinka91 Паскаль, Turbo Pascal, PascalABC.NET 18 14.08.2009 13:33