0 / 0 / 0
Регистрация: 07.05.2016
Сообщений: 3

Разбить поровну содержимое Memo между четырьмя другими Memo

26.05.2016, 20:15. Показов 2260. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые форумчане!
Я в delphi новичок совсем, только основы осваиваю, так сказать... Ну, не в этом суть. В общем у меня такая цель:
Есть memo, в нём определённое количество строк, т.е. примерно так:
Code
1
2
3
4
5
Строка #1
Строка #2
Строка #3
...
Строка #19
Количество строк всегда разное. Так же присутствуют ещё 4 memo. Так вот, мне нужно разбить все строки из первого memo поровну между другими четырьмя, т.е. в первом из 4-х memo будет (в случае, если строк 19):
Code
1
2
3
Строка #1
...
Строка #4
Во втором:
Code
1
2
3
Строка #5
...
Строка #8
И т.д.. При этом если есть остаток, то эти строки добавляются в 4-й memo:
Code
1
2
3
4
Строка #13
Строка #14
...
Строка #19
Проблема в том, что не пойму как реализовать разделение строк между четырьмя memo... Помогите, заранее благодарен!
Просьба сильно не пинать, подправьте, если где-то ошибся!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.05.2016, 20:15
Ответы с готовыми решениями:

Получение номера взятой строки из memo, содержимое которой вставлено рандомно в memo
Вообщем есть текстовый файл, из которого берутся все строки, вставляются в memo, а из memo уже в переменную, берущую рандомную строку и...

Записать в текстовый файл содержимое Edit, и прочитать содержимое файла в Memo
Создать приложение которое создает текстовый файл текстовый файл text.txt записывает в него текст из окна edit и закрывает его. Затем...

Каждый символ заменить двумя другими и вставить в Memo
Есть некий текст в memo1. Требуется каждый символ заменить двумя другими и вставить в memo2. Своеобразный "шифратор". То есть на...

5
52 / 39 / 29
Регистрация: 08.04.2016
Сообщений: 126
26.05.2016, 21:13
OldmiX,

Строки memo хранятся в свойстве Lines. Это объект TStrings. У свойства Lines есть поле Count - количество строк в Lines. Соответственно можно организовать цикл в котором первый блок из 4 строк перекидывать в 1 memo, 2 блок из следующих 4 строк во 2 memo и т.д.
P.S. В смысле не блок из 4 строк, а mainMemo.Lines.Count Div 4, а все, что останется - в 4 memo
0
0 / 0 / 0
Регистрация: 07.05.2016
Сообщений: 3
26.05.2016, 21:15  [ТС]
chronicler,
Именно!
Именно на цикле я застопорился...
0
52 / 39 / 29
Регистрация: 08.04.2016
Сообщений: 126
26.05.2016, 21:39
Лучший ответ Сообщение было отмечено OldmiX как решение

Решение

OldmiX,

Алгоритм можно, например, такой:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
procedure Test();
var i: Integer; count: Integer; block: Integer;
begin
  count := mainMemo.Lines.Count;
  block := mainMemo.Lines.Count Div 4;
 
  For i := 0 to count do
  begin
    if i < block then
    begin
      memo1.Lines.Add(mainMemo.Lines[i]);
    end
    else if (i >= block) and (i < block * 2) then
    begin
      memo2.Lines.Add(mainMemo.Lines[i]);
    end
    else if (i >= block * 2) and (i < block * 3) then
    begin
      memo3.Lines.Add(mainMemo.Lines[i]);
    end
    else if i >= block * 3 then
    begin
      memo4.Lines.Add(mainMemo.Lines[i]);
    end
  end;
end;
1
1234 / 424 / 107
Регистрация: 31.03.2012
Сообщений: 1,159
27.05.2016, 14:02
OldmiX, простенький пример, можно указать количество элементов для основного TMemo и количество строк для переноса в динамически созданным TMemo (их будет создано нужное количество)
Вложения
Тип файла: 7z cf0527a.7z (2.4 Кб, 9 просмотров)
1
0 / 0 / 0
Регистрация: 07.05.2016
Сообщений: 3
27.05.2016, 21:43  [ТС]
Спасибо! Пример очень хороший, всё получилось.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.05.2016, 21:43
Помогаю со студенческими работами здесь

Как сделать так, чтобы Memo появлялось поверх остальных Memo?
как сделать так чтобы memo появлялось поверх остальных memo

Внесение значения поля MEMO Access в поле MEMO delphi
Суть такова когда я из поля MEMO delphi записываю значения в МЕМО аксеса, всё нормально, значения записываются, в аксесе отображаются ...

Содержимое файла в Memo
Доброго времени суток! Подскажите, как вывести содержимое текстового файла .txt в компонент Memo? В файле хранится исходный код, нужно...

Перенести данные из memo в одной форме в memo в другой
Как перенести данные из memo в одной форме в memo в другой?

Показать один из компонентов memo поверх остальных memo
как сделать так чтобы memo появлялось поверх остальных memo === вот представь что у меня куча кнопок с мемо (в каждом мемо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru