На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
... (продолжение следует) ...

Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...
Модераторы: jack128, D[u]fa, Shaggy, Rouse_
  
> Не удается добавить массив внутри функции?
    Не удается добавить массив внутри функции, хотя за пределами функции получается добавить?
    ExpandedWrap disabled
      unit Unit1;
       
      interface
       
      uses
        Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
        Dialogs;
       
      type
        TForm1 = class(TForm)
          procedure FormShow(Sender: TObject);
        private
          { Private declarations }
        public
          { Public declarations }
        end;
        function getAnim(x,y,width,height,frame:Integer):Integer;
      var
        Form1: TForm1;
       
       
         head:array[1..2,1..4] of Integer=
         ( (0, 0, 10, 9),
            (10, 0, 10, 9)
          );
       
       
      implementation
       
      {$R *.dfm}
      function getAnim(x,y,width,height,frame:Integer):Integer;
      var CPlace:array[1..5,1..4] of Integer;
      begin
         CPlace:=
         ((0, 0, 85, 37),
            (85, 0, 85, 37),
            (170, 0, 85, 37),
            (255, 0, 85, 37),
            (340, 0, 85, 37)
          );
      end;
      procedure TForm1.FormShow(Sender: TObject);
      begin
        getAnim(100,100,85,37,5);
      end;
       
      end.
      Локальные переменные в функции определены таким образом, что существуют они только во время выполнения функции. Переменные же вне функции существуют постоянно (глобально) и могут быть заранее инициализированы. Для локальных переменных функции нельзя использовать инициализатор как в глобальных переменных. Надо каждому элементу массива присваивать значение отдельно в циклах или можно объявить глобальную константу, инициализировать её и потом присвоить её локальной переменной в функции. Но для константы использующей в типе массивы понадобится дополнительно объявить пользовательский тип данных, иначе присвоение будет невозможно.
      ExpandedWrap disabled
        unit Unit1;
         
        interface
         
        uses
          Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
          Dialogs;
         
        type
          TCPlace = array[1..5,1..4] of Integer;
          TForm1 = class(TForm)
            procedure FormShow(Sender: TObject);
          private
            { Private declarations }
          public
            { Public declarations }
          end;
         
        function getAnim(x,y,width,height,frame:Integer):Integer;
         
        const
          getAnimCPlaceInitialization: TCPlace = ((0, 0, 85, 37),
              (85, 0, 85, 37),
              (170, 0, 85, 37),
              (255, 0, 85, 37),
              (340, 0, 85, 37)
            );
         
        var
          Form1: TForm1;
         
         
           head:array[1..2,1..4] of Integer=
           ( (0, 0, 10, 9),
              (10, 0, 10, 9)
            );
         
         
        implementation
         
        {$R *.dfm}
        function getAnim(x,y,width,height,frame:Integer):Integer;
        var CPlace:TCPlace;
        begin
           CPlace:= getAnimCPlaceInitialization;
        end;
        procedure TForm1.FormShow(Sender: TObject);
        begin
          getAnim(100,100,85,37,5);
        end;
         
        end.
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0352 ]   [ 16 queries used ]   [ Generated: 25.05.24, 05:58 GMT ]