
Привет. Сегодня выкладываю исходник первой версии удачной на мой взгляд программы mr.gen.
Суть программы: мы вводим определённую маску, программа генерирует текстовый файл с нужными нам комбинациями символов. Чем программма уникальна? Мы можем задать все возможные варианты каждого символа, а программа выдаст все возможные варианты строки с символами во всех возможных их вариантах.
Очень много направлений, в которых программу можно доделать, – mr.gen with symbol filter, например. При использовании кода указываем автора, при копировании поста указываем источник. …нажми для продолжения
Ровно три года назад (ого! – сам думаю, как быстро время летит) написал и выложил на блог программу reparser.

Блог уже давно на автономном существовании, нет времени писать. …нажми для продолжения
Привет. В delphi для работы с буфером обмена есть модуль ClipBoard, ещё можно работать с буфером через api. Но мы сегодня не будем углубляться в работу с буфером. Наша задача – отследить изменение буфера обмена.
Это всё сводится к обработке сообщения WM_DRAWCLIPBOARD, но дело в том, что никто просто так нам его не отправит. …нажми для продолжения
написано crystalbit в рубрике delphi,
Кодинг
Иногда может потребоваться определить этот небезызвестный показатель в своей программе.
Задавшись этим вопросом, полез смотреть, с каких страниц его можно спарсить. Первое, что попадается, это картинка, которая показывается при просмотре аттестата WebMoney (например, вот эта). Далее в заметке буду использовать wmid 000000000000 для примера. Можно и картинку распознать – не вопрос, но зачем так сложно?
Побродив немного по форумам и прочим ссылкам из выдачи, нашёл ещё пару возможностей определить WebMoney BL. Пара скриптов с https и, о чудо, простой скрипт, выдающий основную информацию о сертификате.
…нажми для продолжения
написано crystalbit в рубрике delphi,
Кодинг
Сегодня начну пост с того, что недавно пришлось восстановить блог с бэкапа не первой свежести. Связано это с тем, что хостинг прогорел, а я был в области и не успел сделать бэкап.
Пропали некоторые последние комментарии и один пост, про то, что блог теперь уже не dofollow, но все комментарии, сделанные до того поста, остались dofollow.
Плюс хочу выразить благодарность пользователю Alex, который обратил внимание на мелочность и ненужность некоторых заметок. Исправимся :)
Вполне может оказаться необходимым контролировать перемещение формы пользователем – будь то некоторая стыковка к границам экрана или необходимость запретить перемещать форму.
Мы сперва лезем в Events, видим, что события OnMove нету.
…нажми для продолжения
Итак, ребятки, чуть больше года назад, выложил я свою наработку – сороковую симфонию Моцарта из внутреннего динамика.
Программа просто запускалась и звучала. Звучала, как надо.
…нажми для продолжения
написано crystalbit в рубрике delphi,
Софт
Написал нехитрую программку для заполнения форм и прочего из буфера обмена. Принцип очень простой:
Открываем, редактируем список из строк и оставляем поверх всех окон. Изначально выделена первая строчка, она находится уже в буфере обмена. Нажимая Shift-Insert, мы можем это, очевидно, куда-либо вставить.
Программа перехватывает нажатие Shift-Insert и, когды ты уже отпустил, копирует в буфер следующее значение.
То есть, с достаточной подготовкой, можно быстро заполнять формы, нажимая Shift-Ins, Tab, …
При закрытии программы ClipFill список сохраняется.
Под катом программа, исходник и вопрос к читателям. …нажми для продолжения
написано crystalbit в рубрике delphi,
Кодинг
Привет! В одной из предыдущих статей мы перечисляли все компоненты определённого типа на форме, мы могли присвоить им одно и то же свойство, получить их содержание и так далее.
А что если, например, у нас на форме штук 20 TPanel, и нам нужно у пяти из них поменять высоту?
Передо мной сейчас как раз и встала такая задача.
…нажми для продолжения
написано crystalbit в рубрике delphi,
Кодинг
Привет! Давно не писал :)
Как известно на главной странице pr-cy.ru есть даты обновлений тИЦ, pr и яндекс выдачи. Я, как и многие, часто захожу туда, дабы проверить, не обновилось ли что-нибудь.
Сегодня напишем небольшую программу-пример, показывающую, как получить эти даты. …нажми для продолжения
написано crystalbit в рубрике delphi,
Кодинг

Приветствую. В завершение цикла заметок про объект Sender и операторы as и is хотелось бы затронуть и конструкцию тип(переменная). Далее поговорим про различия с объект as тип.
…нажми для продолжения
написано crystalbit в рубрике Новости
crystalbit (18:53:02 16/02/2010)
полмесяца в блог не писал
faza02 (18:53:25 16/02/2010)
дата)
Действительно, учёба навалилась, время отнимает. Да и мотивация писать тоже страдает. Сегодня хочу поговорить о том, что я запланировал, и оглянуться назад, посмотреть на то, что уже было сделано.
…нажми для продолжения
Модуль для определения google pagerank на delphi. Сам модуль и описание дальше.
…нажми для продолжения
написано crystalbit в рубрике delphi,
Кодинг
В недавнем примере мы делали http-запрос с помощью синхронного сокета. Мы обращались к конкретному серверу, зная его ip. Непорядок, сегодня займёмся определением ip-адреса по доменному имени, по адресу сайта.
…нажми для продолжения
написано crystalbit в рубрике delphi,
Кодинг
Необходимо, чтобы в TEdit пользователь мог ввести только цифры? Я часто встречаю различные решения данной задачи, которые в основном сводятся к обработке события OnKeyPress. Сегодня рассмотрим кардинально другой подход – изменение стиля TEdit с помощью WinApi.
…нажми для продолжения
написано crystalbit в рубрике delphi,
Кодинг
Привет. Сегодня хочу рассмотреть построчную работу с файлом. Использовать будем стандартный паскалевский ввод/вывод: writeln и readln.
Например, перед нами задача: убрать от одного до десяти первых символов в каждой строке. Кстати, передо мной эта задача вчера реально встала, и я написал программу за 5 минут. Теперь и мы с тобой рассмотрим процесс написания.
…нажми для продолжения
Привет! Это второй пост, который был потерян когда-то в июле в связи с переездом на другой хостинг.
Речь пойдёт о так называемом Screen Buffer.
Консольное окно само по себе имеет определенные размеры, обычно 24 на 80 символов.
…нажми для продолжения
написано crystalbit в рубрике Кодинг
JavaScript? JavaScript??? А как же delphi? Ведь это же delphi блог!
Спокойно, сейчас объясню :) В июле 2009 года менял хостинг, по некоторым причинам не мог получить backup базы блога, а последний, что я делал регулярно, был не очень свеж. В результате потерял три поста. С этой потерей уже давно смирился, а сегодня был приятно удивлён, обнаружив их на своём фиде. Итак, два поста не совсем по теме, а один тематический.
Сегодня сделаем просто html-страницу, на которой с помощью JavaScript выведем таблицу умножения.
…нажми для продолжения

Привет, ты наверняка уже наслышан о недавно появившемся вирусе Piggy. Если не в курсе, буду краток: он использует принцип спама по цепочке.
Вот тебе приходит ссылка от человека, мол, flash игра прикольная. Ты пишешь, мол, ага, знаем, спам. И тебе в ответ: нет, мол, не спам, ага. Качаешь, так как немного пьян, и с твоим номером происходит то же самое: пароль меняется, а эта программа висит некоторое время как icq-бот и предлагает твоим друзьям, которые в контакт-листе, скачать себя. Реагирует на слова «бот», «спам» и прочие по-разному, отвечает, даже меняет статус на «печатает…». Некоторые индивиды окрестили этот вирус как вирус с «искуственным интеллектом», так как сейчас такое – большая редкость. …нажми для продолжения

Сегодня хочу начать цикл заметок о winsock. Около года назад я этим заинтересовался, потом незаслуженно забыл и забросил.
WinSock – достаточно мощный инструмент, основа всех основ. Если ты пишешь программу на чистом api, тебе важен конечный размер программы или работаешь с хитрым протоколом, то сокеты просто незаменимы. В этой заметке рассмотрим, как открыть сокет и послать GET запрос серверу.
…нажми для продолжения

Читая иностранные блоги, наткнулся на пост, в котором поднимается проблема парсинга и отображения в TStringGrid tsv файлов (tab-separated values – значения, разделенные символом табуляции, англ.). В таких файлах элементы в строках разделены знаком табуляции (девятым символом). Также не хочется забывать про не менее популярный формат csv – comma-separated values – в нём элементы разделены запятой. Стоит сказать, что программы для работы с таблицами просто обязаны читать эти два формата.
…нажми для продолжения