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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2013, 21:57   #1
Оль4ик
Пользователь
 
Аватар для Оль4ик
 
Регистрация: 26.06.2012
Сообщений: 39
По умолчанию Работа с Memo

Будьте добры, уважаемые специалисты, подскажите, существует ли способ сложения содержимого всех строк компонента Memo, если строк очень много ? И в какой компонент можно (или лучше) это сложить?
Хочу использовать Edit.
Оль4ик вне форума Ответить с цитированием
Старый 20.04.2013, 22:03   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что значит сложения содержимого?
Вообще самый быстрой список строк это TStringList. Если же будешь обрабатывать в Мемо то учти одну мелочь: Из-за отрисовки в него добавление может тормозить, поэтому перед многочисленными операциями добавления (например наполнения мемо в цикле) используются маркеры отключения перерисовки:
Код:
Memo.Lines.BeginUpdate; //Отключаем прорисовку
Тут туева куча операторов внесения (удаления или изменения) записей
Memo.Lines.EndUpdate; //Включам назад
Имей это ввиду.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.04.2013, 22:06   #3
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...зачем их складывать, уже есть Memo.Lines/

Какова ваша конечная цель?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 20.04.2013, 22:44   #4
Оль4ик
Пользователь
 
Аватар для Оль4ик
 
Регистрация: 26.06.2012
Сообщений: 39
По умолчанию

Цитата:
Какова ваша конечная цель?
Ну вы, наверное будете надо мной смеяться...
Хочу пояснить: у меня есть 200 сгенерированных вещ. чисел (от 0 до 1), выведенных в Memo1. Все числа имеют 8 знаков после запятой.
С ними я должна сделать следующее: у каждого отбросить целую часть (т. е ноль), а дробные части склеить. Таким образом получается некое огромное число из 1600 символов, с которыми я должна буду основательно поработать. Первое что пришло в голову - загнать это число в Edit и работать там с ним как со строкой.
Но вот по поводу того как выдернуть из Memo двести чисел и всем им сделать обрезание, пока ничего в голову не приходит.
Правда мне уже дали очень веский совет
Код:
Memo.Lines.BeginUpdate; //Отключаем прорисовку
Тут туева куча операторов внесения (удаления или изменения) записей
Memo.Lines.EndUpdate; //Включам назад
над которым я сейчас усиленно размышляю...
Оль4ик вне форума Ответить с цитированием
Старый 20.04.2013, 22:49   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
как выдернуть из Memo двести чисел
Выкинь Мемо и используй TStringList.
Или еще лучше - строковый массив.
Цитата:
получается некое огромное число
Если не секрет зачем?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.04.2013, 23:03   #6
Оль4ик
Пользователь
 
Аватар для Оль4ик
 
Регистрация: 26.06.2012
Сообщений: 39
По умолчанию

Конечно же не секрет. Я сейчас работаю над последним пунктом своей лабы, который называется проверка на стохастичность Генератора Вещественных Чисел. Мне самой наверно сложно будет объяснить что это из себя предствляет, поэтому хочу показать методичку. Но там не так понятно как нам объясняли на лекции.
Вложения
Тип файла: doc Лаб.работа №2.doc (77.5 Кб, 8 просмотров)
Оль4ик вне форума Ответить с цитированием
Старый 21.04.2013, 09:51   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Жуть......
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.04.2013, 19:39   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Stilet
Жуть......
методичку не открывал, Виталию верю на слово!

тем не менее.
Цитата:
Хочу пояснить: у меня есть 200 сгенерированных вещ. чисел (от 0 до 1), выведенных в Memo1. Все числа имеют 8 знаков после запятой.
С ними я должна сделать следующее: у каждого отбросить целую часть (т. е ноль), а дробные части склеить. Таким образом получается некое огромное число из 1600 символов
склеить дробные части вместе - проблем вообще никаких!
Код:
var s : string;
...
 s := '';
 for i:=0 to Memo1.Lines.Count-1 do 
   if Pos('.', Memo1.Lines[i])>0 then s := s + Copy(Memo1.Lines[i], Pos('.', Memo1.Lines[i])+1, 8);
после этого в s ваше длинное число! Делайте с ним всё, что захотите!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.04.2013, 20:26   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Слегка добавлю безопасности:
Код:
var s,k : string;j:integer;
...
 s := '';
 for i:=0 to Memo1.Lines.Count-1 do begin
   k:=StringReplace(Memo1.Lines[i],',','.',[]);
   j:=Pos('.', k);
   if j>0 then s := s + Copy(k, j+1,Length(k));
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.04.2013, 23:08   #10
Оль4ик
Пользователь
 
Аватар для Оль4ик
 
Регистрация: 26.06.2012
Сообщений: 39
По умолчанию

Простите, не ожидала что для меня будут ещё пожелания, только сейчас их случайно увидела. Должна сказать, что к этому моменту я уже столько всяких вариантов перепробовала с проверкой на стохастичность, что страшно сказать. Прямо сейчас уже просто физически не в состоянии применить вышеуказанные советы, т.к. пальцы уже онемели+нервный тик. Завтра обязательно постараюсь доделать эту работу.
Кстати, эта строчка
Код:
for i:=0 to Memo1.Lines.Count-1 do begin
мне уже где-то попадалась на форуме, я кажется поняла как и где её применить.
Оль4ик вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с memo Siemka Общие вопросы Delphi 4 16.10.2012 20:54
Работа в Memo pusik Компоненты Delphi 2 17.05.2011 11:38
работа с Memo eva-2030 Общие вопросы Delphi 1 17.05.2011 03:00
Работа с Memo Chaser Общие вопросы C/C++ 0 26.03.2010 22:03
Работа с Memo Волк Общие вопросы Delphi 3 13.02.2009 17:47