1. Куча / Говнокод #14307

    +126

    1. 1
    shop_manager.WarnCurrentStoreNotTracked = Current store is not tracked. Please <a href="#" onclick="company.load_page(\'analytics/activate.html\', '{'\'{0}\': \'{1}\''}');">activate here</a> to start tracking.

    Файл properties в какой-то спринг-эм-вэ-цэ херне.

    Запостил: wvxvw, 01 Января 2014

    Комментарии (179) RSS

    • Суровый файл переводов...
      Ответить
    • > Файл properties в какой-то спринг-эм-вэ-цэ херне.

      Хм... как у вас там отстойно все. А у нас все цивильно: XML'и html-escape-нутые хранятся как значения атрибутов в XML конфиге... Есть еще одно такое значение и в пропертисах. И да, тоже как то это к срингу относится.
      Ответить
      • Да, ХТМЛ-экранирования тут объективно не хватает.
        Ответить
    • я смотрю, у жабы интернационализация прям больное место

      в декабре нам доводилось срочно и незапланированно переводить на русский одну срань - PentahoSolutions
      вот это я вам скажу нам повезло...
      мало того, что блядские .properties были размазаны дохуя где, так их ещё и пришлось переводить сначала на русский, а потом ещё все тексты перегонять в /uXXXX/uXXXX... вид - ибо жаба иначе не может (хотя добрая половина .properties тупо отправлялась клиенту и js уже проблем не испытывал _вообще_)

      но тащемта непонятно причем тут спринг-мвц
      спринг-мвц всего то обязан делать, как публиковать api коннекторы для rest и кормить клиента Данными и принимать от клиента Данные
      а не засылать ему вёрстку, переводы и прочую хуиту

      wvxvw, перепроверь, мне кажется ты не разобрался в вопросе
      Ответить
      • > ибо жаба иначе не может
        Ну жабьи пропертисы они такие. По дефолту (когда сам их загружаешь, вроде бы можно указать свой Reader в нужной кодировке) только ascii latin1, только хардкор. А ведь авторы спеки вполне могли сказать "Файлы .properties по дефолту будут в utf-8. Кто не согласен - идите на хуй.", и было бы всем счастье...
        Ответить
        • интересно, properties изначально предполагались для интернационализации?
          просто охуенно здравое решение навязывать latin-1 для файлов, содержащих тексты на Разных Языках

          по идее, в них же просто можно держать некий "конфиг"
          Ответить
          • > интересно, properties изначально предполагались для интернационализации?
            Скорее всего нет. Что-то мне кажется, что для подстановки в XML оно изначально тоже не предполагалось... А предполагалось просто для загрузки\сохранения хешмапов в простенький текстовый файл... Но я могу и ошибаться.
            Ответить
          • люди, посмотрите на себя со стороны! вы как маленькие дети ругаетесь о том что можно на за 15-30 минут на любом языке переписать. у пропертисов же синтакс тривиальный.
            Ответить
            • Переписать что? Жабий фреймворк (я х.з., что такое PentahoSolutions, и как именно он читает properties), который кривожопо поюзал пропертисы для локализации? :) Ну да, это самый логичный шаг, но работы явно не на 15-30 минут. А сам класс Properties зачем переписывать? Он и так умеет читаться в нужной кодировке, если чтение руками вызывать.
              Ответить
              • > если их чтение руками вызывать.

                а... фрэймворки...

                и эти крутые фрэймворки не поддреживают конфигурирование какие именно классы что делают?
                Ответить
                • > и эти крутые фрэймворки не поддреживают конфигурирование какие именно классы что делают?
                  Кто знает... Судя по фразе Дефекейта "мало того, что блядские .properties были размазаны дохуя где" там Properties инстанциируются и загружаются на каждый чих, и очень маловероятно, что они инстанциируются через DI контейнер. Опять же, может быть я гоню, и фреймворка там нет. А просто имеется говнопрога, юзающая говнокласс для парсинга говноформата для говнолокализации.

                  P.S. А сам класс Properties можно отправлять на ГК. Отличный пример того, как не надо проектировать классы.
                  Ответить
                  • это не говнофреймворк
                    это готовый продукт
                    здоровый веб-компонент
                    типа BI для бедных - умеет строить красивые графики, регулярные отчеты, инструменты аналитика и т.д.
                    поставлялся нерусским субподрядчиком в комплекте с системой по одному из госконтрактов, который мы выполняли

                    оказалось, что он нихуя не русифицированный
                    нам пришлось стахановскими темпами решать эту задачу, потому что по госконтракту запрещено нерусифицированное ПО передавать заказчику, а субподрядчик развёл руками - "у нас у самих нет русификации, всё что мы знаем - пентахо можно русифицировать через .properties, которых сотни во всей папке на полгига"

                    их там отлично накрыло, часть .properties слалось на клиент как есть, и js нормально воспринимал utf-8, часть что ни делай отображалась дерьмом - значит уже проходила обработку на стороне сервера, ну и пришлось некоторые .jsp вообще руками править, т.к. эти бляди самые главные интерфейсные названия тупо захардкодили вообще

                    и да, хоть он и написан на жабе и даже опенсорц, там заобфусцированные .jar файлы
                    а искать сорцы нам было вообще западло, возможно, в следующем году будут очередные проблемы и нам придётся засучивать рукава
                    Ответить
                    • > засучивать рукава
                      А попинать разрабов не получится? Вроде бы продукт не бесплатный.
                      Ответить
                      • да мы например за неделю его почти перевели, быстрее и качественнее, чем нам полгода бы мозги морозили
                        просто субподрядчик такой, какой есть...
                        Ответить
                    • >и да, хоть он и написан на жабе и даже опенсорц, там заобфусцированные .jar файлы
                      Лал
                      > а искать сорцы нам было вообще западло, возможно, в следующем году будут очередные проблемы и нам придётся засучивать рукава
                      А сразу подсуетиться не?
                      Ответить
                      • я в отпуске
                        делать мне больше нехуй, как в их исходниках копаться

                        если чо, в следующем году тупо перейдем на проверенный джаспер
                        все равно заказчик в пентахе сам никогда ничего не сможет путного сделать, все что ему нужно - десяток типовых отчетов
                        Ответить
                • > крутые фрэймворки не поддреживают конфигурирование
                  Кстати, посмотрел в доке по spring'у. Там можно указывать defaultEncoding для файлов с локализацией. Так что не во всех фреймворках и жабопрогах творится треш угар и содомия ;)

                  Зато доставил полезный совет на stackoverflow:
                  update your default encoding with: <property name="defaultEncoding" value="ISO-8859-1" /> and this should work for rendering characters with accents. At least it works on my spring projects (french and european languages/users).

                  Имхо, за такие советы надо сажать на кол...
                  Ответить
                  • Что не так?
                    Ответить
                    • Богомерзкое ISO-8859-1. Вот за его использование и надо сажать на кол. Особенно если его предлагают использовать для интернационализации. Особенно как дефолтовое для всех файлов с переводами.
                      Ответить
                      • Особенно в 21 веке. Особенно в изначально юникодной жабе.
                        Ответить
                      • Жесть какая. Как тебя угораздило?
                        Ответить
                      • Охблядь, ручник сними. Нормальные люди догадаются поменять кодировку под себя. Я думал, ты что-то умное нашел.
                        Ответить
                        • Так лол был в том, что у ОП'а не работали некоторые символы с акцентами при пропертисах в utf-8 (ну скорее всего уже в сторону браузера не та кодировка отдавалась). А предложили ему... поменять utf-8 на ISO-8859-1. По той причине, что "УМВР на iso-8859-1". Все еще не хочется посадить советчика на кол?
                          Ответить
                          • Зная анонимба, он бы сам не отказался от этого. Правда, анонимб? )
                            Ответить
                            • Согласен. Немного пошловато.
                              А сидеть с общественной учетки без имени и ника - не пошло?
                              Ответить
                              • Да не пошловато, просто ты несешь хуйню не в тему 75% времени. Может, это бот с твоего ника флудит?
                                Ответить
                                • Давай ты сначала заведешь нормальную учетку, а потом будешь выражать свое мнение обо мне, хорошо?
                                  Ответить
                              • на аве олимпийский факел?
                                погас 60 раз и 2 раза облил бензинчиком и подпалил факелоносца.
                                кроме шуток
                                Ответить
                                • Да ну на х. Придется мне теперь сменить аву.
                                  Ответить
                          • Ссылку дал бы, тогда может быть кто-то бы понял что ты имеешь в виду.
                            Ответить
                            • http://stackoverflow.com/questions/19503217/spring-framework-mvc-localization
                              Ответить
                  • >Thanks. As you said, I did it. It works. Thank you so much
                    И чо, работает же?
                    Ответить
        • > Ну жабьи пропертисы
          Tapestry вновь радует: мало того, что кодировку для всего юзает одну, по умолчанию utf-8, так еще сам и локализованные ресурсы (типа *_ru_RU, *_ru, *) применяет. для локализации текстов именно пропертисы юзает. в шаблонах в EL выражениях сам экранирует, но если очень надо вывести как-есть, есть отдельный компонент.
          единственное, для форматированных выражений пришлось сделать два своих бандинга: для формата типа String.format(), потом еще придумал с именновами параметрами.
          Ответить
      • Спринг-мвц к тому, что это не обычные пропертис, а стринг:мессаджес, которое потом отправляется жсп странице. (Они отличаются тем, что парсер там не совсем кондиционный).
        ЗЫ. Ява - единственный язык в котором не используют геттекст (не понятно почему), но есть какая-то продвинутая альтернатива от IBM, называется ICU, но про нее никто не знает.
        Ответить
        • > jsp странице
          уже звучит херово

          да, поглядел, спринг-мвц может и в толстый сервер
          изначально стремная идея, недалеко ушедшая от того же пхп
          Ответить
          • Кстати, а какой шаблонизатор на стороне браузера используется? Или же там чистый REST для какого-то специального софта, не браузера?
            Ответить
            • В браузере - Хендлебарз. Там тоже есть свои интересные места... но это отдельная пестня.
              Ответить
            • если вопрос мне, то у нас angular.js на клиенте
              и на сервере rest обычно для кого угодно

              для бекофиса, где надо гонять сильно-связанные ER данные большими пачками, rest уже не совсем для кого-угодно, там breeze.js и нам пришлось несколько соответствовать его формату данных и даже имитировать на жабе его метадату, описывающую сущности (через рефлексию bean-ов) - потому что создатель breeze гей (в прямом смысле этого слова) с неудивительной для гея прозорливостью заточил библиотеку конкретно под дотнет и entity framework
              Ответить
              • > если вопрос мне, то у нас angular.js на клиенте
                > и на сервере rest обычно для кого угодно
                Ага, ну значит я правильно понял схему ;) Спасибо!

                > заточил библиотеку конкретно под дотнет
                Каждый дотнетчик должен точить библиотеки исключительно под дотнет. Ведь интероп его библиотек с чем-то кроме дотнета никогда никому не понадобится.
                Ответить
        • > не понятно почему
          Потому что нельзя замутить функцию _().
          Ответить
          • Разве нет?
            Ответить
            • Ну в лучшем случае получится какой-нибудь _._(). Свободных функций же нет.
              Ответить
              • Это намек на то, что в яве нет функций, есть только методы или че?
                Ответить
                • Угу.
                  Ответить
                  • Спасибо, кеп, блядь, без тебя мы это не знали.
                    Ответить
                    • ты то откуда знаешь, что в жабе есть?)
                      Ответить
                      • Эм я жаву первым языком в инсте учил.
                        Ответить
                        • и как?
                          Ответить
                          • Для обучения - ничо. Синтаксически гораздо проще C#, но постоянно приходится бороться с языком.

                            А в c# тоже только методы?
                            Ответить
                            • В Сишарпе можно делегат отдельно от класса обьявить.
                              Ответить
                              • >> можно делегат отдельно от класса обьявить.
                                Это как же?
                                Ответить
                                • namespace ConsoleApplication2
                                  {
                                      internal delegate void SomeDelegate();
                                  
                                      class Program
                                      {
                                          
                                          static void Main(string[] args)
                                          {
                                              Console.ReadKey();
                                          }
                                      }
                                  }
                                  Ответить
                                  • Тьфу ты, епта, опять консолечка.
                                    Неужели нельзя было привести другой пример? (
                                    Ответить
                                    • А тебе WCF + WPF хочется? Или тебе на хне? Может тебе хну с серебрянкой на WF?
                                      Че те надо от меня, мент?!
                                      Ответить
                                      • Еще и ментом обозвал. Сильно перегибаешь.
                                        Ответить
                                        • Код мне запилил! Быыыстро, блеать!
                                          Ответить
                                          • Посмотри еще про Гамаза, например, "Гамаза убила бабушка"

                                            Как считать в потоке построчно текст с текстбокса?
                                            Ответить
                                            • В текстбоксе одна строка
                                              В ричтекстбоксе есть свойство типа lines
                                              Ответить
                                              • И что, ричбокс даст прочитать это свойство/считать строки в потоке?
                                                Ответить
                                                • Я пишу прокси-чекер. Алгоритм такой:
                                                  юзер грузит список проксей в формате про.кси.сер.вер:порт в ричбокс,
                                                  затем этот текст перемещается в лист, дубликаты удаляются, и потоки
                                                  начинают в цикле читать строки из листа, инкрементируя глобальную
                                                  переменную-счетчик, пока ее значение не сравнится с кол-вом строк в
                                                  листе. Годные прокси после проверки помещаются в другой ричбкс. т.е.
                                                  нужно написать потоковый делегат, который вытягивает из списка строку и
                                                  инкрементирует счетчик, и делегат, который добавляет строку из потока в
                                                  ричбокс с годными прокси. Сделаешь? Я тебе спасибо скажу.
                                                  Ответить
                                                  • так как то хочешь (навскидку)

                                                    void SomeFunc()
                                                            {
                                                                var lines = rTB.Lines.Distinct().ToList();
                                                                valid = new List<string>(lines.Count);
                                                                Parallel.For(0, lines.Count, (i) => SelectValidProxy(lines[i], i));
                                                                
                                                                rTB.Lines = valid.Where(x => x != "").ToArray();
                                                            }
                                                    
                                                    
                                                    
                                                            void SelectValidProxy(string proxy, int index)
                                                            {
                                                                if (<valid>) valid[index] = proxy;
                                                    
                                                            }
                                                    Ответить
                                                    • Спасибо. Я добавлю твой ник на вкладку "Благодарности"

                                                      trollface.jpg
                                                      Ответить
                                                  • А вот не на вскидку

                                                    void SomeFunc()
                                                            {
                                                                rTB.Lines = rTB.Lines.Distinct().AsParallel().Where(validfunc).ToArray();
                                                            }
                                                    
                                                            private bool validfunc(string proxy)
                                                            {
                                                                return <someCheck>;
                                                            }
                                                    Ответить
                                                    • ммм, спасибо.
                                                      Ответить
                                                      • как выглядит валидация прокси?
                                                        Ответить
                                                        • В конструкторе потока создается вебклиент, в качестве прокси устанавливается строчка, распарсенная на сервер и порт, далее идет запрос на сайт, в ответе сайта парсится одна строчка, в которой сайт сообщает тип прокси: если она =="[proxy: none/]anonymous" то прокси расценивается как годный.
                                                          Ответить
                                                          • сайт дефолтный?
                                                            Ответить
                                                            • Ну естественно.
                                                              Ответить
                                                              • есть прокси потестить?
                                                                Ответить
                                                                • 1.209.82.106:80
                                                                  111.11.27.194:80
                                                                  111.11.27.196:80
                                                                  111.123.208.172:18186
                                                                  111.182.195.219:18186
                                                                  111.207.167.220:80
                                                                  111.228.254.9:80
                                                                  112.0.103.189:18186
                                                                  112.111.156.174:18186
                                                                  112.122.33.187:18186
                                                                  112.124.38.227:8088
                                                                  112.124.38.83:8088
                                                                  112.124.39.177:8088
                                                                  112.124.46.186:80
                                                                  112.213.97.69:80
                                                                  112.228.129.173:18186
                                                                  112.250.172.157:18186
                                                                  112.3.198.138:18186
                                                                  112.5.192.148:8080
                                                                  112.85.80.93:18186
                                                                  112.86.128.108:18186
                                                                  112.95.244.57:80
                                                                  112.98.16.191:18186
                                                                  113.1.98.37:18186
                                                                  113.108.92.104:80
                                                                  113.12.143.196:18186
                                                                  113.14.56.72:18186
                                                                  113.231.237.231:18186
                                                                  113.233.17.36:18186
                                                                  113.248.238.173:18186
                                                                  113.250.97.194:18186
                                                                  113.57.154.175:808
                                                                  113.57.50.228:18186
                                                                  113.6.12.123:18186
                                                                  113.76.180.217:18186
                                                                  114.100.174.135:18186
                                                                  114.101.135.245:18186
                                                                  114.102.20.187:18186
                                                                  114.110.1.40:8080
                                                                  114.141.162.53:8080
                                                                  114.217.37.231:18186
                                                                  114.221.158.67:18186
                                                                  114.222.58.125:18186
                                                                  114.227.49.56:18186
                                                                  114.231.67.149:18186
                                                                  114.234.201.60:1998
                                                                  114.239.180.95:18186
                                                                  114.240.178.72:18186
                                                                  114.80.136.112:7780
                                                                  115.150.248.3:18186
                                                                  115.187.63.50:3128
                                                                  115.193.21.185:18186
                                                                  115.206.19.164:18186
                                                                  115.217.180.221:18186
                                                                  115.217.214.78:18186
                                                                  115.234.135.5:18186
                                                                  115.236.22.226:9000
                                                                  115.236.74.189:8001
                                                                  115.239.252.153:808
                                                                  115.239.66.212:18186
                                                                  115.25.216.6:80
                                                                  115.28.1.104:80
                                                                  115.28.34.235:80
                                                                  115.48.82.63:18186
                                                                  115.56.181.118:18186
                                                                  116.228.55.217:80
                                                                  116.228.55.217:8000
                                                                  116.228.55.217:8003
                                                                  116.236.216.116:8080
                                                                  116.255.215.195:8080
                                                                  116.255.241.111:808
                                                                  116.28.56.216:1998
                                                                  117.25.129.238:8888
                                                                  117.26.115.250:18186
                                                                  117.28.13.74:18186
                                                                  117.32.254.17:18186
                                                                  117.64.52.166:18186
                                                                  117.82.160.81:18186
                                                                  117.82.62.211:18186
                                                                  117.84.160.105:18186
                                                                  117.87.166.61:18186
                                                                  118.113.39.20:18186
                                                                  118.117.138.64:18186
                                                                  118.180.33.50:18186
                                                                  118.183.112.16:18186


                                                                  парсил рано утром. сомневаюсь, что в два часа ночи они еще будут валидными, но чем черт не шутит - шутник, бля.
                                                                  Ответить
                                                                  • точное соответствие нужно искать "[proxy: none/]anonymous"?
                                                                    Ответить
                                                                    • none/anonymous
                                                                      Ответить
                                                                      • полностью строку поиска кинь в кавычках
                                                                        Ответить
                                                                      • <span><font=spy14><p>none/anonymous</p></font></span>
                                                                        Ответить
                                                                        • мне нужен прокси, который пройдет проверку
                                                                          Ответить
                                                                          • Боюсь, что это невыполнимо. Прокси-чекер на недостижимом компе, а сайт наш закрыли, оттуда тоже не могу скачать(

                                                                            В любом случае, спасибо, что взялся за это. Ты самый классный. Я пожалуй, спать. Сладких снов всем.
                                                                            Ответить
                                                                            • Чет он у меня долго работает. Я тупо принимаю запрос строкой и ищу в нем регеспом строку. чем мне кажется это не правильно. пояснишь?
                                                                              Ответить
                                                                              • Хм. В делфи регекспом я никогда не пользовался(ибо не разумею), располагая лишь базовыми строковыми функциями. Может, убрать регулярку вообще, и искать между двух токенов?
                                                                                http://ip.spys.ru/,
                                                                                </u></font></td></tr><tr><td colspan=10><font class=spy1>Прокси не найден или используется высокоанонимный прокси</font></td></tr><tr>


                                                                                можно вот так:
                                                                                <font class=spy1>Прокси не найден или используется] высокоанонимный [прокси</font>

                                                                                т.е. искать слово "высокоанонимный" между этими двумя разделителями. Из текста нужно вырезать все символы перевода строки, иначе функция-парсер, может споткнуться.
                                                                                Ответить
                                                                                • М? как вообще может выглядеть нужные данные? Я вот это хреново понимаю

                                                                                  регулярки учатся за два-три часа, за день максимум
                                                                                  Ответить
                                                                                  • >>как вообще может выглядеть нужные данные

                                                                                    мы просто вытягиваем строчку, которая находится между "<font class=spy1>Прокси не найден или используется" и "прокси</font>"
                                                                                    если эта строчка =="высокоанонимный", прокси годный. Иначе негодный.

                                                                                    Если ты сможешь обучить меня регуляркам, я закину тебе 500 р. (перед всеми товарищами говорю, не шутка!) Ученик я усердный, но тебе придется немного попотеть. По рукам?
                                                                                    Ответить
                                                                                    • > обучить меня регуляркам
                                                                                      http://regexone.com/
                                                                                      Ответить
                                                                                      • Не получается, Борманд, дорогой!
                                                                                        Я многое познал сам, меня никто не обучал, а вот регулярки- ну не могу.
                                                                                        Ответить
                                                                                        • Берешь да эксперементируешь, хуле там. Могу тебе посоветовать прогу, но она ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-ко-консольная, хоть и встроенная в винду.
                                                                                          Ответить
                                                                                    • как учил я

                                                                                      http://book.tr200.net/v.php?id=1808792 - час примерно

                                                                                      http://regexcrossword.com/ - еще час, ну может полтора

                                                                                      http://uzer.com.ua/cross/ - час, или чуть больше.

                                                                                      В итоге так в одну бесоную ночь я выучил PCRE
                                                                                      Ответить
                                                                            • В общем вот проект

                                                                              http://hdd.tomsk.ru/file/vehbtxpn

                                                                              Поиск говна обьявляется открытым!

                                                                              Чем больше найдете - тем мне приятнее
                                                                              Ответить
                                                                              • WindowsFormsApplication5 и Form1.cs, видимо, оставлены для привлечения внимания :)
                                                                                Ответить
                                                                                • private const string PaternForProxy = @"(\d+)\.(\d+)\.(\d+)\.(\d+):(\d+)";
                                                                                  private const string UrlPattren = @"http(s)?://.*";
                                                                                  private const string Pattern = @"none/anonymous";

                                                                                  Опять автокомплит поработал :)
                                                                                  Ответить
                                                                                • я привык не менять название формы, если она одна)
                                                                                  Ответить
                                                  • Где ты берешь список прокси и сколько новых рабочих в сутки?
                                                    Ответить
                                                    • Анонимб, ты меня просто убиваешь. Я же тебе не так давно писал ссылку на мой прокси-граббер, почему ты ей не воспользовался, ты бы получил целый ворох проксей! Теперь не могу помочь - сайт наш закрыли, а исходников граббера у меня нет - разве что с чистого листа начать писать.

                                                      Можешь поискать в яндексе - обычно выдаются ссылки на сайты с проксями.
                                                      Ответить
                                                      • Мне нужен способ, которым я за пару кликов получу достаточно рабочих проксей с неплохим приростом. Когда-то был сайт, я там получал 100 новых проксей почти каждый день, этого было достаточно, чтобы бросили сами попытки меня банить. Такое у тебя есть?
                                                        Ответить
                                                        • Нет, но могу порекомендовать бросить курить/пить/колоться/нюхать клей, и прикладывать холодные примочки ко лбу.

                                                          Если не поможет, попробуй это:
                                                          spys.ru - штук 48-60 думаю, наскребут.
                                                          Ответить
                                                          • Кстати, флудить и спамить лучше с сокс-проксей - они более редки, зато анонимны, скоры и дольше живут. Попробуй!
                                                            Ответить
                                                          • >Нет, но могу порекомендовать бросить курить/пить/колоться/нюхать клей, и прикладывать холодные примочки ко лбу.
                                                            Нахуя ты это написал, дебилушка малолетний? Какой в этом сакральный смысл?
                                                            Ответить
                                                • абля
                                                  var lines = rTB.Invoke(new Func<string[]>(() => rTB.Lines));
                                                  Ответить
                                                  • Спасибо, но я не смогу с этим ничего сделать. Мне не понятно.
                                                    var lines = rTB.Invoke(new Func<string[]>(() => rTB.Lines));


                                                    хз какие там объявления функций, если можно в void подать <string>[] ()
                                                    При всем этом я прямо таки задницей чувствую, что шарп не сложнее дельфей.Как же мне быть.
                                                    Ответить
                                    • >Тьфу ты, епта, опять консолечка.
                                      >Неужели нельзя было привести другой пример? (
                                      Можно, но зачем? Если ты даже элементарную работу с соснолью не освоил - это твои личные проблемы.
                                      Ответить
                                      • Сам-то ты должно быть, хорошо освоил, поэтому и пишешь теперь с учетки анонима.
                                        Ответить
                                        • Кстати. Те, кто говорят, что в Делфи сплошное "программирование мышкой" (раскидал компоненты по форме и прога готова) тот вообще ни хера не смыслит в Делфи, и обманчивое впечатление сие могло быть навязано только мимоходным знакомством со средой; подводных камней достаточно, а компоненты (не считая контролов) по форме раскидывают - не раскидывают, а размещают- во время проектирования, когда только 1 поток, и тп. - в готовой программе как правило, многие компоненты создаются уничтожаются во время выполнения.
                                          Ответить
                                          • > многие компоненты создаются уничтожаются во время выполнения
                                            Вот что меня в делфи больше всего бесило, так это то, что в ней layout'ов нету (есть, конечно, якоря и прикрепление к бокам окна, но этого как бы недостаточно). И поэтому динамическое добавление\удаление компонентов превращается в ад с закатом солнца вручную... А если еще и окно должно растягиваться...
                                            Ответить
                                            • Да, в Borland IDE с динамическими формами все плохо.
                                              Хотя после VB он когда то казался очень удобным
                                              Ответить
                                              • > Borland IDE с динамическими формами все плохо
                                                А при чем тут IDE?
                                                Ответить
                                                • не причем, хуйню сказал, абыр
                                                  Ответить
                                                • Что плохо? Форма - это такой же класс, как и все остальные. Ее можно создать/уничтожить, обрабатывать ее события и измененять ее свойства. Создал форму->Указал необходимые свойства->Указал обработчики событий->[форма отработала]->Уничтожил форму.
                                                  Нет, реально, это не сложно. Я даже добавлял форму в *.dll и успешно ее вызывал.
                                                  Ответить
                                                  • > Нет, реально, это не сложно.
                                                    Я в курсе, кэп ;) Или этот коммент предназначался кегдану?

                                                    Я и формы создавал, и элементы на них...
                                                    Ответить
                                                    • >>Или этот коммент предназначался кегдану
                                                      1 кегдану, второй - Вам.
                                                      Вы так и не научились выстраивать указывать владельцев модальных окон, кэп...
                                                      >>Я и формы создавал, и элементы на них...
                                                      Это прекрасно! Респект!
                                                      Ответить
                                                      • > Это прекрасно
                                                        Это ужасно ;(

                                                        Вертикальный и горизонтальный layout с горем пополам эмулируется привязкой к бокам панельки или якорями. А вот если надо аккуратно расставить сеточкой пару колонок - только ручной расчет, только хардкор...

                                                        Собственно после того, как впервые увидел настоящие лэйауты (это было моя первое знакомство с Qt) я больше не могу ваять формы на делфи.

                                                        P.S. А как красиво пидорасит формы, если сменить масштаб в настройках винды...
                                                        Ответить
                                                        • >>А как красиво пидорасит формы, если сменить масштаб в настройках винды...

                                                          есть такое дело

                                                          еще в тему - писал я как то под WP7 и gui серебрянки делал через bind (l не хватает для полноты восприятия). Так вот, на макете кнопки одинаковые - компилишь - разные.
                                                          Ответить
                                                      • что там ко мне за вопросы?
                                                        Ответить
                                                    • Кстати, не подскажете какой-нибудь не тормозящий линукс, со стилем оформления вроде винды? Минт тормозит(
                                                      Ответить
                                                      • > Кстати, не подскажете какой-нибудь не тормозящий линукс, со стилем оформления вроде винды?
                                                        Поставь что-нибудь с KDE (например kubuntu). Кеды довольно похожи на винду, даже пуск в стиле вин98 можно включить вместо неюзабельного дефолтного.
                                                        Ответить
                                                        • >даже пуск в стиле вин98 можно включить вместо неюзабельного дефолтного.
                                                          там меню не дотягивает даже до вин98? о_О
                                                          Ответить
                                                          • > там меню не дотягивает даже до вин98
                                                            Оно там просто ёбнутое. То ли под планшеты затачивали, то ли х.з. но та же фигня, что в вин7 - маленький бокс, который надо скроллить.
                                                            Ответить
                                                            • спасибо хоть для винды есть classic shell
                                                              Ответить
                                                              • > спасибо хоть для винды есть classic shell
                                                                Да так то идея со строкой поиска довольно годная. Мне в юнити даже нравится.

                                                                Просто в кедах и семерке когда не знаешь ни названия проги, ни толком ее категории, приходится искать куда же ее засунули. А там сраные папки со сраным скроллингом - scroll, scroll, back, enter, scroll, scroll, back ... ;)

                                                                В классическом (аля 98) можно было просто мышкой поводить по папкам, да заценить что где. Глаз все-таки быстрее движется, чем меню прокручивается.

                                                                А в юнити во-первых пунктов побольше показывается (по 20 значков сразу видно), во-вторых там фильтрация по тегам вместо дурацких папок.
                                                                Ответить
                                                              • > спасибо хоть для винды есть classic shell
                                                                P.S. А еще бесит виндовая традиция, когда название фирмы ставят на первое место - не просто SuperMegaGame, а Vasya Pupkin inc. -> SuperMegaGame. И если таких гигантов как M$, Adobe и т.п. все знают, и помнят, какой именно софт у них украли купили, то всю фриварную мелочь из-за этого в классическом пуске (да и в Program Files) хрен найдешь :)
                                                                Ответить
                                                                • дык в classic shell строку поиска никто и не убирал
                                                                  лучше один раз увидеть, чем сто раз услышать
                                                                  Ответить
                                                                  • но вот мне, как недоюниксоиду, объясните одну деталь: почему в консоли все комманды надо набирать с особыми ключами и полными путями к конфигам? честно, вот:
                                                                    иногда слетает груб: я всегда ищу в инете с моба магические комманды по восстановлению, ибо памяти моей на них не хватает на все ключи и пути.
                                                                    и что интересное - гуев никто не писал и не пишет, посему быть линухам и дальше оськам для красноглазых бородастых свитерастов, вроде вас с нами.

                                                                    вот я ща думаю гуевину наваять для удобной смены загрузчику, осьбуту и кедам для смены картинок, а то мои любимые порнокартинки слетают при каждом обновлении
                                                                    Ответить
                                                                    • >>гуев никто не писал и не пишет

                                                                      А как же дестопы? или я что то не понимаю?

                                                                      >>ибо памяти моей на них не хватает на все ключи и пути

                                                                      мне кажется, что я что то не понимаю. если знаешь команду - все остальное есть в мане к ней.

                                                                      гуев к чему? К вызову консольных команд?)

                                                                      >>вот я ща думаю гуевину наваять для удобной смены загрузчику, осьбуту и кедам для смены картинок, а то мои любимые порнокартинки слетают при каждом обновлении

                                                                      а че не скрипты?
                                                                      Ответить
                                                                      • > А как же дестопы?
                                                                        да, но не для всех задач, некоторые приходится гуглить и решать исключительно в консоли.

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

                                                                        > гуев к чему? К вызову консольных команд?)
                                                                        тип того, для решения типовых задач - ну или скриптов хоть с консольным меню. я часто сталкивался с тем, что для решения той же проблемы, что решал раньше - снова гуглю.

                                                                        > а че не скрипты?
                                                                        а быстрее гуевину запустить, чем консоль выбирать, плюс ссылка в меню с иконкой - красота.... хотя апи консолям надо приставить, спасибо за мыслишку.
                                                                        Ответить
                                                                        • так скрипт - он же исполняемый файл - даблклик и все ок. рядом файл с конфигами повесил. Ну как батник в винде
                                                                          Ответить
                                                                          • скрипт - с параметрами. гуй очевиднее.
                                                                            Ответить
                                                                            • дык параметры в отдельно файлике
                                                                              Ответить
                                                                            • > скрипт - с параметрами. гуй очевиднее.
                                                                              Нахер гуй, нахер параметры, задача же вполне конкретная - сменить картинки на указанные.

                                                                              Пихаем в автозагрузку скрипт, в шапке которого вбиты нужные пути, и пускай сам проверяет что поменялось, и заменяет на нужное... Зачем для этого что-то запускать руками? :)

                                                                              Кстати забавно, но в слаке (!) был grubconfig, который в консольной менюхе позволял все настроить.

                                                                              P.S. А в винде теперь консольный bcdedit. Перенимают опыт, блеать :(
                                                                              Ответить
                                                                        • Ман пакуется каждым дистрибутором для себя. Не может быть ситуации, когда Редхад упакует себе ман, в котором будут apt-get и т.п. Ну, или по крайней мере - это баг, в порядке вещей так не случается.

                                                                          Я например никак не могу запомнить в какую жопу в Эклипсе засунули окошко где нужно добавлять сорцы плагинов, хуже - я не помню как оно называется, и хер найду его в справке. А еще я помню, что в том же окошке была мега фича, доступная только по правому клику мышкой на пустом текстфилде - вызывала диалог указания локальных сорцев плагина, иначе никак не доступный из гуя.
                                                                          Так что тут, как повезет. Если мудла, типа дизайнеров Эклипса гуй напишет, тоже мало не покажется.

                                                                          О, или всякие замечательные гуевые фичи, типа модальных окошек, защиты от записи в файл, которую никак не побороть (визуальная студия лочит все открытые файлы если запустить отладчик - потому что у нее брейкпоинты поедут, если что-то отредактировать...). Невыделяемый / некопируемый текст - тоже ловкий дизайнерский код, когда в клипсе, чтобы скопировать сообщение об ошибке нужно искать файлик с невзрачным названием хз. где (даже не в воркспейсе, а где-то в системных директориях).
                                                                          Ответить
                                                                          • > в какую жопу в Эклипсе засунули
                                                                            вот про Эклипс не надо. он, конечно, далек от возможностей Идеи, но я еще не видел ни одной платформы, где можно так менять интерфейс под себя - тягать окошки, хучь в отдельные окна, хучь в табы, или еще как. а еще и запомнить это в "перспективу"...
                                                                            Ответить
                                                                            • Лол... я как бы даже писал плагин как-то к клипсу. Не вот если уж говорить об фееричиском уг. так эклипс как раз очень даже подходит.
                                                                              По поводу настроек внешнего вида (во-первых, я тут выше скрины выложил, на которых видно, что я этот путь прошел, и знаю о чем говорю). так вот, всякие иконки которые появляются в полоске рядом с номерами строк - не заменить никак, только пересобирать это говно. В остальном, настройки - жуткое месиво, настраивать их через графический интерфейс - запарка та еще, т.как они разбросаны маленькими кучками в разных местах. А если редактировать их как файл, то нихрена не понятно, как это будет выглядеть. До Джунио это вообще был бинарный файл с каким-то уникальным говноформатом (сейчас это какое-то подобие КСС).
                                                                              Но... Идея выглядит еще уебищнее, на столько омерзительный внешний вид у программы - напоминает МС Оффис в зачаточных стадиях со скрепкой советчиком и такая там еще желтая собака была, кажется...
                                                                              Ответить
                                                                      • Гуй иногда очевиднее, но скейлится хуже, и для паверюзеров создает проблемы. Если человек не умеет пользоваться, то графический интерфейс проще в исследовании, если человек умеет пользоваться, то графический интерфейс только мешает.

                                                                        Жизненный пример: на работе дизайнер сейчас заполняет имидж банк для реклам (порядка 5-10К картинок), в итоге это все как-то надо будет трансформировать в базу данных и разбить на категории. Для этого понадобиться для дизайнера написать какую-нибудь прогу, которая работает как браузер картинок и позволяет им назначить категории (со всей машинерией связаной с бд).
                                                                        Это пару дней работы программиста, а для хорошего продукта - пару недель.

                                                                        Я бы сделал то же самое безо всяких дополнительных програм, просто киборд макросом в Эмаксе, или Баш / Питон скриптом и т.п.

                                                                        Другой момент: с точки зрения разработчика, интерфейс командной строки легче реализовать, много програм просто не стоят тех усилий, нужных для графического интерфейса, или, наоборот, графический интерфейс будет таким замороченным, что станет отдельной программой. Например, представь на секунду, как бы выглядел графический интерфейс к gcc.
                                                                        Еще пример: графические оболочки к Гиту - они по сути отдельные программы, каждая сама по себе, хотя для повседневного использования человеку больше чем заучить 3-4 команды ничего не нужно.
                                                                        Ответить
                                                                        • > как бы выглядел графический интерфейс к gcc
                                                                          Примерно так: http://img180.imageshack.us/img180/8750/forscope.jpg
                                                                          Ответить
                                                                          • Ну так тут примерно 1% из всех доступных настроек... это как купить БМВ ради зажигалки.
                                                                            Ответить
                                                                            • > Ну так тут примерно 1% из всех доступных настроек
                                                                              Неправда! Тут все настройки можно менять. Вон вкладка command line как раз для оставшихся 99% ;)
                                                                              Ответить
                                                                          • в студии ещё поиска опций нет, а как они разбросаны - это ппц. Проще уж в man gcc найти
                                                                            Ответить
                                                                        • > Гуй иногда очевиднее, но скейлится хуже, и для паверюзеров создает проблемы. Если человек не умеет пользоваться, то графический интерфейс проще в исследовании, если человек умеет пользоваться, то графический интерфейс только мешает.

                                                                          да, но это дока и функционал в одном флаконе. по нему легче исследовать, что прога может предложить. и как правило, он безопасней, со всеми проверками на меня дурака и подтверждениями.
                                                                          а маны еще курить надо, и, как я уже говорил,[в консоли] нет разумных умолчаний.
                                                                          Ответить
                                                                          • > а маны еще курить надо
                                                                            Вот что винда с людьми делает... Лучше час рандомом тыкаться в гуй, чем за 15 минут загуглить совет, или полистать ман (который, как правило, не такой уж и длинный).

                                                                            Кстати о советах - что проще, скинуть другу в IM строчку, которую он должен будет выполнить в консоли, и почитать ответ. Или же объяснять ему

                                                                            - нажми меню сервис -> свойства обозревателя
                                                                            - что нету сервиса, а что есть?
                                                                            - аа, шестеренка, ну вот ее и жми!
                                                                            - свойств обозревателя нет? Ну так свойства браузера (привет, ие10), это же одно и то же.
                                                                            Ответить
                                                                            • да, гуй можно за 10 сек исследовать, в отличие от коммандлайн.
                                                                              единственные гуи на которые я гуй клал - это были проги 3дМах и Блендер.
                                                                              Ответить
                                                                              • >да, гуй можно за 10 сек исследовать, в отличие от коммандлайн.
                                                                                это если он простой. Разобраться в дербях студии ничуть не проще, чем с опциями cmake и gcc. Но при использовании cmake у меня появляется возможность сохранить последовательность действий и очень быстро её вспомнить, посмотрев старые исходники. Если я воспользовался какой-нибудь фигней в студии единожды, то через месяц я буду опять тыкаться во все настройки как слепой котенок
                                                                                Ответить
                                                                              • > 3дМах и Блендер
                                                                                Ну у них очень специфическая область. Поэтому они заточены под того, кто будет с ними работать годами, а не под новичка, который пытается научиться в них что-то рисовать за 10 секунд...

                                                                                Собственно туда же относятся "необычные" интерфейсы всяких autocad, eagle, proteus и прочего специализированного ПО.
                                                                                Ответить
                                                                            • >Лучше час рандомом тыкаться в гуй, чем за 15 минут загуглить совет, или полистать ман (который, как правило, не такой уж и длинный).
                                                                              Холивар "что лучше, консолечкой в срачло или гуй" обьявляется открытым.

                                                                              У гуя ниже порог вхождения (про опыт с компьютером на улице слышали?), решение можно случайно накликать. И для гуй программ тоже есть хелп и гугл, слышал?

                                                                              >что проще
                                                                              Если другу - то в teamviewer-е показать.

                                                                              Вброшу пасту:
                                                                              ---

                                                                              Передергивание очевидно. Твоя логика искажена. Смотри петух, или кто ты там на пикче:
                                                                              >Быстро переключить разрешение/частоту
                                                                              >пишут хоткей на xrandr
                                                                              Прям так берут и пишут, да? Рассказывай мамке своей сосницкофаг. На деле это выглядит так, унылый прыщеблядок прется в гугл, куда вбивает что ему нужно. Потом ближе к десятой странице он находит какой нибудь французкий форум с похожей (и то весьма отдаленно темой, созданной таким же отчаявшимся долбоебоем школьником), потом он вбивает содержимое треда в гугль транслит, затем пытается вникнуть в сложности перевода, потом идет в школу, затем возвращается делает уроки, ужинает, читает маны, моет полы, пьет кофе и продолжает вникать..............
                                                                              Через неделю он делает в итоге что хочет, в результате чего преисполняется невъебенной гордости, ибо он умеет Быстро переключить разрешение/частоту на ведре никому не нужном.
                                                                              Если ты напишешь что он это уже умеет, то тогда пиши что ВЕНДОЗОБОГ уже имеет программу. В таком случае ему остается ее просто запустить и два щелчка сделать, пока прыщеблядь будет ебаться с консолью. Те же аргументы, уверен применимы ко всем пунктам твоего высера, так как умом и сообразительностью ты не блещешь и там вряд ли дальше есть что то путевое.
                                                                              На всякий случай прочитал до конца, нет нихуя нету дельного. Один шлак. Так что пес ты позорный.
                                                                              Закачка the bat и кряка + установка, занимает в 5 раз меньше времени чем подъем линуксокостыля. Отвечаю.
                                                                              Ответить
                                                                              • >>
                                                                                что лучше: консолечкой в срачло, или хуй ?

                                                                                лучше, товарищи, наш СОВЕТСКИЙ ГУЙ!
                                                                                Ответить
                                                                          • Кто сказал, что в консоли нет хороших настроек по умолчанию? Такое впечатление может создасться только разве что если пользоваться Гитом или Ява-программами. Менеджеры пакетов как правило не заставляют ничего специфичного указывать, если ничего специфичного не хочется. У многих програм есть возможности пост-фактум изменить настройки (top, less и т.п.).
                                                                            Ответить
                                                                            • > Кто сказал, что в консоли нет хороших настроек по умолчанию?
                                                                              тот же grub2-*
                                                                              почему я должен указывать путь к файлу настроек, у которого всегда и у всех одно положение?
                                                                              Ответить
                                                                              • > почему я должен указывать путь к файлу настроек, у которого всегда и у всех одно положение?
                                                                                Ну и не указывай, кто заставляет то. grub-install'у емнип, вполне достаточно сказать в какой раздел захреначить stage1 и всё.
                                                                                Ответить
                                                                    • > а то мои любимые порнокартинки слетают при каждом обновлении
                                                                      эм, ну тут уж ты сам виноват, что тебе хочется того, что не хочется больше никому

                                                                      обычно линуксовую тачку ребутят не чаще чем раз в месяц и уж точно всем посрать какие там будут порнокартинки при загрузке - лишь бы быстрее загрузилась

                                                                      так что тут как обычно в линуксе - чего-то захотелось, не нашёл - напиши сам.
                                                                      возможно, найдешь даже второго единомышленника и тогда напишете вдвоем :)
                                                                      Ответить
                                                                      • > эм, ну тут уж ты сам виноват, что тебе хочется того, что не хочется больше никому
                                                                        всех устраивают брендовые картинки? в моем случае это хамелеон.

                                                                        а я хочу видеть что-то более эстетичное, нежели стилизованного хамелеона.
                                                                        Ответить
                                                                        • В кедах картинки иногда слетают после апдейта системы (но не всегда). Иногда апдейт может похерить скин окошек (у меня был очень красивый скин в стиле Трона, а после апдейта у него что-то случилось с верхней полоской рисующей рамку окна. Но положа руку на сердце - ну да, обидно, и было трудно расстаться, слезы, депрессия и все такое, конечно, но я как-то пережил даже без прозака обошлось.
                                                                          Ответить
                                                                          • https://fbcdn-sphotos-b-a.akamaihd.net/hphotos-ak-frc3/194124_10151189438424393_382536188_o.jpg
                                                                            https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-ash2/193686_10151189764789393_469184784_o.jpg
                                                                            https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-frc1/616068_10151192010579393_128181575_o.jpg
                                                                            https://fbcdn-sphotos-a-a.akamaihd.net/hphotos-ak-ash2/477581_10151189436374393_1297655910_o.jp g
                                                                            https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-ash2/477581_10151189436389393_698587332_o.jpg
                                                                            https://fbcdn-sphotos-b-a.akamaihd.net/hphotos-ak-frc3/477581_10151189436419393_447153946_o.jpg
                                                                            А был-то... просто заглядение!
                                                                            Ответить
                                                                        • > всех устраивают брендовые картинки?
                                                                          Скажем так, я тупо не успеваю разглядеть ее за те 10-15 секунд, через которые появляется порнокартинка (которую бубунтовый логин скрин берет прямо с фона рабочего стола, если права позволяют) с окошком логина ;) Я вот даже не могу вспомнить, чего там нарисовано в убунте, хотя включаю и выключаю комп каждый день... Вроде как просто однотонный фон с точками-прогрессбаром. Но уверенности нет.
                                                                          Ответить
                                                                          • это в бубунте, я ее видел... а в сюзе неплохая анимация... но все равно хочу что-то более ободряющее, чем хамелеон...
                                                                            Ответить
                                                                        • Забаньте меня. Устал читать коменты.
                                                                          Ответить
                                                                          • > Забаньте меня. Устал читать коменты.
                                                                            не читай. я всегда так делаю в таких случаях - и помогает
                                                                            Ответить
                                                                            • Он, видимо забыл, где находится.

                                                                              Крейслер и Рахманинов исполняли сонату Франка в "Карнеги-холл". Скрипач играл без нот и... вдруг память подвела его уже в первой части! Крейслер подошел ближе к пианисту и заглянул в ноты, пытаясь найти тот такт, где он мог бы "поймать" партнера.
                                                                              - Где мы находимся?! Где мы находимся?! - отчаянно зашептал скрипач.
                                                                              - В "Карнеги-холл", - не переставая играть, шепотом ответил Рахманинов.
                                                                              Ответить
                                                                    • >кедам для смены картинок, а то мои любимые порнокартинки слетают при каждом обновлении

                                                                      KDE же умеет делать слайдшоу. Посмотри в настройках виджета рабочего стола

                                                                      >почему в консоли все комманды надо набирать с особыми ключами и полными путями к конфигам?

                                                                      примеры можно? Я могу вспомнить только демоны, но они запускаются из инит скриптов и юзают указанные там конфиги

                                                                      для частых комманд можно запилить алиасы:
                                                                      alias la='ls -al'
                                                                      и вообще, переходи на zsh + oh-my-zsh(по вкусу)

                                                                      >иногда слетает груб:
                                                                      бубунта? Я угадал?
                                                                      У меня груб слетал только после установки очень вумного шиндошса

                                                                      >вот я ща думаю гуевину наваять для удобной смены загрузчику, осьбуту
                                                                      зачем менять загрузчик каждый день? Один раз настроил и все.

                                                                      >и что интересное - гуев никто не писал и не пишет
                                                                      никому не нужны, вот никто и не пишет. Те кому надо, спокойно работают в терминале, а остальным без разницы в чем не разбираться
                                                                      Ответить
                                                                      • > бубунта? Я угадал?
                                                                        Бубунта. Чуть более 5 лет. Граб слетал только при установке винды. ЧЯНТД?

                                                                        > KDE же умеет делать слайдшоу.
                                                                        Не, ему картинку во время загрузки сменить хочется, а не на рабочем столе.
                                                                        Ответить
                                                                      • > бубунта? Я угадал?
                                                                        опенсюзя.
                                                                        >>Не, ему картинку во время загрузки сменить хочется, а не на рабочем столе.
                                                                        и таки да.
                                                                        Ответить
                                                                • Это да, если задают вопрос, я название фирмы просто вырезаю.
                                                                  Ответить
                                                • Как то Вы говорили, что Билдер/Делфи неправильно указывают владельца модальных окон: я посмотрел, это свойство указано в классе формы. Просто нужно его править, но обычно все закрывают на это глаза.
                                                  Ответить
                                                  • > Просто нужно его править
                                                    Класс TForm поправить? :) Ну да, не спорю, если апишный SetParent() засунуть именно туда, то все будет норм.

                                                    Там более тонкий баг. Свойства то на уровне VCL все нормально стоят. Просто в VCL модальность реализована через анус. Вместо того, чтобы сказать винде "вот это окно родитель вот этого", он какого то хуя тупо блокирует родительское окно.

                                                    В результате в винде, при клике по родителю, не моргает текущее модальное окно (да и хер с ним, хотя бы работает).

                                                    А в линухе под вайном все пидорасит и проваливается.
                                                    Ответить
                                        • Как будто что-то плохое.
                                          Ответить
                            • А я наоборот везде слышу, что у шарпа пород вхождения ниже, но это наверное относится с хеллоувордам

                              В шарпе есть делегаты (типобезопасные ссылки на функции), но. по сути, они заворачиваются в классы
                              Ответить
                              • В шарпе гораздо больше фич, из которых подавляющее большинство или нужно в строго определенных ситуациях (вроде partial классов), или без которых можно прожить. Делегаты однозначно гут, ебня с вложенными классами и видимостью переменных может вывести любого из себя.
                                Ответить
                                • > ебня с вложенными классами
                                  Да, делегаты удобны.

                                  > видимостью переменных
                                  А что там за проблема с видимостью?
                                  Ответить
                                  • Как там с видимостью переменных во вложенных классах?
                                    Ответить
                                    • > назад # Как там с видимостью переменных во вложенных классах?
                                      final локалки и this. Надо что то еще?
                                      Ответить
                                      • Ручки дрожат?
                                        Ответить
                                      • Если передаешь замыкание в питоне,скажем, то это обычная функция/метод со всеми вытекающими. А тут надо чего-то доучивать.
                                        Ответить
              • Вот уж (_._)
                Ответить

    Добавить комментарий