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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2009, 13:09   #1
Sitis
 
Регистрация: 13.04.2009
Сообщений: 7
Восклицание Помогите создать динамический массив из статического в готовой проге!)

Помогите мне пожалуйста в моей готовой проге прицепить динамический массив вместо статического (tc: array [1..5] of real) я просто вообще не представляю как это сделать или хотя б напишите тут часть кода чтоб выбиралась размерность StringGrid с помощю SpinEdit и всё это выводилось в Memo Помогите пожалуйста) Работа в 2009 Delphi так что может не компилироваться в 7 Delphi.
Задача.rar

Последний раз редактировалось Sitis; 14.04.2009 в 13:16.
Sitis вне форума Ответить с цитированием
Старый 14.04.2009, 13:19   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

перед "употреблением" динамического массива надо задать его размерность
SetLength(tc, 50);- задаём размерность на 50 элементов
Только учтите что элементы динамического массива всегда индексируются от нуля, т.е. для обращения (присвоения) к первому элементу нужно сделать tc[0]:=..
НА счёт изменения размерности грида с помощью SpinEdit можно так
Код:
procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
 StringGrid1.RowCount:=SpinEdit1.Value;
end;

Последний раз редактировалось SERG1980; 14.04.2009 в 13:25.
SERG1980 вне форума Ответить с цитированием
Старый 14.04.2009, 13:24   #3
Sitis
 
Регистрация: 13.04.2009
Сообщений: 7
По умолчанию

Цитата:
Сообщение от SERG1980 Посмотреть сообщение
перед "употреблением" динамического массива надо задать его размерность
SetLength(DynArray, 50);
А куда имеено это выписывать и что дальше?
Sitis вне форума Ответить с цитированием
Старый 14.04.2009, 13:27   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Если у вас один раз задаётся размерность то можно в событии OnCreate формы это записать
SERG1980 вне форума Ответить с цитированием
Старый 14.04.2009, 13:30   #5
Sitis
 
Регистрация: 13.04.2009
Сообщений: 7
По умолчанию

Я просто не совсем знаю делфи только учусь и как бы эти обяснения на словах не очень понятны вы не могли бы это в коде написать поподробней)

Я знаю что он задаётся так в варе и вместо 5 мы используем например kt
Код:
tc: array of real;
kt:integer;
и вот я как понимаю дальше должно выглядить так
Код:
 for i:=1 to kt do
      if Length(StringGrid2.Cells[ 0, i - 1]) <>0
      then tc[i] := StrToFloat(StringGrid2.Cells[ 0, i - 1])
      else tc[i] := 0;

Последний раз редактировалось Stilet; 16.04.2009 в 08:31.
Sitis вне форума Ответить с цитированием
Старый 14.04.2009, 13:37   #6
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Только наверно не tc[i] := а tc[i-1] := Повторюсь ещё раз
элементы динамического массива всегда индексируются от нуля, т.е. для обращения (присвоения) к первому элементу нужно сделать tc[0]:=..
А задать размерность в вашем случае можно после присвоения значения переменной kt

Последний раз редактировалось SERG1980; 14.04.2009 в 13:41.
SERG1980 вне форума Ответить с цитированием
Старый 14.04.2009, 13:47   #7
Sitis
 
Регистрация: 13.04.2009
Сообщений: 7
По умолчанию

Вы могли бы это в коде написать, а то всё ввёл а прога ваше не считает теперь(
Sitis вне форума Ответить с цитированием
Старый 14.04.2009, 14:37   #8
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Не могу открыть вашу программу
SERG1980 вне форума Ответить с цитированием
Старый 14.04.2009, 14:45   #9
Sitis
 
Регистрация: 13.04.2009
Сообщений: 7
Радость

Цитата:
Сообщение от SERG1980 Посмотреть сообщение
Не могу открыть вашу программу
Попробуйте тогда эту)
Задача1.rar
Sitis вне форума Ответить с цитированием
Старый 15.04.2009, 01:22   #10
Niarb
Пользователь
 
Регистрация: 23.02.2009
Сообщений: 38
По умолчанию

вот глянь что получилось... позволил себе немного улучшить начальный вариант
Вложения
Тип файла: zip Курсовая.zip (3.3 Кб, 10 просмотров)
Чем меньше вы знаете, тем больше я ценен как специалист...
Niarb вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена статического массива на динамический Славный Общие вопросы Delphi 1 11.06.2008 00:19
Подскажите, как создать динамический массив? snaem Общие вопросы .NET 9 14.05.2008 08:52
Динамический массив _ares_ Паскаль, Turbo Pascal, PascalABC.NET 3 26.12.2007 23:54
помогите: динамический массив в структуре tangar Общие вопросы C/C++ 4 28.12.2006 12:42