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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2012, 13:28   #1
dcLout
Пользователь
 
Регистрация: 14.10.2009
Сообщений: 19
По умолчанию Форматирование текста

Всем доброго времени суток!
Прошу! Кто нибудь,помогите кодом.Мне нужна функция, которая будет выполнять форматирование текста, учитывая левую и правую границы.

Например, если у меня ограничение стоит 5 символов в строке,то остальные символы после пятого, должны будут перемещаться на следующую строку.
dcLout вне форума Ответить с цитированием
Старый 04.12.2012, 13:49   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Код:
for i:=1 to length(s) do
  if (i mod 5=1) and (i>5) then WriteLn(s[i]) else Write(s[i]);
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 04.12.2012, 13:59   #3
dcLout
Пользователь
 
Регистрация: 14.10.2009
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Код:
for i:=1 to length(s) do
  if (i mod 5=1) and (i>5) then WriteLn(s[i]) else Write(s[i]);
Вариант конечно не плохой,но мне нужно что бы строка в функцию возвращалась. Мне нужно сделать функцию.
dcLout вне форума Ответить с цитированием
Старый 04.12.2012, 14:10   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Так?

Код:
function FormatStr(s: string): STRING;
var i: integer;
begin
  s1:='';
  for i:=1 to length(s) do
    if (i mod 5=1) and (i>5) then s1:=s1+#10#13+s[i] else s1:=s1+s[i]);
  FormatStr:=s1;
end;
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...

Последний раз редактировалось Sciv; 04.12.2012 в 14:13.
Sciv вне форума Ответить с цитированием
Старый 04.12.2012, 14:27   #5
dcLout
Пользователь
 
Регистрация: 14.10.2009
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Так?

Код:
function FormatStr(s: string): STRING;
var i: integer;
begin
  s1:='';
  for i:=1 to length(s) do
    if (i mod 5=1) and (i>5) then s1:=s1+#10#13+s[i] else s1:=s1+s[i]);
  FormatStr:=s1;
end;
Да да,именно так.А не подскажете ещё одну такую вещь.Как мне связать конец строки,который мы перемещаем на следующую строку и начало следующей строки.

Например если в файле вот так:
12345678
12
abcdefgh

То получить нужно вот так:
12345
67812
abcde
fgh
dcLout вне форума Ответить с цитированием
Старый 04.12.2012, 14:54   #6
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Так если у Вас работа с файлом - почему бы не считывать из него по пять символов, убирая #10#13, в массив, а потом выводить массив? Готовое форматирование, и все это оформить в функцию.

А в текущей версии - считываете все строки из файла в одну строку и передаете затем эту строку в качестве входного параметра функции.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 04.12.2012, 15:00   #7
dcLout
Пользователь
 
Регистрация: 14.10.2009
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Так если у Вас работа с файлом - почему бы не считывать из него по пять символов, убирая #10#13, в массив, а потом выводить массив? Готовое форматирование, и все это оформить в функцию.

А в текущей версии - считываете все строки из файла в одну строку и передаете затем эту строку в качестве входного параметра функции.
Ооооо,благодарю.Я так и сделаю!
dcLout вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форматирование текста RussDragon Общие вопросы C/C++ 2 23.09.2012 10:33
Форматирование текста shooller Общие вопросы C/C++ 0 22.12.2011 13:09
Форматирование текста Arsenx777 Работа с сетью в Delphi 1 31.05.2011 14:55
Форматирование текста. Altera Общие вопросы Delphi 3 11.05.2009 23:29
Форматирование текста MAcK Общие вопросы Delphi 3 03.04.2008 11:38