Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.11.2008, 17:56
boxep boxep вне форума
Прохожий
 
Регистрация: 20.10.2008
Сообщения: 49
Репутация: 10
По умолчанию Заполнение массива

Подскажите код как заполнить массив, через Edit и Button?
  #2  
Старый 16.11.2008, 18:11
ApplicatiOn ApplicatiOn вне форума
Активный
 
Регистрация: 28.02.2008
Сообщения: 388
Репутация: -10
По умолчанию

var
nmass: array[1..50] of string;

...

в событии на клик по кнопке пишем:

var
i: integer;

begin
for i:=1 to 50 do
nmass[i] := edit1.text;
end;

и вы забьете 50 ячеек массива текста edit1.text
  #3  
Старый 16.11.2008, 18:12
ApplicatiOn ApplicatiOn вне форума
Активный
 
Регистрация: 28.02.2008
Сообщения: 388
Репутация: -10
По умолчанию

i - индекс элемента массива
50 - это всего элементов
string - тип)

чтобы получить значение элемента пишем:

nmass[...значение нужного элемента...]

например:

edit1.text := nmass[2];
edit2.text := nmass[13];

или наоборот, присвоим)
  #4  
Старый 16.11.2008, 18:15
boxep boxep вне форума
Прохожий
 
Регистрация: 20.10.2008
Сообщения: 49
Репутация: 10
По умолчанию

Цитата:
Сообщение от ApplicatiOn
var
nmass: array[1..50] of string;

...

в событии на клик по кнопке пишем:

var
i: integer;

begin
for i:=1 to 50 do
nmass[i] := edit1.text;
end;

и вы забьете 50 ячеек массива текста edit1.text
Спасибо, а как сделать динамический массив что не 50 было ячеек, а автоматом увеличивалось?
  #5  
Старый 16.11.2008, 18:17
ApplicatiOn ApplicatiOn вне форума
Активный
 
Регистрация: 28.02.2008
Сообщения: 388
Репутация: -10
По умолчанию

SetLength(nmass,100);

зы: прокоментю

100 - новое значение.. задайте любую переменную чтобы она изменялась и все)

да, и..

var
nmass: array of string;

и всё тогда.. потом устанавливаем setlength

Последний раз редактировалось ApplicatiOn, 16.11.2008 в 18:20.
  #6  
Старый 16.11.2008, 18:25
boxep boxep вне форума
Прохожий
 
Регистрация: 20.10.2008
Сообщения: 49
Репутация: 10
По умолчанию

Цитата:
Сообщение от ApplicatiOn
SetLength(nmass,100);

зы: прокоментю

100 - новое значение.. задайте любую переменную чтобы она изменялась и все)

да, и..

var
nmass: array of string;

и всё тогда.. потом устанавливаем setlength

А вот у меня есть такая запись, но я что то разобратяс в ней не могу, да и не работает

var mas:array of strng;

begin
setlength(mas,length(mas)+1)
mas[length(mas)-1]:=edit1.text;
  #7  
Старый 16.11.2008, 18:29
ApplicatiOn ApplicatiOn вне форума
Активный
 
Регистрация: 28.02.2008
Сообщения: 388
Репутация: -10
По умолчанию

не strng а string

да и в чем должен заключаться смысл программы? вводить просто некий текст в массив по очереди? а потом доставать, так? если так то напишу..
  #8  
Старый 16.11.2008, 18:37
ApplicatiOn ApplicatiOn вне форума
Активный
 
Регистрация: 28.02.2008
Сообщения: 388
Репутация: -10
По умолчанию

на форме 2 кнопки и 3 эдита.

Код:
var
mas: array of string;
n: integer=1;

...

//это мы задаем...

procedure TForm1.Button1Click(Sender: TObject);
begin
setlenght(mas,n+1);
mas[n] := Edit1.Text;
n:= n+1;
end;

// забираем

procedure TForm1.Button2Click(Sender: TObject);
begin
Edit2.Text := mas[strtoint(edit3.text)];
end;

в edit3.text лежит индекс массива

в edit2.text выдается строка из массива по указанному индексу из edit3.text;
  #9  
Старый 16.11.2008, 18:38
boxep boxep вне форума
Прохожий
 
Регистрация: 20.10.2008
Сообщения: 49
Репутация: 10
По умолчанию

Цитата:
Сообщение от ApplicatiOn
не strng а string

да и в чем должен заключаться смысл программы? вводить просто некий текст в массив по очереди? а потом доставать, так? если так то напишу..
Да, именно с начало вводить числа в массив, а потом вывести их в Listbox
  #10  
Старый 16.11.2008, 18:43
ApplicatiOn ApplicatiOn вне форума
Активный
 
Регистрация: 28.02.2008
Сообщения: 388
Репутация: -10
По умолчанию

такой же приведенный метод, только заместо

Edit2.Text := mas[strtoint(edit3.text)];

надо вывести все элементы в лист бокс (если по очереди)

если надо все, то в цикл..
  #11  
Старый 16.11.2008, 18:44
boxep boxep вне форума
Прохожий
 
Регистрация: 20.10.2008
Сообщения: 49
Репутация: 10
По умолчанию

Спасибо огромное!!!
  #12  
Старый 16.11.2008, 18:48
ApplicatiOn ApplicatiOn вне форума
Активный
 
Регистрация: 28.02.2008
Сообщения: 388
Репутация: -10
По умолчанию

Код:
procedure TForm1.Button2Click(Sender: TObject);
var
i: integer;
begin
ListBox1.Clear;
for i:= 1 to n do
ListBox1.Items.Add(mas[i]);
ShowMessage('Загружено!');
end;
  #13  
Старый 16.11.2008, 18:48
ApplicatiOn ApplicatiOn вне форума
Активный
 
Регистрация: 28.02.2008
Сообщения: 388
Репутация: -10
По умолчанию

так, в дорожку))
Закрытая тема


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:37.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter