Тема: Массивы
Показать сообщение отдельно
Старый 11.04.2012, 23:29   #4
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Массивы

На закуску парочку советов/фич (для MP 2.0.2)

1. Не юзай "неквадратные" массивы таких типов: Image и String. Иначе приложение работать не будет (зависнет при старте).

Пруф:
Попробуй скомпилировать вот этот код, и проверить работоспособность билда.
program ArrayTest;
var
ch:array [1..100,1..10] of image;

begin
	drawText('Hello world!', 0, 0);
	repaint;	
	delay(2000);
end.
2. Массив должен начинаться с нуля. То есть вместо LOL:array [1..100] of inetger; нужно писать LOL:array [0..99] of inetger;.

Казалось бы, какая разница? А вот разница то есть! Дело в том, что при компиляции МП автоматически приводит массивы к "нулевому типу". То есть первый из вышеприведенного примера превращается во второй. А запись типа x:=LOL[a]; превращается в x:=LOL[a-1];. "-1" как бэ является лишним и никому не нужным вычислением, почем зря нагружающим (пусть и немного) систему.

Пруф:
Нажмите на изображение для увеличения
Название: scr094.png
Просмотров: 928
Размер:	29.6 Кб
ID:	16614
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Amigo888 (16.04.2012)