На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Закрыто archimed7592 11-03-2008: Лимит страниц. Продолжаем Delphi vs C++

Страницы: (117) « Первая ... 23 24 [25] 26 27 ...  116 117  ( Перейти к последнему сообщению )  
> Delphi vs C++ , Часть 1
    вопрос вообще ньюб поднял... наверное потому, что хотят искоренить зло :D
      Цитата Profi @
      Кстати, что меня больше всего удивляет, это то, что Delphi’сты никогда не начинают кричать первыми: «C++ - отстой, Delphi – рулит!». Это всегда начинают C’шники. Вопрос: почему?

      А меня удивляет, почему кричать начинают дельфисты, а приписывают это сишникам? :)
      Цитата Smike @
      Не читал предыдущих ораторов, но по долгу службы мне пришлось недавно разбираться с крупным сишным проектом. Это ядро для программы, визуальная часть которой пишется на Delphi. Так вот, в ходе своего знакомства я увидел, что для элементарных вещей в Delphi в C++ требуются большие усилия. Например, чтобы задать экспортирумым функциям нормальные имена (а не _Function@8) нужно вручную править DEF-файл. То же самое в Delphi делается без всякого вмешательства программиста: всем функциям изначально даются такие же имена, как в коде.
        Цитата archimed7592 @
        сказать то большего нечего :tong:
        ты либо обоснуй, что проперти - незаменимый инструмент, без которого не прожить, либо докажи мне, что шаблоны из себя ничего не представляют, кроме как пыли в глаза...

        Ok. Перепиши на C++:
        ExpandedWrap disabled
          Function GetAllProp(const AObject:TObject; const Parent:String):TStringList;
          var
            pl:PPropList;
            Count:integer;
            i,j:integer;
            sp:TStrings;
          begin
            Result:=TStringList.Create;
            Count:=GetPropList(AObject,pl);
            for I := 0 to Count - 1 do
              if (pl^[i]^.PropType^^.Kind in [tkChar, tkString, tkClass, tkWChar, tkLString, tkWString]) then begin
                if (pl^[i]^.PropType^^.Kind=tkClass) then begin
                  if pl^[i]^.PropType^^.Name='TCaption' then begin
                    result.Add(Parent+pl^[i]^.Name+' = '+GetStrProp(AObject,pl^[i]^.Name));
                  end else begin
                    if pl^[i]^.PropType^^.Name='TStrings' then begin
                      sp:=TStrings(GetObjectProp(AObject,pl^[i]^.Name));
                      for j := 0 to Sp.Count - 1 do begin
                        Result.Add(Parent+pl^[i]^.Name+'\'+IntToStr(j)+' = '+sp[j]);
                      end;
                    end else begin
                      if (GetObjectProp(AObject,pl^[i]^.Name)<>nil) then
                        Result.AddStrings(GetAllProp(GetObjectProp(AObject,pl^[i]^.Name),pl^[i]^.Name+'\'));
                    end;
                  end;
                end else begin
                  result.Add(Parent+pl^[i]^.Name+' = '+GetStrProp(AObject,pl^[i]^.Name));
                end;
              end;
          end;

        Я без template смог обойтись. Обойдись без property.
          Цитата Profi @
          Ok. Перепиши на C++:
          динасическое выяснение есть ли у объекта пропертся с определённым названием? ну и где здесь полезность? заменяется всё это парочкой паттернов, которые, замечу, намного более приятное проектное решение, чем такой вот поиск пропертей
            Цитата archimed7592 @
            динасическое выяснение есть ли у объекта пропертся с определённым названием?

            Нет.
              Profi, templates это не просто шаблоны - это STL, Boost, Итераторная модель, метапрограммирование шаблонов и прочие радости жизни :)
                Цитата archimed7592 @
                заменяется всё это парочкой паттернов, которые, замечу, намного более приятное проектное решение, чем такой вот поиск пропертей

                А теперь представь что у тебя пару десятков сторонних компонентов.

                Цитата Мяут @
                Profi, templates это не просто шаблоны - это STL, Boost, Итераторная модель, метапрограммирование шаблонов и прочие радости жизни :)

                А я и не говорю, что template фигня, я говорю, что property тоже очень облегчают жизнь, как и variant.
                  Цитата Profi @
                  Нет.
                  Цитата Profi @
                  А теперь представь что у тебя пару десятков сторонних компонентов.
                  что код делает (в двух словах)

                  Добавлено
                  опять же, насчёт твоего неповторимого примера с делегатами, да ещё и без шаблонов: а если я хочу подсунуть любую ф-цию, а не только такую, которая берёт массив вариантов?
                    Цитата archimed7592 @
                    что код делает (в двух словах)

                    Проходиться по всем свойствам и сохраняет в TStringList те, что являются строковыми.
                      ну и в чем его полезность? зачем это нужно? не просто же так эту ф-цию написали... какой-то целью задавались...
                        Цитата archimed7592 @
                        опять же, насчёт твоего неповторимого примера с делегатами, да ещё и без шаблонов: а если я хочу подсунуть любую ф-цию, а не только такую, которая берёт массив вариантов?

                        А-а-а, где Астарот! :wall: :wall: :wall: Мы решаем конкретные задачи, а не гипотетические ситуации!

                        -Added
                        Цитата archimed7592 @
                        ну и в чем его полезность? зачем это нужно? не просто же так эту ф-цию написали... какой-то целью задавались...

                        Создание многоязычного приложения.
                          Цитата Profi @
                          Создание многоязычного приложения.
                          Цитата Profi @
                          TStringList
                          че правда, что ль? :huh:
                          ну а если серьёзно, зачем в риалтайме нужен список строковых проперти при создании многоязычного приложения?
                          Сообщение отредактировано: archimed7592 -
                            Profi, variant это что-то типа неявной типизации?
                            По поводу property, так это просто способ быстрой и простой инкапсуляции данных без всяких заморочек :)

                            Цитата Profi @
                            Ok. Перепиши на C++:

                            Оно юзает какую-то чтуку типа PPropList? Ну что-то вроде list, да?

                            А еще говорят что код на Delphi крайне понятен :D Ничего не понял :)
                            Сообщение отредактировано: Мяут -
                              Цитата archimed7592 @
                              ну а если серьёзно, зачем в риалтайме нужен список строковых проперти при создании многоязычного приложения?

                              Будешь каждое свойство ручками менять? Ну-ну..
                                Мяут, это у них такой "крутой" RTTI :) GetPropList

                                Добавлено
                                Цитата Profi @
                                Будешь каждое свойство ручками менять? Ну-ну..
                                будешь в риалтайме переводить? lingvo automation :lol: ? ну-ну...
                                почему бы не сформулировать задачу полностью?

                                Добавлено
                                я вот тебе сейчас покажу кусочек из недр STL или boost и скажу "перепиши"... мы ж здесь не переводом занимаемся...
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (117) « Первая ... 23 24 [25] 26 27 ...  116 117
                                Закрыто archimed7592 11-03-2008: Лимит страниц. Продолжаем Delphi vs C++



                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0568 ]   [ 15 queries used ]   [ Generated: 14.08.25, 20:11 GMT ]