Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обращение к элементам массива, как обратиться к первому "столбцу" 
:(
    Опции темы
neweraser
Дата 14.3.2008, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 17.2.2008

Репутация: нет
Всего: 6



господа программисты!
мож чуть нетак тему описал, ни как не может дойти до меня обращение с массивами, ситуация у меня такая:
есть массив (двумерный), я записываю в него значения из 2-х листбоксов, делаю я это так
Код

procedure TMainForm.Button1Click(Sender: TObject);
var
  mas: array[1..1000, 1..1000];
  i, j: integer;
begin  
  for i:= 0 to listbox1.Items.Count - 1 do
  Mas[1000, i]:= (listbox1.Items[i]);
  for j:= 0 to listbox2.Items.Count - 1 do
  Mas[j, 1000]:= (listbox2.Items[j]);
end;

вопрос: можно по-другому обращаться к массиву? а то 
Код

Mas[1000, i]:= (listbox1.Items[i]);

как-то страшно выглядит


--------------------
Кто ищет, тот всегда найдет.
PM MAIL ICQ Skype   Вверх
bems
Дата 14.3.2008, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



Цитата(neweraser @  14.3.2008,  20:00 Найти цитируемый пост)
mas: array[1..1000, 1..1000];
это точно работает?



--------------------
Обижено школьников: 8
PM MAIL   Вверх
ivan219
  Дата 14.3.2008, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



neweraser, У тебя массив 1000 * 1000 элементв т.е. 1000000 а ты используешь всего 2000 зачем остальные smile 
Да и тип у массива не указал smile 
Код

procedure TMainForm.Button1Click(Sender: TObject);
var
  mas: array[0..1, 0..999] of {Твой тип};
  i, j: integer;
begin  
  for i:= 0 to listbox1.Items.Count - 1 do
   Mas[0, i]:= (listbox1.Items[i]);
  for j:= 0 to listbox2.Items.Count - 1 do
   Mas[1, j]:= (listbox2.Items[j]);
end;

P.S. но лучше всего использовать данамический массив.

Это сообщение отредактировал(а) ivan219 - 14.3.2008, 20:23
PM MAIL ICQ   Вверх
neweraser
Дата 14.3.2008, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 17.2.2008

Репутация: нет
Всего: 6



тип массива забыл дописать string  smile , так вроде работает, у меня в i записываются размеры файлов, а в j пути к ним. а это точно будет работать
Цитата(ivan219 @  14.3.2008,  20:20 Найти цитируемый пост)
mas: array[0..1, 0..999]
?



--------------------
Кто ищет, тот всегда найдет.
PM MAIL ICQ Skype   Вверх
ivan219
  Дата 14.3.2008, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Цитата(neweraser @  14.3.2008,  21:13 Найти цитируемый пост)
это точно будет работать

Я лишь подправил твой! Алгоритм.
Но работать будет smile 

Это сообщение отредактировал(а) ivan219 - 14.3.2008, 21:45
PM MAIL ICQ   Вверх
ivan219
  Дата 14.3.2008, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Цитата(neweraser @  14.3.2008,  21:13 Найти цитируемый пост)
у меня в i записываются размеры файлов, а в j пути к ним.

Если они одинакового размера т.е. число размеров файлов = числу путей к этим файлам то можно и так:
Код

procedure TMainForm.Button1Click(Sender: TObject);
var
  mas: array[0..1, 0..999] of String;
  i: integer;
begin  
 {При условии что ListBox1.Items.Count = ListBox2.Items.Count }
 if ListBox1.Items.Count <= 1000 then
  for I := 0 to listbox1.Items.Count - 1 do
   begin
    Mas[0, I]:= (listbox1.Items[I]);
    Mas[1, I]:= (listbox2.Items[I]);
   end;
end;


Добавлено через 2 минуты и 57 секунд
P.S.  mas это локальная переменная и по завершению процедуры Button1Click она исчезнет так что если тебе нужен кней постоянный доступ зделай её глобальной.
Код

var
  Form1: TForm;
  mas: .....

PM MAIL ICQ   Вверх
Albinos_x
Дата 14.3.2008, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Цитата(neweraser @  14.3.2008,  21:13 Найти цитируемый пост)
?


Цитата(neweraser @  14.3.2008,  20:00 Найти цитируемый пост)
procedure TMainForm.Button1Click(Sender: TObject);var  mas: array[1..1000, 1..1000];  i, j: integer;begin    for i:= 0 to listbox1.Items.Count - 1 do  Mas[1000, i]:= (listbox1.Items[i]);  for j:= 0 to listbox2.Items.Count - 1 do  Mas[j, 1000]:= (listbox2.Items[j]);end;

это про то. что у тебя массив с 1, а обращаешся с 0...


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
neweraser
Дата 15.3.2008, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 17.2.2008

Репутация: нет
Всего: 6



Спасибо!
во всем разобрался и все получается.

Это сообщение отредактировал(а) neweraser - 15.3.2008, 02:07


--------------------
Кто ищет, тот всегда найдет.
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0581 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.