Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

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



Ответ
 
Опции темы
Старый 04.07.2016, 14:01   #1
zvygin1964
Троль, флудёр
Профессионал
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Адрес: Потресово Калужской_области Репутация: 10
Сообщений: 1,678
Репутация: 1097
По умолчанию Сортировать TList.

В Delphi 7 сортировало по возрастанию. А в Lazarus:
"Error: Wrong number of parameters specified for call to "Comp".
Код:

{ TForm1 }
type
   pInteger=^Integer; //Тип "указатель на Integer число".
 function TForm1.Comp(Item1, Item2: Pointer): Integer;
begin
  if pInteger(Item1)^ < pInteger(Item2)^ then Result:=-1
    else
       if pInteger(Item1)^ = pInteger(Item2)^ then Result:=0
       else
         if pInteger(Item1)^ > pInteger(Item2)^ then Result:=1;
end;
procedure TForm1.Sort_Work_on_the_points_WhereFurther;
var
  k:Integer;
  List: TList;
  pD:pInteger;
begin
 List:=TList.Create; //Создание списка.
  try
  for k:=0 to Work_on_the_points_WhereFurther_size-1 do   //Наполнение списка. (максимум 16380)
      //k - это var_integer[C_the_queue_in_the_array_of_action]   // очередь- последовательность номеров массива выбора сцен
      //Work_on_the_points_WhereFurther[var_integer[C_the_queue_in_the_array_of_action]] 'условный номер сабытия'
  begin
        New(pD);      //Резервируем память.
        pD^:=Work_on_the_points_WhereFurther[k];  //Помещаем "нужное мне" число.
        List.Add(pD); //Добавляем к списку.
  end;
  List.Sort(Comp);    //Сортируем список.
  for k:=0 to Work_on_the_points_WhereFurther_size-1 do    // Огласите весь список, пожалуйста... for k:=0 to List.Count-1 do
  begin
        pD:=List[k]; //Берем очередное число.
        Work_on_the_points_WhereFurther[k]:=trunc(pD^);// отсекает полностью дробную часть и заполняем массив заново
        Dispose(pD); //Уничтожаем число.
  end;
  finally
  List.Free; //Уничтожаем список.
  end;

Чего нужно сделать ?
__________________
Не программист вообще.
zvygin1964 вне форума   Ответить с цитированием
Старый 04.07.2016, 14:13   #2
Utkin
Профессионал
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Адрес: DuckBurg
Сообщений: 18,597
Репутация: 3901
По умолчанию

Код:

List.Sort(@Comp);

А так? Точно не уверен, но вроде зависит от директив компилятора...
__________________
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума   Ответить с цитированием
Старый 04.07.2016, 14:22   #3
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк, Украина
Сообщений: 15,482
Репутация: 5671
По умолчанию

И Comp не помешает убрать из методов формы:
Код:

function Comp(Item1, Item2: Pointer): Integer;

__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума   Ответить с цитированием
Старый 04.07.2016, 14:24   #4
zvygin1964
Троль, флудёр
Профессионал
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Адрес: Потресово Калужской_области Репутация: 10
Сообщений: 1,678
Репутация: 1097
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Код:

List.Sort(@Comp);

Не помогло.
__________________
Не программист вообще.
zvygin1964 вне форума   Ответить с цитированием
Старый 04.07.2016, 14:25   #5
zvygin1964
Троль, флудёр
Профессионал
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Адрес: Потресово Калужской_области Репутация: 10
Сообщений: 1,678
Репутация: 1097
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
И Comp не помешает убрать из методов формы:
Код:

function Comp(Item1, Item2: Pointer): Integer;

Куда ? Вопрос точнее: "В какое место убрать эту функцию ?".
__________________
Не программист вообще.
zvygin1964 вне форума   Ответить с цитированием
Старый 04.07.2016, 14:31   #6
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк, Украина
Сообщений: 15,482
Репутация: 5671
По умолчанию

Выбросить из описания класса формы декларацию: function Comp...
А в секции выполнения убрать TForm1. в function TForm1.Comp...
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума   Ответить с цитированием
Старый 04.07.2016, 14:34   #7
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 21,040
Репутация: 4789
По умолчанию

Цитата:
Сообщение от zvygin1964 Посмотреть сообщение
Куда ? Вопрос точнее: "В какое место убрать эту функцию ?".
посмотрите пример тут

и @ оставьте
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 04.07.2016, 14:50   #8
zvygin1964
Троль, флудёр
Профессионал
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Адрес: Потресово Калужской_области Репутация: 10
Сообщений: 1,678
Репутация: 1097
По умолчанию

"Проект "project1" успешно собран"
Спасибо.
__________________
Не программист вообще.
zvygin1964 вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировать от А до Я Rockot БД в Delphi 13 11.12.2013 14:39
Сортировать список СИ++ Человек Панда Помощь студентам 2 10.05.2011 21:45
сортировать файл ostapchyk bod9 Паскаль 0 03.04.2011 17:43
сортировать в массиве Ronaldo_7 Помощь студентам 4 06.12.2010 15:38
Сортировать по имени Манжосов Денис :) Помощь студентам 2 25.04.2008 10:12




00:58.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Покупайте на сайте www.skinon.ru уникальные чехлы и наклейки для телефонов.
таргетированный трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru