Архив: Кодинг
Приветствую. В завершение цикла заметок про объект Sender и операторы as и is хотелось бы затронуть и конструкцию тип(переменная). Далее поговорим про различия с объект as тип.
В посте о Sender: TObject я рассмотрел использование объекта Sender, который передаётся процедуре-обработчику.
Приведение и проверку типа объекта с помощью as и is я также рассмотрел в своё время, а сегодня поговорим о подобной конструкции:
procedure ...more»
Модуль для определения google pagerank на delphi. Сам модуль и описание дальше.
Привет! Мне однажды потребовалось определить тИЦ и pagerank в одной программе на delphi. Полез в интернет, посмотрел, как происходит определение. Вот для тИЦ проблем нет - нужно всего лишь подставить адрес нужного сайта в запрос и пропарсить xml результат. С pagerank ситуация другая: google не хочет, чтобы каждый ...more»
В недавнем примере мы делали http-запрос с помощью синхронного сокета. Мы обращались к конкретному серверу, зная его ip. Непорядок, сегодня займёмся определением ip-адреса по доменному имени, по адресу сайта.
MSDN по крайней мере предлагает нам две функции для таких операций. Первая - функция gethostbyname, вторая - функция getaddrinfo. Microsoft рекомендует использовать getaddrinfo, учитывая при том, что она появилась в winsock 2. ...more»
Необходимо, чтобы в TEdit пользователь мог ввести только цифры? Я часто встречаю различные решения данной задачи, которые в основном сводятся к обработке события OnKeyPress. Сегодня рассмотрим кардинально другой подход - изменение стиля TEdit с помощью WinApi.
Итак, как же чаще всего фильтруют? Этот способ я даже встречал в каких-то официальных исходниках-примерах от borland.
Суть метода состоит в том, чтобы обрабатывать событие OnKeyPress, ...more»
Привет. Сегодня хочу рассмотреть построчную работу с файлом. Использовать будем стандартный паскалевский ввод/вывод: writeln и readln.
Например, перед нами задача: убрать от одного до десяти первых символов в каждой строке. Кстати, передо мной эта задача вчера реально встала, и я написал программу за 5 минут. Теперь и мы с тобой рассмотрим процесс написания.
Итак, сегодня будем писать со всеми прелестями delphi, читай ...more»
Привет! Это второй пост, который был потерян когда-то в июле в связи с переездом на другой хостинг.
Речь пойдёт о так называемом Screen Buffer.
Консольное окно само по себе имеет определенные размеры, обычно 24 на 80 символов.
Также справа есть полоса прокрутки, с помощью неё можно увидеть то, что вышло за рамки экрана, так как когда мы всё пишем и пишем, например с ...more»
JavaScript? JavaScript??? А как же delphi? Ведь это же delphi блог!
Спокойно, сейчас объясню :) В июле 2009 года менял хостинг, по некоторым причинам не мог получить backup базы блога, а последний, что я делал регулярно, был не очень свеж. В результате потерял три поста. С этой потерей уже давно смирился, а сегодня был приятно удивлён, обнаружив их на своём фиде. ...more»
Привет, ты наверняка уже наслышан о недавно появившемся вирусе Piggy. Если не в курсе, буду краток: он использует принцип спама по цепочке.
Вот тебе приходит ссылка от человека, мол, flash игра прикольная. Ты пишешь, мол, ага, знаем, спам. И тебе в ответ: нет, мол, не спам, ага. Качаешь, так как немного пьян, и с твоим номером происходит то же самое: пароль ...more»
Сегодня хочу начать цикл заметок о winsock. Около года назад я этим заинтересовался, потом незаслуженно забыл и забросил.
WinSock - достаточно мощный инструмент, основа всех основ. Если ты пишешь программу на чистом api, тебе важен конечный размер программы или работаешь с хитрым протоколом, то сокеты просто незаменимы. В этой заметке рассмотрим, как открыть сокет и послать GET запрос серверу.
Типы сокетов
Вкратце. Есть ...more»
Читая иностранные блоги, наткнулся на пост, в котором поднимается проблема парсинга и отображения в TStringGrid tsv файлов (tab-separated values - значения, разделенные символом табуляции, англ.). В таких файлах элементы в строках разделены знаком табуляции (девятым символом). Также не хочется забывать про не менее популярный формат csv - comma-separated values - в нём элементы разделены запятой. Стоит сказать, что программы для ...more»
Будь мой блог не delphi блог и будь его адрес не parsers.info, я бы никогда не стал массово получать адреса rss лент со списка сайтов.
Программа консольная, использует модуль httpsend из библиотек synapse (Vlad рекомендует этот модуль, проверим?). Также пришлось подключать Classes, так как его использует httpsend, а так как мы его подключили, то и с записью в файл мудрить не ...more»
Сегодня рассмотрим вопрос о том, как перечислить все компоненты на форме. Например, как очистить все TEdit одним циклом, как изменить надписи на всех TLabel, как нажать все TButton :)
В заметке про создание кнопок с использованием TImage я уже испольовал данный приём, теперь рассмотрим подробнее.
0. Матчасть
У объекта TForm (а также других, на которых можно поставить, например, кнопку) есть массив Components. Очевидно, ...more»
Полтора года назад писал такую статью на одном форуме, на блоге этого нет. В связи с тем, что на этой неделе поднял тему использования Sender: TObject и операторов as и is, распишу всё заново здесь и сейчас :)
Мы используем TImage, столько TImage, сколько нужно кнопок.
Подготовка
У наших кнопок будет три состояния - нажата, не нажата, активна (наведена мышь).
Заранее подготовь три картинки, ...more»
Про Sender: TObject я недавно рассказал. Согласись, что использовать Sender без таких операторов как is и as не очень кавайно. Конечно, для определенных целей они даже не требуются, а вот кое-где уже не обойтись.
Ты-то про них знаешь всё, а вот остальным сейчас расскажу.
1. As
Да, я в названии не опечатался. Когда я использую as и is, мне кажется, что я пишу ...more»
Всем привет. Димон, особенно тебе, рад что ты ссылку запомнил!
Итак, сегодня я хочу рассказать про так часто мелькающее перед нашими глазами Sender: TObject.
Точнее, своими словами я рассказывать не буду, а переведу с английского доступным языком, копирайт смотри в конце поста, как обычно.
Давным-давно, в царстве delphi
Жил-был объект по имени Sender
Посмотрим на обработчик события OnClick кнопки Button1:
procedure TForm1.Button1Click(Sender: TObject) ;
begin
...
end;
Метод ...more»
Привет) Заждался, да? Часть 1, если что. Вот часть 2, вспомним былое.
Итак, пойдём по порядку, расставим все точки над и. Ты уже заметил, что мы пишем используя только модуль windows.pas. Поэтому в модуле melody.pas (там, где все функции) мы пишем свой StrToInt без использования SysUtils.
Ты уже заметил, что мелодия в формате nokia состоит из неких последовательностей, разделенных пробелами? Да? Ок ...more»
Привет!
Ты наверняка уже видел сороковую симфонию внутреннего динамика на моём скромном блоге. Может быть, ты даже и есть тот человек, который попросил выложить исходный код в комментарии. И если ты подписался на rss, то ты дождался и читаешь эту статью.
Идею программы я честно свистнул у друга. Скачать можно вот здесь - это полноценный проигрыватель моно-форматов через внутренний динамик (второй в ...more»
DirSearcher - это сканер директорий.
Логи сайта ведет в c:/сайт_log.txt
#!/usr/bin/python
#header scan
#http://sql.parsers.info/
#faza02gmailcom
import urllib
def scan():
print ' ____________________________ '
print ' / /\ '
print ' / ...more»
Сегодня встала такая задача - отредактировать картинки. Дописать текст в верхний левый угол, проставить некие копирайты на каждую картинку.
Всё бы ничего, если бы не количество изображений - более 400. Брррр, вручную конечно можно, но долго и неинтересно. Можно поискать готовое решение, но небезопасно и тоже неинтересно.
Итак, будем писать на дельфи. Оформлять как готовую программу не буду, так как писал только ...more»
Выкладываю просто функцию *_*
function PosCount(substr, str: string): integer;
var
p, i: integer;
begin
i:=-1;
p:=0;
repeat
i:=i+1;
p:=PosEx(substr, str, p + Length(substr));
until p=0;
Result:=i;
end;
Количество подстрок определяет на ура, писал для просто символов.
(c) crystalbit, http://parsers.info ...more»
















