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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 26.02.2010, 15:38   #1
NSV
Форумчанин
 
Аватар для NSV
 
Регистрация: 27.05.2009
Сообщений: 127
По умолчанию Динамический массив TPoint

Здравствуйте!
Я как всегда с проблемой...
Вот написал простенькую программку...
Код:
procedure TForm1.Button1Click(Sender: TObject);
var pol: array[1..7] of TPoint;
    i: integer;
begin
  for i:= 1 to StrToInt(Edit1.Text) do
    begin
      pol[i].X:=random(300);
      pol[i].Y:=random(300);
    end;
  Form1.Canvas.Polygon(pol);
end;
Не знаю как сказать... В общем, нужно чтобы вместо "7" в массиве можно было поставить какую-нибудь переменную, а не константу, чтобы можно было прямо из "Edit1" задавать количество вершин в многоугольнике.
Т.е. проблема у меня с массивом (Видимо не до конца я понимаю то, как можно обойти проблему заранее установленной длины массива).
В поисковиках посмотрел, но что-то ничего не нашел.
Так что прошу бывалых не ругаться
Спасибо!

P.S. Если я не на правильном пути, то подскажите альтернативный вариант.
NSV вне форума
Старый 26.02.2010, 15:47   #2
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var pol: array of TPoint; // не задаем размер сразу
    i,n: integer;
begin
  n=StrToInt(Edit1.Text);
  SetLength(pol,n); // устанавливаем длину массива
  for i:= 0 to n-1 do  // если в массиве n элементов, то это элементы от 0 до n-1
    begin
      pol[i].X:=random(300);
      pol[i].Y:=random(300);
    end;
  Form1.Canvas.Polygon(pol);
end;
кстати, а в задаче обязательно использовать массив? без массива все будет гораздо проще.
Форматируйте код, будьте людьми.

Последний раз редактировалось Granus; 26.02.2010 в 15:53.
Granus вне форума
Старый 26.02.2010, 15:55   #3
NSV
Форумчанин
 
Аватар для NSV
 
Регистрация: 27.05.2009
Сообщений: 127
По умолчанию

Огромное спасибо, Granus!
SetLength - вот эта фишка мне и нужна была.
Теперь всё ОК!

Просьба чуть-чуть подправить '=' на ':=' и всё

Рас уж я зацепился за динамические массивы, то, скажите пожалуйста, как такое провернуть на паскале (и можно ли). На сколько я знаю, там нет динамических массивов.

Цитата:
кстати, а в задаче обязательно использовать массив? без массива все будет гораздо проще.
Думаю, что да, хотя... Не знаю. А как проще?

Последний раз редактировалось NSV; 26.02.2010 в 15:57.
NSV вне форума
Старый 26.02.2010, 15:59   #4
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

Цитата:
Просьба чуть-чуть подправить '=' на ':=' и всё
извиняюсь, привычка из Си)
Цитата:
На сколько я знаю, там нет динамических массивов.
На сколько я знаю, там их и правда нет
их можно реализовать по-другому:
http://algolist.manual.ru/ds/basic/simple_list.php
может поможет)
Форматируйте код, будьте людьми.
Granus вне форума
Старый 26.02.2010, 16:04   #5
NSV
Форумчанин
 
Аватар для NSV
 
Регистрация: 27.05.2009
Сообщений: 127
По умолчанию

Thank You Very Mach
NSV вне форума
Старый 26.02.2010, 18:14   #6
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

mUch) через U
Форматируйте код, будьте людьми.
Granus вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический массив Zhanna5006 Помощь студентам 7 10.01.2010 14:09
Динамический массив Ivin Мультимедиа в Delphi 14 27.02.2009 23:22
динамический массив Diller Помощь студентам 48 07.10.2007 16:43
Динамический массив. Mickle Помощь студентам 9 21.06.2007 20:31
Динамический массив Mickle Общие вопросы Delphi 8 19.06.2007 06:45