Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];

Вниз

D6 не хочет компилировать следущий код:   Найти похожие ветки 

 
Alx2 ©   (2005-08-08 13:05) [0]


procedure TForm1.Button1Click(Sender: TObject);
type TIndexSet = set of byte;
var Combines: array of TIndexSet;
 procedure Combine(n, p: Integer);
   procedure MakeCombine(Start, p: Integer; Res: TIndexSet);
   var k: Integer;
   begin
     if p > 0 then
       for k := Start to n do
         MakeCombine(k + 1, p - 1, Res + [k])
     else
     begin
       SetLength(Combines, Length(Combines) + 1);
       Combines[Length(Combines) - 1] := Res;
     end;
   end;
 begin
   MakeCombine(1, p, []);
 end;
begin
 SetLength(Combines, 0);
 Combine(5, 4);
end;


---------
Боже, куда катится это мир! :)


 
Anatoly Podgoretsky ©   (2005-08-08 13:19) [1]

Ваша жалоба принята во внимание, а вопрос есть?


 
Alx2 ©   (2005-08-08 13:21) [2]

>Anatoly Podgoretsky ©   (08.08.05 13:19) [1]

Вопроса нет. Есть факт глючности компилятора, коим делюсь.
А пост я отсылал в "Потрепаться". Зачем его перенесли сюда - непонятно.


 
Alx2 ©   (2005-08-08 13:27) [3]

Вдогонку посту [0]:
Результат компиляции в D6: "Internal error L1030"


 
Anatoly Podgoretsky ©   (2005-08-08 13:29) [4]

Вот до номера 3, была просто трепология, и зря выбросили из потрепаться, там ей место. А три говорит, что запудрил ты мозги компилятору. Довел его до ручки.


 
Alx2 ©   (2005-08-08 13:33) [5]

>Anatoly Podgoretsky ©   (08.08.05 13:29) [4]

>А три говорит, что запудрил ты мозги компилятору

Разве то, что я написал - неверно с точки зрения грамматики языка?

В D5, например, мозги этим не пудрятся.

PS
Трепологии сами не даете умереть. В [4] - она самая :)


 
Anatoly Podgoretsky ©   (2005-08-08 13:49) [6]

Нет, не удастся тебе стрелки перевести на меня. Бросил кусок кода, и вот теперь догадайтесь о чем это я.
Ты не сомневайся, здесь большие мастера по демагогии.


 
evvcom ©   (2005-08-08 13:51) [7]


> Alx2 ©   (08.08.05 13:33) [5]

У меня-то мозги запудрились от такой никчемной вложенности процедур. Что уж говорить про компилятор?
Хорошо бы такой код подробным комментарием снабдить, чтобы хоть какой-то смысл появился.


 
Alx2 ©   (2005-08-08 14:29) [8]

>evvcom ©   (08.08.05 13:51) [7]

>У меня-то мозги запудрились от такой никчемной вложенности
>процедур.

Я выцепил фрагмент и оформил, чтобы кому-нибудь проверить можно было. А мозговая пудра - это плохо.  Сочувствую.
И никчемность, она, знаешь, тоже относительна.

>Хорошо бы такой код подробным комментарием снабдить, чтобы хоть
>какой-то смысл появился

Цель - получить список всех сочетаний из n по p. (Биномиальные коэфициенты). Зачем я его получаю в явном виде - проверить одну идею (неважно какую, просто времянка).

procedure TForm1.Button1Click(Sender: TObject);
type TIndexSet = set of byte;
var Combines: array of TIndexSet;
procedure Combine(n, p: Integer); // генерируем все сочетания из n по p
  procedure MakeCombine(Start, p: Integer; Res: TIndexSet); // Внутренняя процедура, в которую вводится параметр Start для внесения упорядоченности в список сочетаний.
  var k: Integer;
  begin
    if p > 0 then
      for k := Start to n do
        MakeCombine(k + 1, p - 1, Res + [k])
    else
    begin
      SetLength(Combines, Length(Combines) + 1);
      Combines[Length(Combines) - 1] := Res;
    end;
  end;
begin
  MakeCombine(1, p, []);
end;
begin
SetLength(Combines, 0);
Combine(5, 4); // Просто для примера - список всех сочетаний из 5 по 4
end;

Только зачем эти комментарии тебе нужны? Вопрос ведь в другом - грамматически верный фрагмент не компилируется!
Но он нормально откомпилируется и заработает, если указать
type TIndexSet = set of 0..255;

>Anatoly Podgoretsky ©   (08.08.05 13:49) [6]

Виноват. Но весь вопрос был в "D6 не хочет компилировать следущий код". Наверное, стоило его задать как  "D6 не хочет компилировать следущий, грамматически верный, код"


 
pasha_golub ©   (2005-08-08 16:11) [9]

А может у тебя byte где-то переопределен?


 
timon84 ©   (2005-08-09 00:24) [10]

Вот только что проверил в Delphi 7 всё нормально компилиться


 
Lamer@fools.ua ©   (2005-08-09 08:33) [11]

>>Alx2 ©   (08.08.05 13:05)
>>Alx2 ©   (08.08.05 13:27) [3]

Подтверждаю. Не хочет.
Delphi 6.240 (Update Pack 2).


 
Lamer@fools.ua ©   (2005-08-09 08:39) [12]

Спасает ситуацию замена:
TIndexSet = set of 0 .. 255;


 
Думкин ©   (2005-08-09 09:05) [13]

Дельфи 6 мастдай, дельфи 7 форева. :)

Ну глючит Д6. Бывает. Напиши в подводные камни.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.038 c
6-1116075803
Stype
2005-05-14 17:03
2005.08.28
Программа для пересылки по сети


1-1123592512
SkipKod
2005-08-09 17:01
2005.08.28
Поиск текста


1-1123524604
Андрей Молчанов
2005-08-08 22:10
2005.08.28
Получить иконку папки для ShGetFileInfo


4-1121238081
webpauk
2005-07-13 11:01
2005.08.28
Запуск .lnk


1-1123490231
W0lfX
2005-08-08 12:37
2005.08.28
Иконка для расширения





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский