Поиск по блогу

четверг, 10 марта 2011 г.

Delphi: Как удалить cookies из TWebBrowser?

В этой статье не будет ничего скандально нового :) Просто уже 2 комментатора спросили в заметке о cookies в TWebBrowser, как их удалять. В гугле, ясно дело, решение найти просто, но почему-то для кого-то проще спросить и ждать :)

В общем, если на мой блог о парсинге приходят по этому запросу, то надо на него ответить. :)

Это готовое решение, взятое из инета и опробованное мной. В результате будут подчищены все файлы с куками, хранящиеся в c:\Documents and Settings\Имя_пользователя\Cookies.

uses
WinInet;

procedure DeleteIECache;
var
lpEntryInfo: PInternetCacheEntryInfo;
hCacheDir: LongWord;
dwEntrySize: LongWord;
begin
dwEntrySize := 0;
FindFirstUrlCacheEntry(nil, TInternetCacheEntryInfo(nil^), dwEntrySize);
GetMem(lpEntryInfo, dwEntrySize);
if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize;
hCacheDir := FindFirstUrlCacheEntry(nil, lpEntryInfo^, dwEntrySize);
if hCacheDir <> 0 then
begin
repeat
DeleteUrlCacheEntry(lpEntryInfo^.lpszSourceUrlName);
FreeMem(lpEntryInfo, dwEntrySize);
dwEntrySize := 0;
FindNextUrlCacheEntry(hCacheDir, TInternetCacheEntryInfo(nil^), dwEntrySize);
GetMem(lpEntryInfo, dwEntrySize);
if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize;
until not FindNextUrlCacheEntry(hCacheDir, lpEntryInfo^, dwEntrySize);
end;
FreeMem(lpEntryInfo, dwEntrySize);
FindCloseUrlCache(hCacheDir);
end;


Для чего может пригодиться очистка кукисов? Ну, например, вы написали какое-то свое приложение с TWebBrowser и заходите на определенный сайт через список прокси... ;)
___

Сегодня объявляю гранд мерси akkadites, автору блога "Обзор полезного софта", и Seorit.ru за обзоры RSSAdder-а.
___
Чтобы быть в курсе обновлений блога, можно подписаться на RSS.

пятница, 25 февраля 2011 г.

Delphi XE Starter за 199$ (5900 рублей)

Delphi XEТолько ленивый программист-блоггер не написал еще об этой акции, проводимой Embarcadero. Продукт Delphi XE Starter Edition можно купить за 199 баксов (или за 5900 рублей — ссылка на прайс).

Естественно, что у такой лицензии есть ограничения (и для кого-то они критические). Например, она может быть использована только в том случае, если годовой профит от разработанного программного обеспечения не превышает $ 1000. То есть практически никакого профита ;) Но почему-то мне эта акция приглянулась и я хочу ей воспользоваться. Тем более, что при покупке Delphi XE покупатель автоматически получает Delphi 2010, 2009, 2007 и 7.

Буду использовать эту лицензию конкретно дома (на работе все есть).

А вы как думаете, стоит оно того?
___

P.S. Всем дельным комментаторам большое спасибо за комментарии. И вообще большое спасибо всем читателям блога за то, что вы есть. Как только работы поубавится — все разберу.
___

Чтобы быть в курсе обновлений блога, можно подписаться на RSS.

четверг, 16 декабря 2010 г.

Delphi: работа с классами, унаследованными от TList

Еще немного расскажу о своих "привычках" в программировании. Очень часто приходится работать со списком однотипных объектов. В этом случае создаю класс для объекта и класс для списка объектов, унаследованный от TList.

Применяю это и в персерах. Вернее, при написании приложений, где необходим парсинг и последующая обработка полученных данных, но где использование базы данных было бы излишеством.

Самый простой пример такой объектной организации:
TBASetting  = class
BA : string;
MM_CONST : integer;
STRIKESTEP,
MIN_STRIKE,
MAX_STRIKE : double;
public
constructor Create(const aPath: string; const aParams: TStrings); overload;
...
end;

TBASettings = class(TList)
...
function LoadFromINI (IniFile : TIniFile) : boolean;
function SaveToINI (IniFile: TIniFile) : boolean;
procedure Clear; override;
end;

Остановлюсь подробнее на следующих пунктах:
- создание объектов, заполнение списка;
- освобождение памяти при "очистке" списка.