Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Многомерный массив


Автор: dimonskif 3.11.2006, 09:17
Помогите разобраться с многомерным массивом.
Есть задача:
Дни недели и события, которые должы происходить в эти дни
Код

procedure TForm1.FormCreate(Sender: TObject);
var
week: array[1..7, 1..50] of string;
day:integer;
begin
DateTimePicker1.Time:=y;
 week[1][0] := 'Воскресенье';
 week[2][0] := 'Понедельник';
 week[3][0] := 'Вторник';
 week[4][0] := 'Среда';
 week[5][0] := 'Четверг';
 week[6][0] := 'Пятница';
 week[7][0]:= 'Суббота';
day:=DayOfWeek(Date);
end;

как добавить событие в день?
Код

week[1][1] := 'Завтрак!';
week[1][2] := 'Обед!';
week[2][1] := 'Завтрак!';
week[2][2] := 'Обед!';

 и т. д.? smile 

Автор: Snowy 3.11.2006, 10:04
Так и добавить.
Разве не работает?

Автор: Guedda 3.11.2006, 10:14
Код

for i := 1 to 7 do begin
  week[i,1] := 'Завтрак';
  week[i,2] := 'Обед';
end;

Автор: dimonskif 3.11.2006, 12:13
Не это ясно, а вот как поменять первую часть массива(т.е сменить день), не затрагивая его содержимое.

Автор: Zero 3.11.2006, 12:21
Цитата(dimonskif @  3.11.2006,  13:13 Найти цитируемый пост)
Не это ясно, а вот как поменять первую часть массива(т.е сменить день), не затрагивая его содержимое.

Первая часть массива это не дни, это можно сказать измерения по оси x.
А то что ты в начале с нулями по Y привёл, то это как раз не должно работать, т.к. в типе объявлено от единицы начало.

Автор: dimonskif 3.11.2006, 13:09
 я образно назвал измерения по оси x днями.
перефразирую.
Как внести изменения данных измерения по оси x , не затрагивая данные по оси у?

Автор: Guedda 3.11.2006, 16:09
Цитата(dimonskif @  3.11.2006,  13:09 Найти цитируемый пост)
Как внести изменения данных измерения по оси x , не затрагивая данные по оси у? 

Посмотри мой коммент выше. Там всё написано.

Автор: Zero 4.11.2006, 20:47
Грубо говоря, твоя процедура должна выглядеть так:
Код

procedure TForm1.FormCreate(Sender: TObject);
var
week: array[1..50, 1..7] of string;
day:integer;
begin
DateTimePicker1.Time:=y;
for i:=1 to 50 do  
begin 
 week[i,7] := 'Воскресенье';
 week[i,1] := 'Понедельник';
 week[i.2] := 'Вторник';
 week[i,3] := 'Среда';
 week[i,4] := 'Четверг';
 week[i,5] := 'Пятница';
 week[i,6]:= 'Суббота';
end;
day:=DayOfWeek(Date);
end;

Только тип должен быть не:
Код

week: array[1..7, 1..50] of string;

А вот так:
Код

week: array[1..50, 1..7] of string;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)