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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2013, 09:19   #1
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию В мемо преобразовать текст.

Есть произвольный текст в мемо. как его сформировать на блоки длиной 11 символов?
Aleksandr вне форума Ответить с цитированием
Старый 25.11.2013, 09:28   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
i:=1;
while i<Length(Memo.Text) do begin
  s:=Copy(Memo.Text,i,11);
  //s куда-то записываем
  Inc(i,11);
end;
Возможная проблема - наличие в Memo символов перевода каретки и строки
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.11.2013, 09:28   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

И где их сформировать, в том же Memo?
И блоки чем разделяются?

p.s. что Вы такой скупой на слова и детали? Вам не нужен результат? Или всё равно, какой результат получите?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.11.2013, 09:45   #4
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию

В чем и проблема в мемо есть символы перевода каретки и строки. Строки мемо произвольной длины, а нужно сделать чтобы все были на 11 символов.
К примеру текст мемо1
п 1132 каыв
ао55

5343
423
ор5523пп
33?


А в мемо 2 должно быть

п 1132 каыв
ао555343423
ор5523пп33?
Aleksandr вне форума Ответить с цитированием
Старый 25.11.2013, 09:51   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Выдернуть куда-то Memo.Text, заменить в нем все встреченные #13#10 на '' с помощью StringReplace и дальше как в посте 2
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.11.2013, 10:59   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Выдернуть куда-то Memo.Text, заменить в нем все встреченные #13#10 на '' с помощью StringReplace и дальше как в посте 2
угу. точно так. я бы предложил такой код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var s : string;
  i : integer;
begin
  s := StringReplace( Memo1.Text, #13#10, '', [rfReplaceAll]);
  i:=12;
  while i<Length(s) do begin
    Insert(#13#10,s,i);
    Inc(i,13);
  end;
  Memo2.Text := s;
end;

Последний раз редактировалось Serge_Bliznykov; 25.11.2013 в 11:03.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скопировать из мемо текст develsnik Общие вопросы Delphi 18 08.03.2013 13:14
мемо не отображает русский текст. lg12 Помощь студентам 9 06.03.2013 18:10
мемо и текст nikolas0 Общие вопросы Delphi 14 02.02.2011 01:26
Как скопировать текст из мемо одной формы в мемо другой CraZZy RabbIt Общие вопросы Delphi 4 27.02.2009 00:01
Про текст в мемо Marsik Помощь студентам 3 15.05.2008 08:01