Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
tipo4ek
11 / 10 / 3
Регистрация: 12.10.2010
Сообщений: 268
1

Ввести массив в Memo одной строкой

25.10.2010, 23:41. Просмотров 1377. Ответов 16
Метки нет (Все метки)

Народ , понимаю , что вопрос тупейший , но почему у меня не получается ввести массив в Memo одной строкой . Вот мой код :
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure TForm1.Button1Click(Sender: TObject);
var
a:array of integer;
i:integer;
s:string;
begin
memo1.Clear;
s:='';
s:=(edit1.Text);
edit1.SetFocus;
for i:=0 to high(a) do  begin
s:=s+' ';
s:=s+' '+inttostr(a[i]);
end;
memo1.Lines.Add(s);
end;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2010, 23:41
Ответы с готовыми решениями:

Вывод в Memo по Таймеру одной строкой
Доброго всем времени суток. Имеется прога по таймеру выполняет следующее: Если...

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

Замена одной строки поля мемо другой строкой
Здравствуйте, помогите,пожалуйста разобраться. Необходимо с помощью...

Строка: Есть ли способ одной строкой менять несколько букв?
var a, b : string; begin a := 'ПРИВЕТ'; b := StringReplace(a, 'П',...

Надо передать все значения от TStringList в TListbox одной строкой
Чета уже туплю Надо передать все значения от TStringList в TListbox одной...

16
Puporev
Модератор
54582 / 42088 / 29061
Регистрация: 18.05.2008
Сообщений: 99,260
26.10.2010, 10:47 2
Delphi
1
2
for i:=0 to high(a) do 
Memo1.text:=Memo1.text+' '+inttostr(a[i]);
0
tipo4ek
11 / 10 / 3
Регистрация: 12.10.2010
Сообщений: 268
26.10.2010, 15:19  [ТС] 3
этот способ не работает или я код вставил не правильно . я пишу в edit значения ,а в memo эти элементы массива выводятся в строку .
0
Puporev
Модератор
54582 / 42088 / 29061
Регистрация: 18.05.2008
Сообщений: 99,260
26.10.2010, 15:20 4
Цитата Сообщение от tipo4ek Посмотреть сообщение
но почему у меня не получается ввести массив в Memo одной строкой
Цитата Сообщение от tipo4ek Посмотреть сообщение
а в memo эти элементы массива выводятся в строку .
Тебе что нужно, родимый?
0
tipo4ek
11 / 10 / 3
Регистрация: 12.10.2010
Сообщений: 268
26.10.2010, 15:22  [ТС] 5
я уже написал в предыдущем сообщении .
0
Puporev
Модератор
54582 / 42088 / 29061
Регистрация: 18.05.2008
Сообщений: 99,260
26.10.2010, 15:23 6
Цитата Сообщение от tipo4ek Посмотреть сообщение
я уже написал в предыдущем сообщении .
Ну написал и написал. Хорошо. Балдей, Вася...
0
tipo4ek
11 / 10 / 3
Регистрация: 12.10.2010
Сообщений: 268
26.10.2010, 15:33  [ТС] 7
Ну и к чему ты это написал . ты спросил , я что бы не переписывать ,я сказал ,что мое сообщение с просьбой находится выше .

Добавлено через 5 минут
народ , если можете подкорректируйте мой код . вопрос вроде легкий , а у самого сделать не выходит .
0
Kridan
65 / 65 / 11
Регистрация: 08.10.2010
Сообщений: 138
26.10.2010, 16:01 8
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TForm1.Button1Click(Sender: TObject);
var
a:array of integer; // Объявили локальный массив, но не заполняем его
i:integer;
s:string; // строка локальная
begin
  memo1.Clear; // Очистили мемо (нет строк)
  s:=''; // строка очищена (пустая)
  s:=(edit1.Text); // строка приняла значение из эдита
  edit1.SetFocus; // поставили курсор в эдит
  for i:=0 to high(a) do  begin //для i от нуля до нуля (массив-то не заполнен)
    s:=s+' '; //добавляем в конец строки пробел
    s:=s+' '+inttostr(a[i]); //добавляем в конец строки пробел и ничего (массив то пустой)
    // хотя мне не понятно, почему при использовании динамического массива
    // до объявления его длины не выходит ошибка
    end;
  memo1.Lines.Add(s); // добавляем ОДНУ строку S к пустому мэмо
end;
end.
Чтобы не повторяться процитирую
Цитата Сообщение от Puporev Посмотреть сообщение
Тебе что нужно, родимый?
0
tipo4ek
11 / 10 / 3
Регистрация: 12.10.2010
Сообщений: 268
26.10.2010, 16:07  [ТС] 9
есть Edit , Memo . В Edit ввожу элементы массива(одномерного и динамического) , в Memo они должны выводится в строку . Я просто делаю так :
Delphi
1
memo1.text:=memo1.text+' '+inttostr(a[i]);
но у меня код неверный . поэтому и работает вроде не правильно .
0
Kridan
65 / 65 / 11
Регистрация: 08.10.2010
Сообщений: 138
26.10.2010, 16:50 10
Цитата Сообщение от tipo4ek Посмотреть сообщение
В Edit ввожу элементы массива(одномерного и динамического)
Значит массив есть не только во время нажатия на кнопку? И он должен жить между нажатиями?
Delphi
1
2
3
4
5
implementation
 
{$R *.dfm}
var
a:array of integer;
При нажатии на кнопку к массиву должен прибавляться элемент?
Delphi
1
2
3
4
procedure TForm1.Button1Click(Sender: TObject);
begin
  SetLength(a, Length(a)+1);
  a[High(a)]:=StrToIntDef(edit1.Text, 0);
При нажатии этой кнопки мэмо должно содержать уже новый массив?
Delphi
1
memo1.text:=memo1.text+' '+inttostr(a[High(a)]);
0
tipo4ek
11 / 10 / 3
Регистрация: 12.10.2010
Сообщений: 268
26.10.2010, 16:59  [ТС] 11
ну ты вводишь число в edit , нажимаешь button и в memo должен появиться введенный элемент массива (должны выводиться в строку ) .
Delphi
1
2
3
4
procedure TForm1.Button1Click(Sender: TObject);
var
a:array of integer;
i:integer;
то есть по нажатию , на кнопку .
0
Kridan
65 / 65 / 11
Регистрация: 08.10.2010
Сообщений: 138
26.10.2010, 17:09 12
Хорошо. Ещё наводящие вопросы:
"В строку" - это значит "двадцать пять" или "25"?
В эдит вводишь не элемент массива, а его номер по порядку?
Или "в строку" - это в одной строке, один элемент?
0
Sanprof
95 / 95 / 16
Регистрация: 28.01.2008
Сообщений: 426
26.10.2010, 17:15 13
если все так просто, зачем усложнять себе жизнь???
Delphi
1
2
3
4
procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.Text := Memo1.Text + Edit1.Text + ' ';
end;
0
tipo4ek
11 / 10 / 3
Регистрация: 12.10.2010
Сообщений: 268
26.10.2010, 21:45  [ТС] 14
ну смотри , например ты вводишь в edit 25 , нажимаешь кнопку и в memo выводится это число . ВСЕ числа , которые ты вводишь в edit отображаются в memo , в одну строку .

Добавлено через 17 минут
например ввожу в edit "2" . в memo это будет отображаться так :
2
потом например ввожу в edit "11" . в memo это будет отображаться так :
2 11
потом ввожу в edit "6" . в memo это будет отображаться так :
2 11 6
вот о чем я вас просил

Добавлено через 3 часа 19 минут
народ помогите с вопросиком . а то такая мелочь , а сделать не получается
0
Kridan
65 / 65 / 11
Регистрация: 08.10.2010
Сообщений: 138
26.10.2010, 23:37 15
Цитата Сообщение от tipo4ek Посмотреть сообщение
народ помогите с вопросиком . а то такая мелочь , а сделать не получается
Вот здесь всё, что тебе нужно, только в конструкторе форм из мэмо текст удали.
И хватит тролить.
0
tipo4ek
11 / 10 / 3
Регистрация: 12.10.2010
Сообщений: 268
27.10.2010, 01:17  [ТС] 16
этот вариант не работает . он не реагирует на нажатие кнопки .
0
Puporev
Модератор
54582 / 42088 / 29061
Регистрация: 18.05.2008
Сообщений: 99,260
27.10.2010, 07:17 17
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
var
  Form1: TForm1;
  n:integer=0; //глобальная переменна-счетчик, он же размер массива
  a:array of integer;//массив
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
n:=n+1;//считаем
Setlength(a,n);//увеличиваем размер массива
Memo1.Text:=Memo1.Text+Edit1.Text+'  '; //пишем в Мемо
a[n-1]:=Strtoint(Edit1.Text);  //в массив
Edit1.Clear; //чистим
Edit1.SetFocus;  //передаем фокус
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var j:integer;
begin
for j:=0 to n-1 do  //контрольный вывод, так, посмотреть...
Memo2.Text:=Memo2.Text+Inttostr(a[j])+'  ';
end;
0
27.10.2010, 07:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2010, 07:17

При нажатии на кнопку добавлять по одной строке из файла в поле Memo
как при нажатии на одну и ту же кнопку добавлять по одной строке в поле memo...

Отсортируйте массив по возрастанию, отсортированный массив выведите в memo.
Создайте одномерный массив случайных чисел и выведите его в memo (размер...

Delphi!? В memo в одной из строк находиться вот такой текст 211:05, нужно удалить 2???
вот так наглядней будет, полный текст мемо: Т/с Возвращение Мухтара- 211:05...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru