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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2012, 05:57   #1
Jleksern
Форумчанин
 
Аватар для Jleksern
 
Регистрация: 14.10.2011
Сообщений: 137
По умолчанию Соединить слова по их count

Подскажите пожалуйста, уже ночь играюсь и не могу сделать.

Как соединить слова по строчкам
в memo1 текст
123
в memo2
222
то в мемо3
получается так
123:222

Ну вот пример

или
Jleksern вне форума Ответить с цитированием
Старый 08.07.2012, 07:00   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

с проверкой на минимум строк(min помоему в модуле math):
Код:
for i:=0 to min(Memo1.Lines.Count,Memo2.Lines.Count) do Memo3.Lines.Add(Memo1.Lines[i]+':'+Memo2.Lines[i]);
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.07.2012, 08:59   #3
Jleksern
Форумчанин
 
Аватар для Jleksern
 
Регистрация: 14.10.2011
Сообщений: 137
По умолчанию

скорость работы данного кода малая))

Как можно увеличить по максимуму?
Jleksern вне форума Ответить с цитированием
Старый 08.07.2012, 09:58   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
скорость работы данного кода малая))
А что данных так много?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.07.2012, 10:31   #5
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Jleksern Посмотреть сообщение
скорость работы данного кода малая))

Как можно увеличить по максимуму?
Тогда надо все делать в памяти, а в memo выводить только результат. И то - последнее сомнительно, т.к. время вывода будет существенно превышать время обработки (выводить в файл?).
s-andriano вне форума Ответить с цитированием
Старый 08.07.2012, 11:02   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Какие-то странные замуты у вас на элементарную задачу. Все ж просто:
Код:
procedure TForm30.sButton1Click(Sender: TObject);
var
 i: Integer;
begin
 sMemo3.Clear;
 for i := 0 to sMemo1.Lines.Count - 1 do
   begin
     sMemo3.Lines.Add(sMemo1.Lines.Strings[i] + ':' + sMemo2.Lines.Strings[i])
   end;
end;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 08.07.2012, 12:48   #7
Jleksern
Форумчанин
 
Аватар для Jleksern
 
Регистрация: 14.10.2011
Сообщений: 137
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Какие-то странные замуты у вас на элементарную задачу. Все ж просто:
Код:
procedure TForm30.sButton1Click(Sender: TObject);
var
 i: Integer;
begin
 sMemo3.Clear;
 for i := 0 to sMemo1.Lines.Count - 1 do
   begin
     sMemo3.Lines.Add(sMemo1.Lines.Strings[i] + ':' + sMemo2.Lines.Strings[i])
   end;
end;

Да товарищ модератор, я тоже подобный Вашему коду сопоставил, но мне не получилось превысить скорость загрузки в мемо больше чем 1 мб в секунду (по примерным подсчётам).

Просто такая программа было бы удобная для сортирования вырезки из БД, Дампов и т.д.
Это и БД различных форумов, сайтов, мыл, игровых серверов и т.д. и т.п.
Чтоб разделить быстро и по разному (к примеру нужно извлечь с текст файлла в котором храняться данные в виде nameass только пароли.
Вот приходиться вечно вертеться в поисках нового :-)
Спасибо всем за помощь

Stilet, да очень большие базы, которые собираются на протяжении большого количества времени и нужно всё уложить по полкам.


"Тогда надо все делать в памяти, а в memo выводить только результат. И то - последнее сомнительно, т.к. время вывода будет существенно превышать время обработки (выводить в файл?). "
s-andriano, тоесть Я Вас правильно понял, можно ещё больше разогнаться только к примеру если место того чтоб выводить в memo сразу чтоб сохраняло на диск ?...Кстати идея хорошая.


Пепел Феникса, Спасибо за помощь
Jleksern вне форума Ответить с цитированием
Старый 08.07.2012, 12:49   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

artemavd, а если разное количество строк?

ТС, вам так ли нужно МЕМО вообще?
можно все делать в TStringList.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.07.2012, 12:58   #9
Jleksern
Форумчанин
 
Аватар для Jleksern
 
Регистрация: 14.10.2011
Сообщений: 137
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
artemavd, а если разное количество строк?

ТС, вам так ли нужно МЕМО вообще?
можно все делать в TStringList.

Не столько обязательно. Но желательно и чтоб была возможность просмотреть само содержание текстового файла.

Да можно и хотелось бы сделать в StringList чтоб была возможность оперативно загрузить и рассортировать, но вот не всегда у меня получается.
Всё упирается в недостаточности знаний и в сторону малого опыта с данной средой.

Последний раз редактировалось Jleksern; 08.07.2012 в 13:12.
Jleksern вне форума Ответить с цитированием
Старый 08.07.2012, 13:21   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а в чем трабла?
TStringList просто надо создать.
а остальное оно как и TMemo.Lines(ибо наследник TStrings)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
select count(*) RuVarez БД в Delphi 2 13.04.2012 13:12
Вывести слова предложения в таком порядке, чтобы последняя буква каждого слова совпадала с первой буквой следующего слова ( java ) huhu Помощь студентам 0 06.04.2012 19:42
mysql count cargo29 PHP 4 03.10.2011 17:46
count(*) as dedyshka PHP 8 28.12.2009 15:53
count(*) antoniosm БД в Delphi 9 12.09.2007 13:06