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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2010, 18:13   #1
efen
 
Регистрация: 22.12.2010
Сообщений: 9
Вопрос Перенос строк в Мемо

Приветствую!

Подскажите: после выбора данных из БД и записи их в Мемо записываются они каждая запись с новой строки. Как сделать, чтобы все было в одну строчку? И вобще, сколько символов влезает в Мемо?
Плюс в конце нужен.
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Table1.First;
while not   Table1.Eof do begin
  Memo1.Lines.Append(MainForm.Table1.FieldByName('хххх').value+'+');
  Table1.Next;
end;
end;
Заранее благодарен Вам за потраченное время. Спасибо.

Последний раз редактировалось Stilet; 25.12.2010 в 12:46.
efen вне форума Ответить с цитированием
Старый 23.12.2010, 19:58   #2
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
Лампочка

Цитата:
Сообщение от efen Посмотреть сообщение
Приветствую!

Подскажите: после выбора данных из БД и записи их в Мемо записываются они каждая запись с новой строки. Как сделать, чтобы все было в одну строчку? И вобще, сколько символов влезает в Мемо?
Плюс в конце нужен.

procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.First;
while not Table1.Eof do begin
Memo1.Lines.Append(MainForm.Table1. FieldByName('хххх').value+'+');
Table1.Next;
end;
end;

Заранее благодарен Вам за потраченное время. Спасибо.
Вариант:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var s: string;
begin
  Table1.First;
while not   Table1.Eof do begin
  s := s + MainForm.Table1.FieldByName('хххх').value+'+';
  Table1.Next;
end;
  Memo1.Lines.Append(s);
end;
Ответ - жёлто-зелёным .
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 23.12.2010, 20:09   #3
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Метод Append добавляет символы "перевода каретки" после добавления каждой строки.
Вместо Append, как это показал xwicked я бы применил свойство Text, а так же проинициализировал бы локальную переменную:
Код:
  S := '';
  ...
  Memo1.Lines.Text := S;
Memo держит строки в свойстве Lines.
Lines - класс TStrings, а каждая строка в этой коллекции имеет тип string.
String, в свою очередь может хранить до 2 Гб информации.
Т.е. сколько "влезет" символов будет зависеть только от объема оперативной памяти и поворотливости Windows.
Прик вне форума Ответить с цитированием
Старый 24.12.2010, 09:57   #4
efen
 
Регистрация: 22.12.2010
Сообщений: 9
По умолчанию

Братцы - работает!
Спасибо большое!
Кстати: а последний '+' убрать можно? (который к последнему выбранному из БД значению подставляется)
efen вне форума Ответить с цитированием
Старый 25.12.2010, 03:46   #5
XeruH
Форумчанин
 
Регистрация: 17.09.2010
Сообщений: 229
По умолчанию

Цитата:
Сообщение от efen Посмотреть сообщение
Братцы - работает!
Спасибо большое!
Кстати: а последний '+' убрать можно? (который к последнему выбранному из БД значению подставляется)
Код:
if S[Length(S)] = '+' then
  Delete(S, Length(S), 1)
Правильно заданный вопрос - половина ответа!
XeruH вне форума Ответить с цитированием
Старый 30.12.2010, 11:10   #6
efen
 
Регистрация: 22.12.2010
Сообщений: 9
По умолчанию

Чего-то не работает...
efen вне форума Ответить с цитированием
Старый 31.12.2010, 16:36   #7
XeruH
Форумчанин
 
Регистрация: 17.09.2010
Сообщений: 229
По умолчанию

Цитата:
Сообщение от efen Посмотреть сообщение
Чего-то не работает...
Что именно не работает?
Правильно заданный вопрос - половина ответа!
XeruH вне форума Ответить с цитированием
Старый 11.01.2011, 11:26   #8
efen
 
Регистрация: 22.12.2010
Сообщений: 9
По умолчанию

procedure TForm3.Button1Click(Sender: TObject); // выбор адресов Е-маил и добавление в мемо
var s: string;
begin
MainForm.Table1.First;
while not MainForm.Table1.Eof do begin
s := s + MainForm.Table1.FieldByName('semail ').value + ', ';
MainForm.Table1.Next;
if s[Length(s)] = ', ' then
Delete(s, Length(s), 1)
end;
Memo2.Lines.Text:=s;
end;
efen вне форума Ответить с цитированием
Старый 11.01.2011, 15:34   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

пробуйте:
Код:
procedure TForm3.Button1Click(Sender: TObject); // выбор адресов Е-маил и добавление в мемо
var s: string;
begin
s := '';
MainForm.Table1.First;
while not MainForm.Table1.Eof do begin
  s := s + MainForm.Table1.FieldByName('semail ').value + ', ';
  MainForm.Table1.Next;
end;
if (Length(s)>2) and (Copy(s, Length(s)-1,2) = ', ') then
     Delete(s, Length(s)-1, 2)
Memo2.Lines.Text:=s;
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.01.2011, 15:41   #10
efen
 
Регистрация: 22.12.2010
Сообщений: 9
По умолчанию

Ура! Заработала!!!
Спасибо большое!
efen вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Колличество строк в Мемо Ceme4kin Общие вопросы C/C++ 2 09.09.2010 13:45
Получить кол-во строк в Мемо MyLastHit Общие вопросы Delphi 2 22.08.2010 18:41
перенос строк удаление ненужных строк HelperAwM Microsoft Office Excel 5 26.06.2010 18:42
Мемо перенос строк MSD Помощь студентам 1 16.05.2010 18:22
количество заполненных строк в МЕМО designer999 Общие вопросы Delphi 5 15.04.2010 13:18