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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2011, 23:34   #1
paravoz1k
Пользователь
 
Аватар для paravoz1k
 
Регистрация: 26.03.2010
Сообщений: 78
По умолчанию Несовместимые типы - динамический и обычный массив.

Вот процедура, и обработчик кнопки меню. Ругается на то что в процедуре - массив не динамический, а в обработчике кнопки меню - динамический
Ума не приложу почему-так! Аналогично делал, все работало.
Господа знатоки, прошу помочь.
Цитата:
procedure prosto(var a: array of Char; value:integer);
var
i,j,p:integer;
begin

for i:=1 to value do
for j:=1 to value-i do
if ord(a[j]) > ord(a[j+1]) then
begin
p:=ord(a[j]);
a[j]:=a[j+1];
a[j+1]:=chr(P);
end;

end;



procedure TForm1.N10Click(Sender: TObject);
var
s: string;
i,j,p,value:integer;
a: array of Char;
begin
edit2.text := '';
value := Length(s) ;
s:= listbox1.Items[listbox1.itemindex];
setLength(a,value);
for i:= 1 to value do
a[i] := s[i];
prosto(a,value);
for i:= 1 to value do
edit2.text := edit2.text + A[i];





end;
Начинающий кодер Delphi + PHP
paravoz1k вне форума Ответить с цитированием
Старый 07.04.2011, 00:04   #2
vasilisk-green
Пользователь
 
Аватар для vasilisk-green
 
Регистрация: 14.11.2009
Сообщений: 21
Сообщение

Цитата:
procedure prosto(var a: array of Char; value:integer);
Как то это странно написано. Объявите новый тип и его используйте.

Код:
type ArrayOfChar = array of Char;
// . . .
procedure proc(var a: ArrayOfChar; value: integer);
// . . . 
proc(a, 10);

Последний раз редактировалось vasilisk-green; 07.04.2011 в 00:08. Причина: mildation
vasilisk-green вне форума Ответить с цитированием
Старый 07.04.2011, 09:53   #3
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

Цитата:
procedure prosto(var a: array of Char; value:integer);
Здесь формальным параметром объявлен не динамический, а открытый массив.
Между динамическим и открым массивами большая разница.
mss вне форума Ответить с цитированием
Старый 09.04.2011, 21:28   #4
vasilisk-green
Пользователь
 
Аватар для vasilisk-green
 
Регистрация: 14.11.2009
Сообщений: 21
Хорошо

mss, большое спасибо за напоминание.

Если кому понадобится:
Динамические типы данных
Динамические массивы
Открытые массивы
vasilisk-green вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический массив - или всё таки не динамический? vedro-compota Общие вопросы C/C++ 30 10.12.2010 23:22
несовместимые типы данных :( eldalex SQL, базы данных 5 22.11.2010 14:07
Необходимо сделать удаление как в динамическом массиве, сложность в том что массив обычный Сеня2007 Помощь студентам 3 22.11.2010 08:31
Вопрос про vector и обычный массив certman Общие вопросы C/C++ 2 02.04.2010 23:38
Ошибка про несовместимые типы SanekIrk Общие вопросы Delphi 2 08.09.2009 09:47