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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2016, 09:32   #41
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Про сортировку забыл?
TList - на порядок меньше писанины. Вставка/удаление и всё такое...
Не забыл. Из не очень связных сообщений ТС понял, что есть список картинок, в имена которых заложена некая не связная нумерация, по которой нельзя их упорядочить. Вот он и хочет иметь этот список, к которому обращаться по индексу. И ни какого программного ведения типа вставки/удаления, а также сортировки этого списка в программе не предусматривается. Добавилась новая картинка - ручками в коде пополнить список. Что бы в коде не пополнять и предлагаю внешнюю таблицу в примитивной базе. Да и все по поводу TList имелось в виду именно к конкретной ситуации
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.04.2016, 21:21   #42
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Что бы в коде не пополнять
Обязательно пополнять именно в коде. Ведь это не просто числа и не картинки, совсем нет !
Это условия выполнения подпрограммы. Например:
Код:
begin

 case max of
    100:  begin
            Form1.Show;
            var_integer[C_the_choice_of_the_execution_path]:=100;  //номер customer : array of TCustomer; //выбор пути выполнения
            Customer[var_integer[C_the_choice_of_the_execution_path]].Customer_center_of_rotation.X:=264;//потом их заменим, где необходимо
            Customer[var_integer[C_the_choice_of_the_execution_path]].Customer_center_of_rotation.Y:=392;
            Customer[var_integer[C_the_choice_of_the_execution_path]].CustomerName:='*подать газ';//
            Customer[var_integer[C_the_choice_of_the_execution_path]].CustomerNumber:=100;
            Customer[var_integer[C_the_choice_of_the_execution_path]].Customerbmp:=bmps[7];


            coordinates[7].X:=0;     //показать пустой фон //варианты координат показа  Bitmap (это уже для показа)
            coordinates[7].Y:=0;
            Draw_a_picture30(coordinates[7],bmps[7]);        //

            control_array[2].where.X:=-2   ;
            control_array[2].where.Y:=-310   ;
            control_array[2].view:= bmps[0];


            control_array[3].where.X:=127   ;
            control_array[3].where.Y:=-305   ;
            control_array[3].view:= bmps[0];

            control_array[5].where.X:=-3   ;
            control_array[5].where.Y:=-153   ;
            control_array[5].view:= bmps[0];

            control_array[6].where.X:=127   ;
            control_array[6].where.Y:=-156   ;
            control_array[6].view:= bmps[0];


            control_array[8].where.X:=2   ;
            control_array[8].where.Y:=3   ;
            control_array[8].view:= bmps[0];

            control_array[9].where.X:=130   ;
            control_array[9].where.Y:=-3   ;
            control_array[9].view:= bmps[0];


           for      i_control := 0 to  control_array_size-1 do
           begin
           Draw_a_picture30(control_array[i_control].where ,control_array[i_control].view);
           end;
             //var_integer[C_parameter_output]:=3 ; ////параметр по которому произойдет выход из Timer1Timer (1 ниже-выше, 2 слева-справа, 3 поворот)
             Reset_timer;
             ClearTable;
             Timer1.Enabled:=false;                // WhereFurther(var_integer[C_Where_Further]);
             var_integer[C_Where_Further]:= 299+var_integer[20];     //  var_integer[20]:=1 ;// var_integer[20]:=1  - это обучение;
             var_integer[C_the_limit_of_the_output_parameter]:= -5; //выход из Timer1Timer произойдет при достижении этого значения параметра var_integer[C_parameter_output] (кроме поворота вокруг плюса!!!!!!!!!)
             var_integer[C_parameter_output]:= 2;  // (1 ниже-выше, 2 слева-справа, 3 поворот)

             var_integer[C_Where_Further]:= 1000;
             WhereFurther(var_integer[C_Where_Further]);
          end;

   200:  begin
             PlaySound('control_mechanism_does_not_work_properly', hInstance, SND_RESOURCE or SND_SYNC);
            coordinates[7].X:=0;                             //показать пустой фон
            coordinates[7].Y:=0;
            Draw_a_picture30(coordinates[7],bmps[7]);
            control_array[8].view:= bmps[2];                  //изменилось положение переключателя
            for i_control := 0 to  control_array_size-1 do    //перечислим все переключатели
           begin
           Draw_a_picture30(control_array[i_control].where ,control_array[i_control].view);
           end;
            Reset_timer;
             ClearTable;
             Timer1.Enabled:=false;                // WhereFurther(var_integer[C_Where_Further]);
             var_integer[C_Where_Further]:= 300;
             var_integer[C_the_limit_of_the_output_parameter]:= 50; //выход из Timer1Timer произойдет при достижении этого значения параметра var_integer[C_parameter_output] (кроме поворота вокруг плюса!!!!!!!!!)
             var_integer[C_parameter_output]:= 1;  // (1 ниже-выше, 2 слева-справа, 3 поворот)
         
          end;

    300:  begin
             Reset_timer;
             ClearTable;

             nameres:= 'sound';//видео из .res (1 столбец в .rc) например  nameres:= 'sound';
             classres:= 'AVI'; //класс например JPEG или avi (2 столбец в .rc)  например  classres:= 'AVI';
             sourcefile:= 'Video.avi';  //файл, который был превращен в ресурс (исходное название), будет восстановлен и использован) использован (3 столбец в .rc)
             Form2.VideoPlayerRes(nameres,classres,sourcefile);  //вызываю свою процедуру
             
          end;

    301:  begin
            //.......................................................
            end;

   1000:   begin
            Noop;
          end;

    23:   begin
            Noop;
          end;

  else Button3.Caption := '*не совпало';
  end;
 end;
То есть захотелось добавить чего то между 200 и 300...
Напишу, чего хочу и обозначу это например 205 и 245... впишу в любое место
Код:
 case max of
....
И впишу в массив указателей...
Надеюсь, что сортировка переставит указатели в порядке увеличения:200, 205, 245, 300...
Репутация: полный "0"

Последний раз редактировалось zvygin1964; 12.04.2016 в 08:19.
zvygin1964 вне форума Ответить с цитированием
Старый 12.04.2016, 09:54   #43
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Цитата:
Сообщение от newerow1989 Посмотреть сообщение
Код:
...
Да, так работает:
Код:
type
   pInteger=^Integer; //Тип "указатель на Integer число".
//С помощью этой функции реализуется сортировка чисел.
function 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.Button1Click(Sender: TObject);
var
  k:Integer;
  List: TList;
  pD:pInteger;
begin
  List:=TList.Create; //Создание списка.
  try
  for k:=0 to 16380 do   //Наполнение списка.
  begin
        New(pD);      //Резервируем память.
        pD^:=12632;  //Помещаем "нужное мне" число.
        List.Add(pD); //Добавляем к списку.
  end;
  List.Sort(Comp);    //Сортируем список.
  Memo1.Lines.Clear;  //Очищаем компонент Memo1.
  //Наполняем Memo1 и уничтожаем элементы списка.
  for k:=0 to List.Count-1 do
  begin
        pD:=List[k]; //Берем очередное число.
        Memo1.Lines.Add(FloatToStr(pD^)); //Помещаем в Memo1.
        Dispose(pD); //Уничтожаем число.
  end;
  finally
  List.Free; //Уничтожаем список.
  end;
 end;
end.
В каком месте тут 1 апреля ?
Репутация: полный "0"
zvygin1964 вне форума Ответить с цитированием
Старый 12.04.2016, 10:31   #44
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
В каком месте тут 1 апреля ?
Это ты про смех, дядьмиш?
Да тут рыдать надо... рукалицо.

Ты скажи, чего тебе сделать-то нужно, ёмаё?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 12.04.2016, 11:01   #45
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Раньше делал:
Из пункта №100 дойти в пункт №300 это (№пункта +200).
Через год я захотел зайти в несколько магазинов по пути.
Вот и решил пронумеровать все свои хотелки, ссыпать в один мешок, и доставать их по очереди.
Номера хотелок: №134, №150, №120.
Мой сегодня маршрут 100, 120, 134, 150, 300.
Может через год, я его захочу сменить.
Вот как это выглядит от №100 до №700:
(то, что вы видите - всё сделали Вы, я только ссыпал в кучу... )
Изображения
Тип файла: gif маршруты100-700.gif (84.0 Кб, 53 просмотров)
Репутация: полный "0"

Последний раз редактировалось zvygin1964; 12.04.2016 в 11:19.
zvygin1964 вне форума Ответить с цитированием
Старый 12.04.2016, 11:55   #46
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

это штото!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 12.04.2016, 12:16   #47
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Как там у вас с сахаром ? Отпуск с 27.04.2016. Хотите к вам в больничку приеду ?
Репутация: полный "0"
zvygin1964 вне форума Ответить с цитированием
Старый 12.04.2016, 12:34   #48
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

выписывают 20-го.
да и не далековато ехать-то?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 12.04.2016, 16:00   #49
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
это штото
мне нравится
Изображения
Тип файла: jpg это штото.JPG (57.3 Кб, 114 просмотров)
Репутация: полный "0"

Последний раз редактировалось zvygin1964; 12.04.2016 в 16:03.
zvygin1964 вне форума Ответить с цитированием
Старый 12.04.2016, 16:40   #50
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
мне нравится
да я про задачу!
Цитата:
Из пункта №100 дойти в пункт №300 это (№пункта +200).
Через год я захотел зайти в несколько магазинов по пути.
Вот и решил пронумеровать все свои хотелки, ссыпать в один мешок, и доставать их по очереди.
Номера хотелок: №134, №150, №120.
Мой сегодня маршрут 100, 120, 134, 150, 300.
Может через год, я его захочу сменить.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как объявить классовый массив, с большим числом? koker_007 Visual C++ 7 31.03.2015 19:46
Следующим президентом США будет республиканец Alar Свободное общение 18 17.04.2014 06:18
Написать программу, с помощью которой изображение будет разбиваться по пикселям и будет создаваться матрица andrey4515 Помощь студентам 2 08.01.2014 18:44
Точка с координатами х, у будет находиться в заштрихованной области, написать выражение которое будет истинным для данного рис. Polina S1 Помощь студентам 1 31.10.2013 16:38
Как работать с большим числом? phobos Общие вопросы C/C++ 2 21.04.2009 07:05