Конференция "WinAPI" » Процедуры и функции
 
  • Артём (21.08.13 21:03) [0]
    Так! У меня скопилось нереальное количество процедур и функций в главной форме делфи! (ну и мудак скажете вы) знаю, но я любитель! Можно ли куда то их все деть кроме библиотеки длл? В идеале я хочу каждую функцию или процедуру видеть в отдельной вкладке как юниты например (как на сишарпе) а не аналогичное их мегасборище в длл, тем более я их все использую, так что не вижу смысла создавать для них длл. Есть что нить?)
  • Артём (21.08.13 21:30) [1]
    Как вариант наверное можно использовать юниты ? и делать типо этого
    unit Unit2;

    interface
    function lala(X: String): String;

    implementation

    function lala(X: String): String;
    begin
     Result := X+' Тра-ля-ля'
    end;

    end.
  • brother © (21.08.13 21:43) [2]
    это лучшее решение...
  • Артём (21.08.13 22:55) [3]


    function Stat1(): TListBox;
     var
     ListBox1:TListBox;
      begin
       ListBox1.Clear;
       ListBox1.Items.Add('Работай');
       ListBox1.Items.Add('Не хочу');

       Result:=ListBox1;

    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin

    ListBox1.Items.Assign(Stat1().Items);

    end;




    Что то тут не так) скорей всего мб как то результат не правильно вывожу?
    нужно заполнить листбокс 1 содержимым листбокса из функции
  • ProgRAMmer Dimonych © (21.08.13 23:05) [4]
    О-о-о, батенька, Вам бы матчасть подучить. Память-то потекла, да и целый листбокс возвращать — тоже перебор.
  • ProgRAMmer Dimonych © (21.08.13 23:06) [5]
    P.S. Прозевал. Не потекла, а даже не выделилась. Мусор и возвращается. Неудивительно, что Access Violation идёт. Он ведь?
  • Артём (21.08.13 23:09) [6]
    Да да, уважаемый, всё верно) Ну я проганием занимался где то 6-7 классе, я сейчас я универ закончил, не удивительно что что то течёт)
    Да я раньше не заморачивался если надо фигачил на форму листбокс, а сейчас решил приподняться уровнем) и в функции все сделать, но мозгов не хватает)
  • Артём (22.08.13 00:09) [7]

    function Stat1: TStringList ;
    var ListBox1: TStringList;
      begin
       ListBox1:=TStringList.Create();
        ListBox1.Add('Работай');
        ListBox1.Add('Я супер');
        Result:=ListBox1;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin

    ListBox1.Items.Assign(Stat1);

    end;



    Пока сделал что вроде этого, дальше может разберусь)
  • Германн © (22.08.13 00:43) [8]

    > function Stat1: TStringList ;
    >  var ListBox1: TStringList;
    >    begin
    >     ListBox1:=TStringList.Create();
    >      ListBox1.Add('Работай');
    >      ListBox1.Add('Я супер');
    >      Result:=ListBox1;
    >  end;

    Зачем столько лишних букв?
    function Stat1: TStringList ;
    begin
     Result:=TStringList.Create();
     Result.Add('Работай');
     Result.Add('Я супер');
    end;

  • Сергей М. © (22.08.13 21:12) [9]

    > универ закончил, не удивительно что .. мозгов не хватает


    И правда - чему тут удивляться ?)
  • icWasya © (28.08.13 16:27) [10]
    Только более правильный вариант

    procedure Stat1(List: TStrings);
    begin
     List.Clear();
     List.Add('Работай');
     List.Add('Я супер');
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin

      Stat(ListBox1.Items);

    end;

 
Конференция "WinAPI" » Процедуры и функции
Есть новые Нет новых   [119104   +96][b:0][p:0.001]