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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2016, 14:33   #11
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
Project1.exe я вручную написал.
Зачем?! Чтобы ввести в заблуждение? Что за дурь такая?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 14.05.2016, 14:58   #12
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

посмотрел исходник! Ааааааааааа, [много мата] !!


глобальные переменные, КАРЛ!! Динамические, мать их, массивы!

Код:
var
  Form1: TForm1;
  ReportMemoryLeaksOnShutdown: Boolean; //Ищем утечки памяти
  bmps: array of TBitmap; //выгрузим тут изображения из .RES, они тут будут с названиями img1, img2 .. img30
  coordinates: array of TPoint;//варианты координат показа сцен Bitmap (это уже для показа)
  customer : array of TCustomer; //выбор пути выполнения
  coordinate_Down_Up_Left_Right: array of TPoint;//координаты нажатия: внизу-вверху, слева-справа от центра поворота
  coordinate_rotation: array of TPoint;//координаты поворота (для определения направления поворота)
  ArcTan2_coordinate_rotation: array of integer;//если поворот сделан по часовой стрелке +1, против часовой -1
  var_integer: array of integer;// все локальные переменные с такими свойствами:
  M_parameter_output: array of string;  //названия параметров по которому произойдет выход из Timer1Timer (0 не используется, 1 ниже-выше, 2 слева-справа, 3 поворот)
 Work_on_the_points_WhereFurther : array of Integer; //исходные числа (Work on the points)
А это - обработчик события таймера!

Код:
procedure TForm1.Timer1Timer(Sender: TObject); //Interval 20
var                                             //положение курсора до первого срабатывания  Timer  не учитывается
  X_rotation, Y_rotation:Integer;               //текущие координаты
  Trunc_ArcTan2: Extended;                      //угол направления поворота со знаком
  numerator_ArcTan2: Extended;                  //the numerator and denominator (числитель и знаменатель   ArcTan2)
  ErrorArcTan: Extended;                        //знаменатель в дроби не должен оказаться равен "нулю"
  E: Tpoint;                                    //нужна для E:=ScreenToClient(Form1.FDesignSize);
  local_variable:Integer;  //    локальная переменная

begin
         E:=ScreenToClient(Form1.FDesignSize);
        var_integer[C_the_counter_intervals]:= var_integer[C_the_counter_intervals]+1;  //счетчик времени     //   moment_time:= moment_time+1;
        X_rotation:=Mouse.CursorPos.X+E.X-Customer[var_integer[C_the_choice_of_the_execution_path]].Customer_center_of_rotation.X ;       //текущие координаты приведенные к полюсю полярной системы координат поворота
        Y_rotation:=Mouse.CursorPos.Y+E.Y-Customer[var_integer[C_the_choice_of_the_execution_path]].Customer_center_of_rotation.Y ;
        Endless_array(var_integer[C_intervals_of_time], Ncolumn); //показ первой строки procedure бесконечный_массив(номер_массива_переменных; ограничение_массива)
        StringGrid1.Cells[ var_integer[C_intervals_of_time],1]:=IntToStr(var_integer[C_the_counter_intervals]); //[столбуец , строка]
        Endless_array(var_integer[C_the_coordinates_of_the_pressing_Down_Up_left_right], beyond_control);  // переполнения массива координаты нажатия не будет  //пределы регулирования  координаты нажатия
    if    (Y_rotation<0)
    then  coordinate_Down_Up_Left_Right[ var_integer[C_the_coordinates_of_the_pressing_Down_Up_left_right]].Y:=1    //нажал выше центра
    else  coordinate_Down_Up_Left_Right[ var_integer[C_the_coordinates_of_the_pressing_Down_Up_left_right]].Y:=-1  ;  //нажал ниже центра

        Endless_array(var_integer[C_show_in_the_table_coordinate_Down_Up_Left_Right], Ncolumn); //// переполнения  StringGrid не будет
        StringGrid1.Cells[var_integer[C_show_in_the_table_coordinate_Down_Up_Left_Right],7]:=FloatToStr(coordinate_Down_Up_Left_Right[var_integer[C_the_coordinates_of_the_pressing_Down_Up_left_right]].Y);

        var_integer[C_pressed_recently_Down_Up_Left_Right_Y]:=var_integer[C_pressed_recently_Down_Up_Left_Right_Y]+coordinate_Down_Up_Left_Right[ var_integer[C_the_coordinates_of_the_pressing_Down_Up_left_right]].Y; //место нажатия; сумма всех измерений
        StringGrid1.Cells[0,7]:='*  если нажал от полюса полярной системы координат ниже, то  "-1" или выше, то "1" '+ FloatToStr(var_integer[C_pressed_recently_Down_Up_Left_Right_Y]);


    if    (X_rotation>=0)
    then  coordinate_Down_Up_Left_Right[var_integer[C_the_coordinates_of_the_pressing_Down_Up_left_right]].X:=1    //нажал правее центра
    else  coordinate_Down_Up_Left_Right[var_integer[C_the_coordinates_of_the_pressing_Down_Up_left_right]].X:=-1  ;  //нажал левее центра


{ -------------------
  тут ещё 10 кб говнокода
 --------------------}

end;

Дядьмиш, не пиши больше! Нинадааааа!11111
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 14.05.2016, 15:11   #13
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,755
По умолчанию

Нужен доктор. Обоим.
Vapaamies вне форума Ответить с цитированием
Старый 14.05.2016, 15:12   #14
tsar_
Форумчанин
 
Аватар для tsar_
 
Регистрация: 06.01.2011
Сообщений: 369
По умолчанию

Да, исходник хорош.

Ну, чтоб по-быстрому, закомментируйте вот это в TForm1.FormClose:
Код:
{
    for i:=0 to control_array_size-1 do //говорят, что так я очистил память
  begin
     control_array[i].view.Free;
  end;
}
Программирую по необходимости
tsar_ вне форума Ответить с цитированием
Старый 14.05.2016, 15:22   #15
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Спасибо. Получилось. Сколько я вам должен и как перечислить напишите в л/с.
Репутация: полный "0"
zvygin1964 вне форума Ответить с цитированием
Старый 05.06.2016, 08:11   #16
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Цитата:
Сообщение от Vapaamies Посмотреть сообщение
Нужен доктор. Обоим.
Медкомиссия дала заключение : "Практически здоров!"
В том числе 120/80 мм.рт.ст. и другие очень особенные специалисты.
Репутация: полный "0"
zvygin1964 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как закрыть форму? MIKE11IPME Windows Forms 8 11.08.2013 02:07
Закрыть вторую форму WhiteForge Общие вопросы Delphi 19 03.11.2012 22:04
Закрыть форму по команде TsaveDialog kta87 Общие вопросы Delphi 10 21.05.2012 20:10
Закрыть и открыть форму Swatch Microsoft Office Access 1 31.05.2010 23:04
Как закрыть форму при показе RIO Общие вопросы Delphi 4 28.08.2009 07:54