Господа, какие компоненты для Delphi работают с Berkeley DB???
» Вопросы по компонентам для Delphi, C++ Builder
RealThinClient вроде уже open-source начиная с 1.6
Увы, как я понял - нет: на их сайте _http://www.deltasoft.hr/rtc/order.htm можно только заказать компонент начиная с 95 евро. Хотя в поиске находятся упоминания о том, что компонент стал open source, но, видимо, автор уже передумал
Цитата:
Подскажите, кто как решает следующую проблему:
Tdataset выбирает около 2 млн. записей. При прокрутке в конец выборки приложение вылетает по памяти. Выборку уменьшать нельзя. Надо видеть все записи. Есть что-нибудь для решения этой проблемы....
ChSerg разделяй и властвуй! Раздели задачу на две. (Через Query).
1. Показывать содержимое всего по какому либо одному полю (номеру записи, имени и т.п.). (Query1)
2. Показывать выбранную запись полностью. (Query2)
Цитата:
Подскажите, кто как решает следующую проблему:
Tdataset выбирает около 2 млн. записей. При прокрутке в конец выборки приложение вылетает по памяти. Выборку уменьшать нельзя. Надо видеть все записи. Есть что-нибудь для решения этой проблемы....
А что, кто-то в состоянии просмотреть глазами 2 млн. записей сразу?
Kustarnik
Не подходит. Надо группировать, использовать инкрементный поиск и т.д и т.п.
vndovr
Я не спрашиваю, надо или не надо, в состоянии или не в состоянии.
Я спрашиваю как решить эту проблему!!!!
Уж поверьте, перед тем как написать вопрос, вопросы с надо или не надо были все обсуждены...
Не подходит. Надо группировать, использовать инкрементный поиск и т.д и т.п.
vndovr
Я не спрашиваю, надо или не надо, в состоянии или не в состоянии.
Я спрашиваю как решить эту проблему!!!!
Уж поверьте, перед тем как написать вопрос, вопросы с надо или не надо были все обсуждены...
Посоветуйте компонент для сканирования документов.
Есть ли он вообще?
Есть ли он вообще?
ChSerg
есть такой компонент - tgbDataSet, был на DevRace.com в разделе файлов для FibPlus . это типа особым образом оптимизированный компонент для просмотра БОЛЬШИХ датасетов череж фибы. последняя версия типа 1.04 или 1.06 - уже не помню..
есть такой компонент - tgbDataSet, был на DevRace.com в разделе файлов для FibPlus . это типа особым образом оптимизированный компонент для просмотра БОЛЬШИХ датасетов череж фибы. последняя версия типа 1.04 или 1.06 - уже не помню..
deks
Пасиб.
Вот если бы еще под Oracle этот компонент переделать....
Цены бы ему не было....
Пасиб.
Вот если бы еще под Oracle этот компонент переделать....
Цены бы ему не было....
ChSerg
Если нужно группировать, использовать инкрементальный поиск и т.п., то лучше эти процедуры выполнять на сервере (тем более, если сервер - Oracle), а клиенту передавать только то, что ему поместится на экран. Таким образом и трафик существенно сократится, и работать будет шустрее (т.к. объём памяти на клиенте ограничен). НО это будет уже не TDataSet, а нечто другое, более сложное.
В качестве похожей проблемы и её решения можно привести сайт maps.google.com (говорят, что там используют технологию AJAX): общее количество данных - несколько сот гигабайт. Если бы они сначала требовали загрузить все данные на компьютер клиента, то никто бы не пользовался этим сервисом.
Если нужно группировать, использовать инкрементальный поиск и т.п., то лучше эти процедуры выполнять на сервере (тем более, если сервер - Oracle), а клиенту передавать только то, что ему поместится на экран. Таким образом и трафик существенно сократится, и работать будет шустрее (т.к. объём памяти на клиенте ограничен). НО это будет уже не TDataSet, а нечто другое, более сложное.
В качестве похожей проблемы и её решения можно привести сайт maps.google.com (говорят, что там используют технологию AJAX): общее количество данных - несколько сот гигабайт. Если бы они сначала требовали загрузить все данные на компьютер клиента, то никто бы не пользовался этим сервисом.
ChSerg
С чем работаешь? БД какая?
Цитата:
Как решить проблему: обсудить еще раз с профи в БД. Которые с БД не меньше 3-5 лет работают, причем с серьезными, а не типа 2-3 справочника+1 главная табличка на все.
И они тебе через 1-3 часа, смотря насколько твердолобым будешь, объяснят, что на самом деле тебе нужно не выборку делать в 2 млн. записей, а нечто совсем другое.
Для начала попробуй ответить на вопрос: что будешь делать с этой выборкой, кроме как глазами смотреть.
Группировать? - так тогда зачем тащить все, если можно тащить по группам?
Искать? - так и тащи результаты поиска. Инкрементный поиск хорош только для справочников. И то небольших.
Это так, навскидку.
Не навскидку: играя на поле СУБД играй по правилам СУБД, а не вводи свои.
А то, понимаешь, захотеть на самолете до Луны долететь можно, но как ни лети - не долетишь. Гарантирую.
С чем работаешь? БД какая?
Цитата:
Я не спрашиваю, надо или не надо, в состоянии или не в состоянии.
Я спрашиваю как решить эту проблему!!!!
Уж поверьте, перед тем как написать вопрос, вопросы с надо или не надо были все обсуждены...
Как решить проблему: обсудить еще раз с профи в БД. Которые с БД не меньше 3-5 лет работают, причем с серьезными, а не типа 2-3 справочника+1 главная табличка на все.
И они тебе через 1-3 часа, смотря насколько твердолобым будешь, объяснят, что на самом деле тебе нужно не выборку делать в 2 млн. записей, а нечто совсем другое.
Для начала попробуй ответить на вопрос: что будешь делать с этой выборкой, кроме как глазами смотреть.
Группировать? - так тогда зачем тащить все, если можно тащить по группам?
Искать? - так и тащи результаты поиска. Инкрементный поиск хорош только для справочников. И то небольших.
Это так, навскидку.
Не навскидку: играя на поле СУБД играй по правилам СУБД, а не вводи свои.
А то, понимаешь, захотеть на самолете до Луны долететь можно, но как ни лети - не долетишь. Гарантирую.
SergeBS
Хе-хе-хе....
С базами работаю уже лет 16... с Ораклом 7 лет... сертифицированный специалист Oracle по построению и обслуживанию хранилищ данных. Имею лом написанных коммерческих приложений, реально эксплуатируемых в различных организациях...
Просто, существует база знаний в общей сложности до сотен миллионов записей, по которой аналитики должны лазить как им захочется... Это их требование.... и т.д. и т.п...
Хе-хе-хе....
С базами работаю уже лет 16... с Ораклом 7 лет... сертифицированный специалист Oracle по построению и обслуживанию хранилищ данных. Имею лом написанных коммерческих приложений, реально эксплуатируемых в различных организациях...
Просто, существует база знаний в общей сложности до сотен миллионов записей, по которой аналитики должны лазить как им захочется... Это их требование.... и т.д. и т.п...
ChSerg
А в чем проблема - выгрузить 2 млн. записей из базы на клиента да еще на нем и группировки строить ? Так памяти добавили и нет проблемы, а то потом сеть начнет случайно тормозить, если буфер на клиенте маленький будет для записей.
А в чем проблема - выгрузить 2 млн. записей из базы на клиента да еще на нем и группировки строить ? Так памяти добавили и нет проблемы, а то потом сеть начнет случайно тормозить, если буфер на клиенте маленький будет для записей.
vndovr
Веселиться я тоже могу.... Лучше бы чего умное сказал....
Веселиться я тоже могу.... Лучше бы чего умное сказал....
Цитата:
С базами работаю уже лет 16... с Ораклом 7 лет... сертифицированный специалист Oracle по построению и обслуживанию хранилищ данных. Имею лом написанных коммерческих приложений, реально эксплуатируемых в различных организациях...
Просто, существует база знаний в общей сложности до сотен миллионов записей, по которой аналитики должны лазить как им захочется... Это их требование.... и т.д. и т.п...
Выгнать аналитиков нахер - и не ставить откровенно бредовых задач... такое количество записей даже машина долго анализирует, не то что бы там даже очень умные аналитики.
Это случай из серии... приглашаем на работу, нужно знать 5 языков программирования... А зачем 5 то... да так, у нас несколько программ и все на разных языках... ага и все делают примерно одно и тоже... О компетентности руководства можно даже не думать...
Выход один - делать селекты по сложному фильтру... пусть объединяют как хотят - и юзать нормальный грид....
Цитата:
Скачал и хочу установить ElPack 4.04 для D7
Но... есть .dcu и .dpk не нет .bpl
Возможно ли установить? Может кто-нибудь знает как?
VikLabel, сделай так:
Открывай поочереди в IDE
- elpackD7.dpk
- elpkdbD7.dpk
- elpproD7.dpk
- elmlgnD7.dpk
- elmltgD7.dpk
- dcelppD7.dpk
- dclelpD7.dpk
- dceldbD7.dpk.
RunTime (первые 3 компилируй)
Остальные компилируй и инсталлируй.
Пропиши полный путь к каталогам \Code\Source и \Code\Design через меню Tools – Environment Options – Library –Library Path
ChSerg
А можно озвучить требования аналитиков? Просто неверится, что могут быть такие объективные требования, которые требуют выгрузки 2млн. записей. Кроме шуток, очень интересно знать. А то все вокруг кричат - бредовая задача, нераельная... А вдруг реальная? Вдруг столкнусь с такой проблемой? Так хоть буду готов... Спасибо.
Цитата:
Мое глубокое убеждение - что пользователю ( даже аналитику ) надо иметь ровно столько записей, сколько он сможет увидеть на экране, ну может чуть больше... На любое его поползновение - подгружать еще немножко...
А можно озвучить требования аналитиков? Просто неверится, что могут быть такие объективные требования, которые требуют выгрузки 2млн. записей. Кроме шуток, очень интересно знать. А то все вокруг кричат - бредовая задача, нераельная... А вдруг реальная? Вдруг столкнусь с такой проблемой? Так хоть буду готов... Спасибо.
Цитата:
Просто, существует база знаний в общей сложности до сотен миллионов записей, по которой аналитики должны лазить как им захочется... Это их требование.... и т.д. и т.п...
Мое глубокое убеждение - что пользователю ( даже аналитику ) надо иметь ровно столько записей, сколько он сможет увидеть на экране, ну может чуть больше... На любое его поползновение - подгружать еще немножко...
ChSerg
Ок.
Давай все же сначала определимся - тебе нужно на клиенте 2 млн. записей реально или тебе нужна иллюзия того что они есть на клиенте?
Если (1) - см. выше - добавлять память и ждать пока 2 млн. загрузятся на клиента.
Если (2) - тогда можно посмотреть как работает тот же gb_Dataset - скорее всего он просто делает выборки небольшими порциями, перестраивая SQL запрос внутри себя.
Если не хочется писать свой компонент - брать, к примеру StringGrid и ручками отслеживать чего там пользователь нажал (Ctrl-end/home, PgUp, PgDn) и вручную сформированным запросом выбирать небольшой кусок данных, который ему нужен. Тот же инкрементный поиск - обрабатывать подобным образом.
Еще, как вариант, - выбрать только айдишки, а вторым запросом по AfterScroll - выбирать полный набор данных для отображения - только когда они требуются + кешировать локально последние выбранные записи, самому. Как вариант в котором можно пытаться двигаться. Но 2 млн. даже ID-шек - это несколько мег только данных без служебной информации - сам понимаешь как это по сети будет работать при просьбе перейти на последнюю запись. На нескольких десятках тысяч такой вариант работать будет.
Думать и смотреть по задаче - от чего можно отказаться и как ограничить пользователя от необдуманных шагов - ну клавишу End выломать , к примеру. Или строить его так, чтобы мыслей дурных не возникало
FYI - http://interbase-world.com/ru/articles/2350.php
Ок.
Давай все же сначала определимся - тебе нужно на клиенте 2 млн. записей реально или тебе нужна иллюзия того что они есть на клиенте?
Если (1) - см. выше - добавлять память и ждать пока 2 млн. загрузятся на клиента.
Если (2) - тогда можно посмотреть как работает тот же gb_Dataset - скорее всего он просто делает выборки небольшими порциями, перестраивая SQL запрос внутри себя.
Если не хочется писать свой компонент - брать, к примеру StringGrid и ручками отслеживать чего там пользователь нажал (Ctrl-end/home, PgUp, PgDn) и вручную сформированным запросом выбирать небольшой кусок данных, который ему нужен. Тот же инкрементный поиск - обрабатывать подобным образом.
Еще, как вариант, - выбрать только айдишки, а вторым запросом по AfterScroll - выбирать полный набор данных для отображения - только когда они требуются + кешировать локально последние выбранные записи, самому. Как вариант в котором можно пытаться двигаться. Но 2 млн. даже ID-шек - это несколько мег только данных без служебной информации - сам понимаешь как это по сети будет работать при просьбе перейти на последнюю запись. На нескольких десятках тысяч такой вариант работать будет.
Думать и смотреть по задаче - от чего можно отказаться и как ограничить пользователя от необдуманных шагов - ну клавишу End выломать , к примеру. Или строить его так, чтобы мыслей дурных не возникало
FYI - http://interbase-world.com/ru/articles/2350.php
ChSerg
Как в литровую банку засунуть 1,5 л воды?
Ну не лезет в твой комп 2 миллиона записей!
Либо воды надо уменьшить, либо банку взять побольше, так понятно?
Как в литровую банку засунуть 1,5 л воды?
Ну не лезет в твой комп 2 миллиона записей!
Либо воды надо уменьшить, либо банку взять побольше, так понятно?
Kustarnik
Так и делаю. Получаю ошибку -
[Fatal Error] elpackD7.dpk(197): Unit ElMenuBar was compiled with a different version of ElToolBar.TCustomElToolButton
файлов .pas нет, если бы был то не было бы проблем!!!
Так и делаю. Получаю ошибку -
[Fatal Error] elpackD7.dpk(197): Unit ElMenuBar was compiled with a different version of ElToolBar.TCustomElToolButton
файлов .pas нет, если бы был то не было бы проблем!!!
Ребят, вопрос наверное повторялся, но подходит ли Absolute DB для работы с большим объёмом данных, порядка 500К записей ? Или лучше какие то другие аналогичные компоненты ?
Raven2002
два упомянутых именно что коммерческие. автор rtc в последнее время очень сильно метался из конца в конец, IIUC уже не опенсорс - его я впрочем не пробовал ни в каком виде. MsgConnect прошлогодний есть на фиксдауне. он в принципе работоспособный но глючный я его юзаю и периодически тут испрашиваю свежих версий - молчат как партизаны нужно бы поискать в какой-нть пиринговой сети но у меня нету выходов в настоящее время
есть еще MsgCommunicator примерно аналогичной направленности. качества его не знаю, не юзал. но зато категорически не доверяю фирме-автору
а вообще отправлять-то можно по разному. да хотя бы ч/з инди. не подходит?
Добавлено:
ChSerg
если тебе _обязательно_и_неизбежно_ использовать наследие TDataSet для того чтобы получить всякие вкусности в готовом виде (дб-аварность, богатый интерфейс и функционал) то кроме как выбрать подходящий с минимальными требованиями по памяти (например TkbmMemTable в режиме Small + сжатием) или написать свой супер-экономный плюс добавить памяти столько сколько понадобится (благо она щаз вполне доступна) у тебя попросту НЕТ
альтернативно: отказаться от датасета вообще/решить задачу принципиально иным образом (избегая жирного фетча)
два упомянутых именно что коммерческие. автор rtc в последнее время очень сильно метался из конца в конец, IIUC уже не опенсорс - его я впрочем не пробовал ни в каком виде. MsgConnect прошлогодний есть на фиксдауне. он в принципе работоспособный но глючный я его юзаю и периодически тут испрашиваю свежих версий - молчат как партизаны нужно бы поискать в какой-нть пиринговой сети но у меня нету выходов в настоящее время
есть еще MsgCommunicator примерно аналогичной направленности. качества его не знаю, не юзал. но зато категорически не доверяю фирме-автору
а вообще отправлять-то можно по разному. да хотя бы ч/з инди. не подходит?
Добавлено:
ChSerg
если тебе _обязательно_и_неизбежно_ использовать наследие TDataSet для того чтобы получить всякие вкусности в готовом виде (дб-аварность, богатый интерфейс и функционал) то кроме как выбрать подходящий с минимальными требованиями по памяти (например TkbmMemTable в режиме Small + сжатием) или написать свой супер-экономный плюс добавить памяти столько сколько понадобится (благо она щаз вполне доступна) у тебя попросту НЕТ
альтернативно: отказаться от датасета вообще/решить задачу принципиально иным образом (избегая жирного фетча)
ChSerg
Цитата:
Значит делаешь навороченную форму для условий выборки. Я себе фрейм сделал под это дело и порядок. Типа выбрали параметр - щелкнули в списке значений по нужным галочкам, следующий параметр выбрали .... пока не надоест этим "аналитикам". Потом select count() - и если количество разумное - получите результат (если захочется). Можно и время просмотра оценить. Если больше 8 часов например - сразу приказ о выговоре за бестолковую работу печатать . Есть еще такая штука как OLAP. Специально для аналитиков придумана. Запрячь его - вполне неплохой выход. Замаскировав и русифицировав таким образом.
Если уж этим аналитикам ну очень это надо - 2 млн. записей посмотреть, то берем калькулятор и считаем (вслух ). Пусть на запись - 0.1 секунды (нереально, зато доходчиво). Тогда на 2 млн. - больше 2-х суток. После чего можно вежливенько так поинтересоваться, нужна ли господину аналитику подушка, чтоб поспать, когда устанет записи просматривать, или его начальство сразу в пешее эротическое путешествие пошлет за подобную скорость анализа.
Все. Непомерные аппетиты устраняются только административно. Поскольку они - имитация работы с тайным желанием потребовать невозможного, а в результате заиметь железную отмазку "я бы сделал, но вот они (программисты) мне не дают".
Цитата:
А как насчет Дейта, Ульмана и т.п. ?
Цитата:
Просто, существует база знаний в общей сложности до сотен миллионов записей, по которой аналитики должны лазить как им захочется... Это их требование.... и т.д. и т.п...
Значит делаешь навороченную форму для условий выборки. Я себе фрейм сделал под это дело и порядок. Типа выбрали параметр - щелкнули в списке значений по нужным галочкам, следующий параметр выбрали .... пока не надоест этим "аналитикам". Потом select count() - и если количество разумное - получите результат (если захочется). Можно и время просмотра оценить. Если больше 8 часов например - сразу приказ о выговоре за бестолковую работу печатать . Есть еще такая штука как OLAP. Специально для аналитиков придумана. Запрячь его - вполне неплохой выход. Замаскировав и русифицировав таким образом.
Если уж этим аналитикам ну очень это надо - 2 млн. записей посмотреть, то берем калькулятор и считаем (вслух ). Пусть на запись - 0.1 секунды (нереально, зато доходчиво). Тогда на 2 млн. - больше 2-х суток. После чего можно вежливенько так поинтересоваться, нужна ли господину аналитику подушка, чтоб поспать, когда устанет записи просматривать, или его начальство сразу в пешее эротическое путешествие пошлет за подобную скорость анализа.
Все. Непомерные аппетиты устраняются только административно. Поскольку они - имитация работы с тайным желанием потребовать невозможного, а в результате заиметь железную отмазку "я бы сделал, но вот они (программисты) мне не дают".
Цитата:
Хе-хе-хе....
С базами работаю уже лет 16... с Ораклом 7 лет... сертифицированный специалист Oracle по построению и обслуживанию хранилищ данных. Имею лом написанных коммерческих приложений, реально эксплуатируемых в различных организациях...
А как насчет Дейта, Ульмана и т.п. ?
Ответ всем...
Уточняюсь. Реально не 2 млн. записей. За каждые сутки идет подгрузка 100 000 - 200 000 записей. Вот эту подгрузку им (аналитикам) очень хочется просмотреть глазами, побегать по ней, поискать, сгруппировать и т.д.
В принципе щас так и сделано как написал многоуважаемый vndovr, что подгрузка остальных полей идет по требованию на событии OnDisplayText у TcxGrid. Понятно, что в ни группировка, ни инкрементный поиск не работают, так как в колонках гридины на месте названия поля из DataSet пустота.
Просто думал, что может я пропустил чего из новых разработок.... Оказывается все без изменений...
Ладно... Придумаем что-нибудь.... Всем БОЛЬШОЕ СПАСИБО за советы.
Уточняюсь. Реально не 2 млн. записей. За каждые сутки идет подгрузка 100 000 - 200 000 записей. Вот эту подгрузку им (аналитикам) очень хочется просмотреть глазами, побегать по ней, поискать, сгруппировать и т.д.
В принципе щас так и сделано как написал многоуважаемый vndovr, что подгрузка остальных полей идет по требованию на событии OnDisplayText у TcxGrid. Понятно, что в ни группировка, ни инкрементный поиск не работают, так как в колонках гридины на месте названия поля из DataSet пустота.
Просто думал, что может я пропустил чего из новых разработок.... Оказывается все без изменений...
Ладно... Придумаем что-нибудь.... Всем БОЛЬШОЕ СПАСИБО за советы.
VikLabel, где-то у тебя на компе затерялись обломки предыдущих версий. Проверь системный каталог, а также в прописанных каталогах. Встает нормально!
Можно попробовать так: скачать триал про с home, инсталлировать-деинсталлировать (чтобы убрал все лишнее) , а потом уже ставить этот вариант.
Можно попробовать так: скачать триал про с home, инсталлировать-деинсталлировать (чтобы убрал все лишнее) , а потом уже ставить этот вариант.
Kustarnik
Спасибо!!! Поставил!!!
Спасибо!!! Поставил!!!
Конкурс наилучший HTML парсер.
Участники:
1. DIHtmlParser v.4.1.1 _http://www.yunqa.de/delphi/htmlparser/
_http://www.yunqa.de/delphi/downloads/DIHtmlParser_4.1.1.exe
2. HTML DOM Parser v.1.1 _http://www.progsan.com/products/domparser.do
_http://www.progsan.de/download/easynet.zip
3. Eternal Lines HTML Parser _http://www.eternallines.com/htmlparser/index.html
_http://www.eternallines.com/htmlparser/elHTMLParser10.zip
4. TLegHtmlParser _http://www.legitima.com/files/ablht110.zip
5. HtmlTools version 1.03b от CoolDev _http://www.cooldev.com/htmltools.html
_http://www.cooldev.com/htmltools/htmltool.exe
Конечно "лучший", "оптимальный" - дело вкуса и задачи, но лично мне более всего симпатичен парсер от amsancho. Этот топик подходящее место, для того, чтобы спрашивать, советовать, обсуждать и выбирать!
Участники:
1. DIHtmlParser v.4.1.1 _http://www.yunqa.de/delphi/htmlparser/
_http://www.yunqa.de/delphi/downloads/DIHtmlParser_4.1.1.exe
2. HTML DOM Parser v.1.1 _http://www.progsan.com/products/domparser.do
_http://www.progsan.de/download/easynet.zip
3. Eternal Lines HTML Parser _http://www.eternallines.com/htmlparser/index.html
_http://www.eternallines.com/htmlparser/elHTMLParser10.zip
4. TLegHtmlParser _http://www.legitima.com/files/ablht110.zip
5. HtmlTools version 1.03b от CoolDev _http://www.cooldev.com/htmltools.html
_http://www.cooldev.com/htmltools/htmltool.exe
Конечно "лучший", "оптимальный" - дело вкуса и задачи, но лично мне более всего симпатичен парсер от amsancho. Этот топик подходящее место, для того, чтобы спрашивать, советовать, обсуждать и выбирать!
Kustarnik
Цитата:
Доберусь домой - погляжу....
Цитата:
Конечно "лучший", "оптимальный" - дело вкуса и задачи, но лично мне более всего симпатичен парсер от amsancho.
Доберусь домой - погляжу....
имеется массив порядка 3000 на 100 элементов (точнее 3328х64) типа X_Y1_Y2_ ..._Yn (n - номер колонки), перевожу его в тройки X_Y_n. Отрисовываю 3D в TeeChart7. Почему-то при полном размере массива (3328х64х3) получаю ошибку - типа access violation, а когда исходную матрицу урезаю (точно не мерил, до ~ 2000х64) - то все нормально ..
Пачему ? И есть ли еще компоненты для 3D графики кроме TeeChart'a ? В SDL прога виснет уже на массиве 100х100
Пачему ? И есть ли еще компоненты для 3D графики кроме TeeChart'a ? В SDL прога виснет уже на массиве 100х100
Посоветуйте небольшой фришный компонент для записи/воспроизведения макросов (клавиатурных команд и мыши.)
Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
Предыдущая тема: Что такое Объектно Ориентное Программирование ?
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.