Здравствуйте, CreatorCray, Вы писали:
I>>Консольщики такие консольщики I>>Фолдинг в консольном редакторе ? Круто, круто Я как бы тоже видел, но дерьма стараюсь не употреблять. CC>Давай без твоего фирменного говнометания.
Хорошо, давай. Ты употребляешь консольный фолдинг ?
Здравствуйте, std.denis, Вы писали:
SD>Понимаешь какая штука, изначально я отвечал CreatorCray. Т.е. я просто поделился с ним какие полезняшки есть для облегчения/убыстрения навигации.
Ну, допустим.
SD>Вопрос про Тотал был на тот расчет, что найдется добрая душа, которая расскажет как можно в Тотале так же сделать (напомню: 1. быстрый переход в папку по её псевдониму — "cd:md" переход в мои документы, без отыскивания нужного пункта в выпадающем меню; 2. история просмотров, редактирований, переходов по папкам, в возможностью фильтрации по части pathname). Я не хочу сделать из Тотала FAR, меня интересуют вполне конкретные способы выполнения задач быстрой навигации. Если там что-то реализовано по-другому, но с сохранением функционала, то я ж не против.
Людям обычно нужен переход в какую то папку. Тебе почему то нужны псевдонимы
SD>Я и просил подсказать. Лучше конечно со скриншотами, если это не сложно. Я видел историю переходов и закладки лишь в виде выпадающих меню, которые нельзя отфильтровать набрав кусок пути.
Я честно говоря не сильно понимаю зачем это надо — фильтровать по части пути.
I>>Как в тотале, так это свистнуть жопой, а как фича для фара(сonemu), так это круто. SD>FAR != консоль, Conemu != TotalCmd. Зачем запускать FAR внутри Тотала, если он такой весь из себя удобный?
Фар это консоль. Конему это эмулятор консоли. Эмулятор консоли — есть такой плагин для тотала. Так понятно ?
Иногда таки приходится работать и с консолью. Про фар я пошутил, ег действительно незачем запускать в эмуляторе консоли для тотала. Но сама возможность есть.
Просто хотел проверить, куда вы увильнёте
>Консоль вполне можно использовать из cmd. Соответственно, Conemu сам по себе не является полноценным приложением, а лишь украшатель интерфейса для консолефобов. Без него FAR на много отзывчивей, особенно, когда нечто вешает весь гуй.
Не украшатель, а фича которая уменьшает количество лишних окон. Сейчас чуть не все аппликации это умеют — кол.во лишних окон уменьшать.
I>>Не интересовался. Расскажи, как это делается для Фара ? SD>Опа, неожиданный разворот В FAR все окошки открываются внутри консоли, это конечно и минус с одной стороны (что нельзя окошки отстыковать от основного окна), но с другой стороны мне такое поведение больше по душе, т.к. отдельноплавающие окна мне очень и очень редко нужны.
Т.е. выходит фар не умеет то, что ты запросил для тотала, правильно ?
I>>Фолдинг в консольном редакторе ? Круто, круто Я как бы тоже видел, но дерьма стараюсь не употреблять. SD>Ды я тоже не употреблять. Colorer'a и его навигации по файлу хватает с головой. На порядок лучше студии (без VisualAssist).
Ну это ты погорячился. В студии и без ассиста есть вагон сильных фич.
SD>Да, так и есть. Я несколько раз пытался перебраться на Тотал. Но всегда находилась какая-то жопь, из-за которой им было неудобно пользоваться.
Да, представь, некоторым жутко неудобно пересаживаться с ручной коробки передач на автоматическую. А когда люди нашли способ от подсоса отказаться, говорят десятилетия споры не затихали.
SD>И да, я не утверждаю, что я хорошо знаю Тотал. В моем изначальном сообщении до разделителя я описал возможности в FAR, которые я использую и просил знающих подсказать есть ли такое в Тотале. После разделителя я перечислил то, что меня в Тотале не устраивало. Опять же, перед ответом я проверил, не изменилось ли чего в Тоталостане.
Лучше бы ты рассказал, что тебе надо делать по работе, а я бы рассказал как бы я это делал в тотале, если конечно на консоль все не завязано.
Здравствуйте, Ikemefula, Вы писали:
I> I>> H>Если людям нафиг не уперлись ни генерики, ни юникод, ни многие другие плюшки нафиг им куда-то мигрировать?
I> I>> На пенсию идти.
I> H>Они решают свои задачи меньшими средствами
I> И все равно надо идти на пенсию.
Здравствуйте, Ikemefula, Вы писали:
I>>>Консольщики такие консольщики I>>>Фолдинг в консольном редакторе ? Круто, круто Я как бы тоже видел, но дерьма стараюсь не употреблять. CC>>Давай без твоего фирменного говнометания.
I>Хорошо, давай. Ты употребляешь консольный фолдинг ?
Нет. Я пользуюсь файловым менеджером как файловым менеджером.
Код я в файловых менеджерах не пишу.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Ikemefula, Вы писали:
I>Людям обычно нужен переход в какую то папку. Тебе почему то нужны псевдонимы
Псевдоним это способ быстро перейти в нужную папку.
При навыке слепой печати данное действие выполняется за доли секунды.
SD>>Я и просил подсказать. Лучше конечно со скриншотами, если это не сложно. Я видел историю переходов и закладки лишь в виде выпадающих меню, которые нельзя отфильтровать набрав кусок пути. I>Я честно говоря не сильно понимаю зачем это надо — фильтровать по части пути.
Если нужных папок реально много — фильтр это просто мегафича.
I>Просто хотел проверить, куда вы увильнёте
Так и пиши: троллил.
I>>>Фолдинг в консольном редакторе ? Круто, круто Я как бы тоже видел, но дерьма стараюсь не употреблять. SD>>Ды я тоже не употреблять. Colorer'a и его навигации по файлу хватает с головой. На порядок лучше студии (без VisualAssist). I>Ну это ты погорячился. В студии и без ассиста есть вагон сильных фич.
Без ассиста студия просто капец какая корявая.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, hattab, Вы писали:
I>> H>Они решают свои задачи меньшими средствами
I>> И все равно надо идти на пенсию.
H>Шашечки? Ехать?
Есть конечно проекты где люди пишут велосипеды "без дженериков" и тд и тд. Как правило это нежелание что либо изучать, т.е. тупо пилят деньги заказчика.
Здравствуйте, Ikemefula, Вы писали:
I> I>> H>Они решают свои задачи меньшими средствами
I> I>> И все равно надо идти на пенсию.
I> H>Шашечки? Ехать?
I> Есть конечно проекты где люди пишут велосипеды "без дженериков" и тд и тд. Как правило это нежелание что либо изучать, т.е. тупо пилят деньги заказчика.
Здравствуйте, Serginio1, Вы писали:
S>Здравствуйте, gandjustas, Вы писали:
S>>>>> Объект.ПолучитьОбъект().Получить2Объект().Выполнить(); После выполнения данной команды промежуточные объекты удалятся (По месту релиза). А бывают и очнь длинные цепочки. G>>>>И что? S>>> А то, что накапливаются объекты многие из которых содержат ресурсы, котрые нужно освождать чем раньше тем лучше. G>>"чем раньше тем лучше" зачастую некорректное утверждение. S> Корректное когда ресурсы заняты, ими нельзя воспользоваться из других приложений.
Реальные примеры такого есть?
S>>>>>>>Плюс в 2009 и дженерики появились. G>>>>>>Все бы хорошо, но в .NET они появились на 4 года раньше. Кроме того до сих пор самая используемая версия делфей — 7 S>>>>> Но это не значит, что 2009 не существует. Мы же обсуждаем не NET 1.1 G>>>>На .NET 1.1 уже никто не пишет, а на Delphi 7 — вполне. S>>> Это только говорит о его состоятельности. Хотя честно говоря уж долго он не развивался. G>>Это говорит о несостоятельности новых версий. G>>Почему при наличии delphi 2005 и выше, до сих пор на семерке сидят? S> Delphi 2005 была ориентирована на Net. 2009 уже на натив. C# в Net мощнее поэтому то и развития не получила. S>2009 уже развитие натива. Но много ли перешли в Net на 4ку?
Я перешел
S>>>>> Ну и как Тебе с Голым IDispatch работается через рефлексию? G>>>>С dynamic — прекрасно. S>>> И давно динамики то появились? G>>Ну в VB они и раньше были, в C# только в 4 версии. S> Еще VB мне до кучи не хватало. Итак приходится разные макросы писать. S>Так что намного проще на Delphi написать.
А причем тут макросы? VB.NET мало чем отличается от C# и отлично с ним взаимодействует.
Здравствуйте, hattab, Вы писали:
H>Здравствуйте, gandjustas, Вы писали:
g>> H>Еще и маршалер включается в работу... то-то ганджустас распевался об эффективности .net'а
g>> Снова ты не то померить хочешь. Сколько раз такая функция в среднем вызывается в программах? Я думаю это число гораздо меньше единицы.
H>Это лишь банальный пример, и он свою функцию выполняет, показывая, что "В .NET этого недостатка нету." не более чем миф. По сравнению с дельфей еще как есть.
То есть пример кода, который в реальных приложениях не встречается, а даже если бы встречался то его быстродействие никого бы не интересовало, что-то может доказать?
Я тебе щас столько говна на делфи приведу с таким подходом... Можно начать тупо с возврата объекта из метода и вопроса об управлении временем жизни.
g>> А сколько вызывается аллокатор....
g>> Я помню гонял тесты на Turbo Delphi и .NET на выделение-освобождение, результаты не в пользу делфи были H>Как раз таки наоборот Ты вспомни топик, где ты мерялся алокаторами Там .net слил и дельфям и алокатору от CreatorCray. У меня все ходы записаны
Не уходи от темы, там алокатор делфи слился. А то что написал CreatorCray далеко не стандартный алокатор, далеко не каждый сможет такой написать и он тупо через new не вызывается
Кроме тогос таким аллокатором не вызывается деструктор при освобождении.
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, gandjustas, Вы писали:
I>>>За каким хреном нужно писать код выше вместо I>>>Application.Documents.Current.SomeObjects I>>>Можешь сходу сказать ? I>>>Лично мне не нравится писать десять строчек вместо одной и я называю это "париться", потому что не дай бог забудешь, косяки может понадобиться искать неделями. G>>Так не пиши, ты в чем проблемы увидел то?
I>Повторяю вопрос — в каких случаях надо писать именно так как я показал, а не в одну строчку.
Мне — ни в каких, тебе — не знаю.
I>>>Кто по твоему закроет Эксель если счетчи ссылок на него нулю не равен ? G>>А кто тебе сказал что не равен? Может почитаешь рихтера и узнаешь когда вызываются финализаторы?
G>>ЗЫ. Если че напиши код сам — увидишь что все закрывается. I>Писал, потому и сообщаю — не закроется.
Значит не то писал, у меня все закрылось. Может магические плашки в подписи помогли
Здравствуйте, enji, Вы писали:
E>Здравствуйте, Ночной Смотрящий, Вы писали:
НС>>Здравствуйте, enji, Вы писали:
E>>>Развитость языка — а какие именно возможности языка были бы полезны в этом случае?
НС>>К примеру, для работы с СОМ-портом можно использовать Reactive Framework. В Дельфи аналог есть? Для асинхронности все тот же Rx или PLinq. В Дельфи аналог последнего есть?
E>Гм, а зачем? В дельфи есть компонент, у которого есть события — получен символ, переданы данные и т.д. Компонент полностью изолирует порт. Что у него внутрях — я не знаю, может отдельный поток, может порты завершения...
E>На его основе работа с портом пишется весьма просто.
Датыче? напиши-ка прогу, которая читает из порта пакеты, где в первом байте указана длина пакета, а в последующих сам пакет, в конце CRC.
После принятия валидного пакета его надо отправить на обработку некоторой функции, при этом порт должен продолжать принимать данные.
Здравствуйте, gandjustas, Вы писали:
g> H>Это лишь банальный пример, и он свою функцию выполняет, показывая, что "В .NET этого недостатка нету." не более чем миф. По сравнению с дельфей еще как есть.
g> g> То есть пример кода, который в реальных приложениях не встречается, а даже если бы встречался то его быстродействие никого бы не интересовало, что-то может доказать?
Это прямое опровержение твоих слов о каких-то проблемах дельфей при работе со строками. Цитирую тебя дословно:
много проблем возникает со строками, особенно когда надо их передавать и получать из внешних модулей.
И еще одно опровержение о якобе безпроблемности аналогичного в .net:
почему в .NET такие проблемы отсуствуют?
Там и COM и и передача между модулями нормально работает.
Наверное это таки недостаток делфи.
Итого, поздравляю тебя, гражданин, дважды соврамши.
g> Я тебе щас столько говна на делфи приведу с таким подходом... Можно начать тупо с возврата объекта из метода и вопроса об управлении временем жизни.
В делфи управление временем жизни объектов ручное. Я уже в курсе, что ты не осиливаешь.
g> g>> А сколько вызывается аллокатор....
g> g>> Я помню гонял тесты на Turbo Delphi и .NET на выделение-освобождение, результаты не в пользу делфи были
g> H>Как раз таки наоборот Ты вспомни топик, где ты мерялся алокаторами Там .net слил и дельфям и алокатору от CreatorCray. У меня все ходы записаны
g> Не уходи от темы, там алокатор делфи слился. А то что написал CreatorCray далеко не стандартный алокатор, далеко не каждый сможет такой написать и он тупо через new не вызывается g> Кроме тогос таким аллокатором не вызывается деструктор при освобождении.
Здравствуйте, gandjustas, Вы писали:
G>А то что написал CreatorCray далеко не стандартный алокатор,
А что такое стандартный аллокатор? Где определение "стандартности"?
В С++ стандарте алгоритм аллокации не фиксирован. То что по недоразумению называют стандартным аллокатором это реализация аллокатора изготовителем CRT. Как правило те не парятся и вызывают то, что предоставляет для аллокации памяти система.
Замена глобального аллокатора предусмотрена и разрешена.
Более того, можно по кастомному аллокатору вешать хоть на каждый класс.
Т.е. лехко сделать чтоб например new MySuperPuperString (...) выделялся собственным специальным аллокатором.
Ну а там уже дикий простор для творчества.
G>далеко не каждый сможет такой написать
Да в общем то и WinHeap ещё более не каждый осилит (а он посложнее будет).
Но пользуются им миллионы.
И ничего с ними не делается.
G>и он тупо через new не вызывается
4 строки...
...и всё превосходно вызывается.
G>Кроме тогос таким аллокатором не вызывается деструктор при освобождении.
Вызывается, вызывается. Не беспокойся. Глобальный operator delete об этом заботится сам.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, hattab, Вы писали:
H>Здравствуйте, gandjustas, Вы писали:
g>> H>Это лишь банальный пример, и он свою функцию выполняет, показывая, что "В .NET этого недостатка нету." не более чем миф. По сравнению с дельфей еще как есть.
g>> g>> То есть пример кода, который в реальных приложениях не встречается, а даже если бы встречался то его быстродействие никого бы не интересовало, что-то может доказать?
H>Это прямое опровержение твоих слов о каких-то проблемах дельфей при работе со строками. Цитирую тебя дословно: H>
много проблем возникает со строками, особенно когда надо их передавать и получать из внешних модулей.
Да ну? Покажешь как на делфи сделать dll с функцией, возвращающей строку, которая будет использоваться другим модулем?
g>> Я тебе щас столько говна на делфи приведу с таким подходом... Можно начать тупо с возврата объекта из метода и вопроса об управлении временем жизни. H>В делфи управление временем жизни объектов ручное.
Не съезжай с темы, как просто вернуть объект из метода? В C++ можно с shared_ptr вывернуться, в языках с GC вообще проблем нет, а в делфи как?
H>Я уже в курсе, что ты не осиливаешь.
Не переживай за меня, я на делфи много писал.
g>> g>> А сколько вызывается аллокатор....
g>> g>> Я помню гонял тесты на Turbo Delphi и .NET на выделение-освобождение, результаты не в пользу делфи были
g>> H>Как раз таки наоборот Ты вспомни топик, где ты мерялся алокаторами Там .net слил и дельфям и алокатору от CreatorCray. У меня все ходы записаны
g>> Не уходи от темы, там алокатор делфи слился. А то что написал CreatorCray далеко не стандартный алокатор, далеко не каждый сможет такой написать и он тупо через new не вызывается g>> Кроме тогос таким аллокатором не вызывается деструктор при освобождении.
H>У тебя с памятью что-то стало
Здравствуйте, gandjustas, Вы писали:
g> H>Это прямое опровержение твоих слов о каких-то проблемах дельфей при работе со строками. Цитирую тебя дословно: g> H>
много проблем возникает со строками, особенно когда надо их передавать и получать из внешних модулей.
g> Да ну? Покажешь как на делфи сделать dll с функцией, возвращающей строку, которая будет использоваться другим модулем?
Легко. Есть несколько способов отличающихся различной степенью сложности: Самый сложный: Использовать общий интерфейс менеджера памяти, типа IMalloc. Одно из стандартных решений старых версий: Использовать внешний менеджер памяти borlndmm.dll Простое решение: Использовать строки BSTR, ими управляет ОС (WideString). Простое решение: Использовать пакеты вместо dll (подходит для любых версий Delphi). Простое решение: Использовать менеджер памяти FastMM, он самостоятельно реализует шаринг (используется в Delphi c версии 2006).
g> g>> Я тебе щас столько говна на делфи приведу с таким подходом... Можно начать тупо с возврата объекта из метода и вопроса об управлении временем жизни.
g> H>В делфи управление временем жизни объектов ручное.
g> Не съезжай с темы, как просто вернуть объект из метода? В C++ можно с shared_ptr вывернуться, в языках с GC вообще проблем нет, а в делфи как?
Как просто вернуть? Вернуть очень просто:
Result := TObject.Create;
Дальше, либо сам заботишься, либо контейнер с передачей прав владения используешь.
g> H>Я уже в курсе, что ты не осиливаешь.
g> Не переживай за меня, я на делфи много писал.
Оно и заметно
g> g>> Не уходи от темы, там алокатор делфи слился. А то что написал CreatorCray далеко не стандартный алокатор, далеко не каждый сможет такой написать и он тупо через new не вызывается g> g>> Кроме тогос таким аллокатором не вызывается деструктор при освобождении.
g> H>У тебя с памятью что-то стало
E>>Гм, а зачем? В дельфи есть компонент, у которого есть события — получен символ, переданы данные и т.д. Компонент полностью изолирует порт. Что у него внутрях — я не знаю, может отдельный поток, может порты завершения...
E>>На его основе работа с портом пишется весьма просто.
G>Датыче? напиши-ка прогу, которая читает из порта пакеты, где в первом байте указана длина пакета, а в последующих сам пакет, в конце CRC. G>После принятия валидного пакета его надо отправить на обработку некоторой функции, при этом порт должен продолжать принимать данные.
G>А потом сравним вариант с Rx на .NET
Хм, а можно сразу пример на дотнете? А то я тут на жабе такие обработчики постоянно пишу, и слабо представляю, как тут что-то автоматизировать. Описания пакетов-то для всех девайсов разные(где-то первый байт длина, где-то два вторых, а первый маркер, где-то маркер конца без длины, CRC у всех разные и часто доморощенные(упаси судьба вас писать драйвер для китайского девайса, дока к которому автопереведена на английский, потом так же на русский, и оригинала нет), частенько приходится страдать анализом дампа с тестовой проги, так как доки вообще нет, часто вообще просто raw байты без маркеров и структуры, вобщем весело).
Поток на запись, поток на чтение, кастомная валидация и составление экземпляра класса "ответ", который уже выше отдается. Коммуникация с портом — тупо исходящий и входящий потоки. Как тут что-то изменить, я представляю слабо.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Здравствуйте, CreatorCray, Вы писали:
G>>А то что написал CreatorCray далеко не стандартный алокатор, CC>А что такое стандартный аллокатор? Где определение "стандартности"? CC>В С++ стандарте алгоритм аллокации не фиксирован. То что по недоразумению называют стандартным аллокатором это реализация аллокатора изготовителем CRT. Как правило те не парятся и вызывают то, что предоставляет для аллокации памяти система. CC>Замена глобального аллокатора предусмотрена и разрешена. CC>Более того, можно по кастомному аллокатору вешать хоть на каждый класс. CC>Т.е. лехко сделать чтоб например new MySuperPuperString (...) выделялся собственным специальным аллокатором. CC>Ну а там уже дикий простор для творчества.
А уж как туда кто-то с кривыми руками залезет — простор для фантазии о результатах этого просто фантастический.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Здравствуйте, Eugeny__, Вы писали:
E__>Здравствуйте, gandjustas, Вы писали:
E>>>Гм, а зачем? В дельфи есть компонент, у которого есть события — получен символ, переданы данные и т.д. Компонент полностью изолирует порт. Что у него внутрях — я не знаю, может отдельный поток, может порты завершения...
E>>>На его основе работа с портом пишется весьма просто.
G>>Датыче? напиши-ка прогу, которая читает из порта пакеты, где в первом байте указана длина пакета, а в последующих сам пакет, в конце CRC. G>>После принятия валидного пакета его надо отправить на обработку некоторой функции, при этом порт должен продолжать принимать данные.
G>>А потом сравним вариант с Rx на .NET
E__>Хм, а можно сразу пример на дотнете?
Потом, чтобы интригу не портить.
E__>А то я тут на жабе такие обработчики постоянно пишу, и слабо представляю, как тут что-то автоматизировать. Описания пакетов-то для всех девайсов разные(где-то первый байт длина, где-то два вторых, а первый маркер, где-то маркер конца без длины, CRC у всех разные и часто доморощенные(упаси судьба вас писать драйвер для китайского девайса, дока к которому автопереведена на английский, потом так же на русский, и оригинала нет), частенько приходится страдать анализом дампа с тестовой проги, так как доки вообще нет, часто вообще просто raw байты без маркеров и структуры, вобщем весело).
Соболезную.
E__>Поток на запись, поток на чтение, кастомная валидация и составление экземпляра класса "ответ", который уже выше отдается. Коммуникация с портом — тупо исходящий и входящий потоки. Как тут что-то изменить, я представляю слабо.
Например сделать всю эту хукню асинхронной.
Здравствуйте, gandjustas, Вы писали:
E__>>Хм, а можно сразу пример на дотнете? G>Потом, чтобы интригу не портить.
Ну, подождем. Впрочем, мне только для интереса — шарп недоступен, так как 98% клиентов, где крутится приложение(а это тысячи терминалов по всей стране), на Генту, и некоторая часть на Винде, причем паленой(полноценную поддержку таких мы не осуществляем). Кстати, прога 100% pure java, и я не хочу встраивать никакие нативные компоненты.
E__>>А то я тут на жабе такие обработчики постоянно пишу, и слабо представляю, как тут что-то автоматизировать. Описания пакетов-то для всех девайсов разные(где-то первый байт длина, где-то два вторых, а первый маркер, где-то маркер конца без длины, CRC у всех разные и часто доморощенные(упаси судьба вас писать драйвер для китайского девайса, дока к которому автопереведена на английский, потом так же на русский, и оригинала нет), частенько приходится страдать анализом дампа с тестовой проги, так как доки вообще нет, часто вообще просто raw байты без маркеров и структуры, вобщем весело). G>Соболезную.
Чему именно? Процессу разработки, или тому, что эта задача могла бы решаться каким-то магическим способом проще?
E__>>Поток на запись, поток на чтение, кастомная валидация и составление экземпляра класса "ответ", который уже выше отдается. Коммуникация с портом — тупо исходящий и входящий потоки. Как тут что-то изменить, я представляю слабо. G>Например сделать всю эту хукню асинхронной.
В каком плане? И так все асинхронно донельзя. Если что, потоки(данных) ввода-вывода также надстройка(по одному потоку(который Thread) на поток(данных) со свои буфером), и они позволяют драйверу не блокироваться на чтении/записи.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.