Язык Delphi (original) (raw)

Язык Delphi [Most Recent Entries][Calendar View] [Friends]

Below are the 20 most recent journal entries recorded inru_delphi's LiveJournal:

[ << Previous 20 ]

Friday, February 19th, 2016
_6:00 pm_[imageman72] Книга "Семакин И., Шестаков А., Основы программирования.djvu" Учебник по программированию Паскаль (Pascal) "Семакин, Шестаков. Основы программирования. 2001" можно скачать там:https://mega.nz/#!oh9FUCbA, Запасная ссылка (dropbox). или на файлопомойках http://multi.la/s/0HVYUQJHПрограмму для просмотра DjVu качать отсюда: http://windjview.sourceforge.net/ru/ (бесплатная)( Read more...Collapse ) (2 Comments |Comment on this)
Monday, January 18th, 2016
_7:41 pm_[imageman72] Множественная линейная регрессия _Может кому пригодится (искал несколько дней)._Множественная линейная регрессия (Multiple linear regression) используется для аппроксимации массива данных линейной функцией вида f(x)=b[1]*x1+b[2]*x2+b[3]*x3...+b[n]*xn+b[n+1] Т.е. когда мы имеем измерения во время эксперимента и результат эксперимента и хотим построить функцию предсказания. Регрессия часто используется в задачах классификации. В моем случае она используется для построения ансамбля слабых классификаторов из которых потом будет строиться дерево решений.Библиотека оформлена в виде 1 юнита + dll (x32 и x64). Работает очень шустро - порядка миллиона строк обрабатывает меньше, чем за секунду. Очень проста в использовании, есть пара примеров.Multiple linear regression 1.02 (for Delphi and FPC Pascal): http://pages.videotron.com/aminer/На этой же странице можно найти PArchiver, библиотеку сжатия, различные очереди (потоковые), хэш-список, Быстрая параллельная сортировка и вообще всякие плюшки для работы с потоками. (Comment on this)
Saturday, August 1st, 2015
_6:16 pm_[imageman72] Большое собрание функций и советов по Delphi Может кому будет интересно: http://delphidabbler.com/( Read more...Collapse ) (Comment on this)
Sunday, April 19th, 2015
_2:02 pm_[imageman72] ИБ-эксперт обнаружил 22 уязвимости в SQLite за полчаса Один из самых известных ИБ-специалистов в мире Михал Залевски (Michal Zalewski) в течение 30 минут обнаружил 22 ошибки в популярной встраиваемой системе управления базами данных SQLite. Стоит отметить, что архитектура SQLite считается относительно простой и при этом достаточно безопасной.Исправления были включены в версию SQLite 3.8.9. Залевски рекомендует обновить все версии системы.( Read more...Collapse ) (Comment on this)
Friday, February 28th, 2014
_2:40 pm_[imageman72] PC Beeper - играем на спикере Лет n-дцать назад компьютеры пищали только встроенным динамиком. Этот динамик и сейчас есть. Только добраться до него трудно. Но возможность попищать есть и теперь.Причем ключевые строки довольно простые: ioDLLInstance := LoadLibrary('inpoutx64.dll'); if ioDLLInstance >= 32 then { if <=32 - error ! } begin @InputPort := GetProcAddress(ioDLLInstance, 'Inp32'); @OutputPort := GetProcAddress(ioDLLInstance, 'Out32'); end ( Больше исходного кода и демкаCollapse ) (4 Comments |Comment on this)
Monday, October 21st, 2013
_5:25 pm_[st_tsourkan] Как работать с XML-документами в Delphi? В частности, с помощью TXMLDocument? Всех приветствую! Несколько лет писал на Матлабе, а тут приспичило на Дельфи программу написать.Мне необходимо научиться работать с xml-документами. Работаю в RAD Stiduo XE3. Там есть компонент TXMLDocument, наверно, известный многим программящим на Delphi. Вроде бы и умеет много. Но проблема в том, что по нему нет понятной документации и описания. Хэлп в RAD Studio - фигня, потому что нормальной информации там нет; только разбросанная по страницам скудная справка по некоторым методам и процедурам (без примеров и нормального описания). Перерыл весь инет. Нашёл только темы на форумах с решением конкретных задач, где надо ещё час догадываться, что делает та или иная строка, связанная с обращением к xml-файлу. Мне же нужно руководство по основным функциям, процедурам и методам, применяемым при работе с xml. Учебник, мануал, описание. Или хотя бы "xml в Delphi для чайников". Например:Для открытия xml-файла используем метод XMLDocument1.LoadFromFile('filemane.xml'), где filename - имя файла. Переменная nodelist типа IXMLNode служит для хранения списка дочерних элементов. Для определения этого списка служит метод Xmldocument1.DocumentElement (где XMLDocument1 - исследуемый xml-файл). Чтобы запросить содержимое дочернего элемента 'element1' используется метод XMLDocument1.DocumentElement.ChildNodes['element1'].Text... и в таком духе дальше по всем применяемым методам, процедурам, типам данных. Где найти подобные мануалы/описания? Кто может помочь?Если нужна конкретная задача, опишу её.Имеется xml-документ вида:( Более подробно про задачу и искомые методы решенияCollapse ) (3 Comments |Comment on this)
Monday, February 25th, 2013
_7:45 pm_[careerlab] Enterprise Developers Conference Добрый день, коллеги!Enterprise Developers Conference — II-я ежегодная конференция о технологиях, решениях и практиках эффективной поддержки бизнеса крупных организаций в сфере разработки и интеграции приложений.Цель данной конференции — помочь корпоративным разработчикам сориентироваться в современном технологическом мире и добиться максимальной эффективности в работе.Мы приглашаем к участию в конференции CIO, руководителей IT-департаментов, технических директоров, руководителей разработки, разработчиков, архитекторов ПО и системных аналитиков.Конференция делится на два параллельных тематических блока - _"Управление разработкой, проекты и решения"_ и "Мобильные приложения, безопасность, базы данных". Участник самостоятоятельно выбирает, какой доклад ему интересен из двух предложенных.**( Программа мероприятияCollapse )**Мы - центр профессионального роста CareerLab (официальный сайт - www.careerlab.ru). Мы занимаемся образовательными программами и проектами — от корпоративных тренингов до крупных международных конференций. Enterprise Developers Conference - как раз один из наших таких проектов.Участие в конференции платное (8000 руб). Зарегистрироваться на конференцию можно на сайте. По вопросам регистрации на конференцию обращайтесь к Карине Истоминской по телефону: +7 (495) 933-01-33 доб.126 или e-mail: k.istominskaya@careerlab.ru (Comment on this)
Sunday, July 15th, 2012
_12:59 am_[altiumhr] Требуются ведущие системные программисты, Киев Ищем профессиональных Delphi/C++/C# программистов для нашей RnD команды в Киеве. ЗП от $3000. Только фултайм, рассматриваем людей из России, помогаем с переездом. Проект – разработка CAD системы Altium Designer. Опыт работы не менее 6-7 лет. Все вопросы: iryna.vaskovskaya@altium.comБудем благодарны, если пропустите пост :) (4 Comments |Comment on this)
Saturday, March 10th, 2012
_1:15 pm_[haliffn] BoldDataset, *DBLookUp* Добрый день.Имел ли кто дело с Borland MDA, BOLD?Вопрос вот в чем. Как пользоваться cxDBLookUpCombobox в связке с BoldDataset? Пока сделал очень проктологически:Изменил BoldOclSymbolImplementations.pas, добавив OclOperation для получения BoldIdСоздал соответствующий лукапному полю лукап-датасет, в котором определил поле типа 'self.BoldId'Описал событие OnChange для cxDBLookUpCombobox, в котором меняю BoldObject этого контроладальше все стандартно.Вроде работает, но решение мне совершенно не нравится.Наверняка все решается элегантнее.В OnChange не просто проктология, а проктология через удаленный доступTBoldObjectReference(TBoldDataSet(TcxdbLookUpComboBox(Sender).DataBinding.DataSource.DataSet).ActiveBoldObject.BoldMemberByExpressionName['Strana']).BoldObject := TBoldDataSet(TcxdbLookUpComboBox(Sender).Properties.ListSource.DataSet).ActiveBoldObject; (Comment on this)
Thursday, March 8th, 2012
_2:00 pm_[haliffn] cxDBDateEdit nullvalue Здравствуйте. Понимаю, что вопрос совершенно ламерский, каждый наступал на эти грабли.Как при пустом поле в присоединенном к датасету cxDateEdit выводить незаполненное значение вместо 30.12.1899?Заранее спасибо. (11 Comments |Comment on this)
Monday, December 12th, 2011
_3:01 pm_[imageman72] Быстрая хэш функция Натолкнулся я на хабре на любопытную статью "MinHash — выявляем похожие множества".Для реализации этого алгоритма "необходимо семейство хэш-функций". Но можно поступить и по другому. Вычислить очень длинный хэш и порезать его на куски.Что такое хэш функция.Код:( хочу видеть код!Collapse ) (Comment on this)
Wednesday, October 19th, 2011
_7:14 pm_[sv_foster] Hi Resolution Timer Introduction Иногда нужно замерить отрезок времени со значительной точностью, например, при анализе скорости выполнения функции. Казалось бы, задача простая, можно просто два раза вызвать Now(), сохранить значения, которые они вернут, и вычесть одно из другого. Фигу, ничего не получится, если ваша функция работает быстрее, чем секунда. Столкнувшись с такой проблемой я нашел эффективный способ ее решения, позволяющий оценить быстродействие до наносекунд или еще точнее. Timer Для примеров я буду использовать Rad Studio Delphi 2010, Windows 7 x64 на компьютере с процессором Intel Core 2 Quad Q8300. ( Read more...Collapse ) (1 Comment |Comment on this)
Wednesday, July 6th, 2011
_1:03 pm_[filimonovdmtry] Костыли для OpenOffice Вот накропал на коленке функцию возвращающую буквенный идентификатор колонки в OO:Calc. Этот дуратский OpenOffice, числовой идентификатор (типа =R3C3+R3C4) не понимает. А с буквами мне в Delphi возиться не хочется, привык координаты цифрами указывать. Вот и изгаляюсь.Function TWorkCells.ResultABC (NumCol : Integer) : String;var SimStr : Array[0..25] Of String[1]; Iter : Integer; Res : String[2];Begin For Iter := 65 To 90 Do SimStr[Iter - 65] := Chr (Iter); If NumCol <= 000 Then NumCol := 0; Case NumCol Of 000..025 : Res := ''; 026..051 : Res := SimStr[0]; 052..077 : Res := SimStr[1]; 078..103 : Res := SimStr[2]; End; if NumCol >= 78 Then Dec (NumCol, 26); if NumCol >= 52 Then Dec (NumCol, 26); if NumCol >= 26 Then Dec (NumCol, 26); Res := ConCat (Res, SimStr[NumCol]); Result := Res;End; Есть еще один вариант, он более универсальный.Function ResultABCnew (NumCol : Integer) : String; var SimStr : Array[0..25] Of String[1]; Iter : Integer; Res : String[2]; Begin For Iter := 65 To 90 Do SimStr[Iter - 65] := Chr (Iter); If (NumCol <= 000) Or (NumCol >= 702) Then NumCol := 0; if NumCol < 26 then Res := '' else Res := SimStr[(NumCol div 26) - 1]; For Iter := 1 To (NumCol div 26) Do Dec (NumCol, 26); Res := ConCat (Res, SimStr[NumCol]); Result := Res; End; Спасибо vvakko. Натолкнул на мысль. (12 Comments |Comment on this)
Sunday, June 26th, 2011
_11:28 am_[keenest] midi добрый день!подскажите пожалуйста, где можно разжиться библиотекой для работы с midi-файлами? интересует всего-то несколько простых функций - проигрывание, изменение темпа и транспонирование.долгие поиски навели лишь на одну толковую библиотеку, но платную.уповаю на вашу помощь) (Comment on this)
Saturday, January 1st, 2000
_6:28 am_[p_o_p_y_e] Минимальные требования Доброго времени суток.появился вопрос тут, как определить минимальные требования программы на писаной на delphi? (4 Comments |Comment on this)
Tuesday, June 7th, 2011
_9:45 pm_[imageman72] Функция Slice в Delphi Originally posted by imageman72 at Функция Slice в DelphiReturns a sub-section of an array.Простенькая функция, которая возвращает кусок (часть) массива (динамического или статического). Предназначена для использования при вызовах функций или процедур в качестве параметра открытого массива. Например:InitMaskStates(MaskValue, Slice(PMaskStateArray(FMask)^, FSize));в этом случае будут передаваться первые FSize элементов от массива PMaskStateArray(FMask)^ Вот только не пойму, можно ли этой функцией передать (к примеру) кусок массива от 5-го до 10-го элемента? (2 Comments |Comment on this)
Saturday, January 1st, 2000
_10:49 am_[p_o_p_y_e] доброго времени суток.очень нужна помощьимеется программа учета трафика сети требуется добавить в неё "построение графика"т.е. отображать скорость входящего/исхдящего трафика на графикедобавляю chart, но функция при запуске ведёт себя очень странно, происходят непонятные скачки, не пойму в чем делоисходник:http://zalil.ru/31005660заранее благодарю. (2 Comments |Comment on this)
Saturday, May 7th, 2011
_4:36 pm_[imageman72] Оптимизация работы со строками в Delphi (7) Originally posted by imageman72 at Оптимизация работы со строками в Delphi (7)Я уже где-то читал, что Delphi с длинными строками работает как с динамическими массивами и от этого могут быть потери скорости. В частности в случае s:=s+' ' будет вызываться менеджер памяти, который будет выделять память под более длинную строку s.А сейчас я решил исследовать насколько мы проиграем в скорости. Для этого я сделал функцию очистки строки от мусора (в том числе и пробелы) + приведение к верхнему регистру.function CleanTextForceSimple(Text:string):string ; var LenOfInputText: integer; I: Integer; begin LenOfInputText:=Length(Text); Result:=''; for I := 1 to LenOfInputText do begin if Text[i] in ['0'..'9','A'..'Z','a'..'z','А'..'Я','а'..'я','ё','Ё'] then begin Result:=Result+UpCase( Text[i]); end; end; end; ( Read more... ) (Comment on this)
Friday, April 29th, 2011
_12:36 pm_[abatvsurin] Отображение копирования файлов (ProgressBar) Всем привет! Подскажите пожалуйста, как можно отобразить состояние копирования файлов в ProgressBar. Примером может стать установочный дистрибутив. (8 Comments |Comment on this)
Monday, April 18th, 2011
_9:17 am_[filimonovdmtry] Ловим окна Windows Originally posted by filimonovdmtry at Ловим окна WindowsТак случилось, что мне вдруг потребовалось проверять, запущено приложение, или нет. Ну подумал я, подумал, и решил что самое верное, проверять его присутствие по заголовку окна. Но делать проверку под конкретное приложение "не комильфо", и я написал унифицированную функцию. Function TFreeProc.SearchWindow (SubStr : String): Boolean;Var Win : hWND; Buff : Array[0..120] Of Char; BuffUp : String[120];begin SubStr := AnsiUpperCase (SubStr); Result := False; Win := GetWindow (Application.Handle, gw_hWndFirst); While Win <> 0 Do begin GetWindowText(Win, buff, sizeof(buff)); BuffUp := AnsiUpperCase (buff); If AnsiPos (SubStr, BuffUp) <> 0 Then Begin Result := True; Break; End; Win := GetWindow (Win, gw_hWndNext); End;End; (10 Comments |Comment on this)

[ << Previous 20 ]