Today I installed the WP_Syntax plugin for WordPress to highlight the code syntax (for Delphi, C# etc)
Now I must edit all old posts and edit the text:-)
Blog
-
wp-syntax
-
британские дети
Оказывается вплоть до 1967 Британия посылала детей в эмиграцию в Канаду, Австралию, Новую Зеландию и другие колонии. Около 150 тыс. детей в возрасте от 3 до 14 лет были высланы для “осваивания” территорий и насаждения британской культуры. Из них 100 тыс отправились в Канаду, а остальные 50 тыс в Австралию. ЮАР и т.п.
Ссылки:
http://www.murdoch.edu.au/elaw/issues/v9n4/buti94.html
http://www.telegraph.co.uk/news/worldnews/australiaandthepacific/6569274/Australia-to-say-sorry-to-abused-British-child-migrants.htmlИнтересно, а у родителей кто-то спрашивал? Или это были бездомные? В любом случае за ними же кто-то должен был следить там (типа воспитателей).
-
drag’n’drop from external applications
In Friday in our SIM (Shareware Information System) I added the possibility to drag’n’drop the mail content from external mailer (MS Outlook, Outlook Express etc)
To add this feature you need:
1. declare two new Cliboard formats that need to be registered:var CF_FILECONTENTS, CF_FILEDESCRIPTOR: Integer;initialization // Initialize the OLE libraries OleInitialize(nil); // Register the clipboard formats that we need to handle in the // OLE drag drop operation CF_FILECONTENTS := RegisterClipboardFormat(CFSTR_FILECONTENTS); CF_FILEDESCRIPTOR := RegisterClipboardFormat(CFSTR_FILEDESCRIPTOR); finalization OleUninitialize;
2. in OnCreate event for your form allow window to accept drop events. Just execute the next code:
OleCheck(RegisterDragDrop(Handle, Self));
3. for your form you need implement a few methods for IDropTarget interface:
type TfrmOrderWizard = class(TForm, IDropTarget) ... private { IDropTarget } function DragEnter(const dataObj: IDataObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HResult; stdcall; function DragOver(grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HResult; stdcall; function DragLeave: HResult; stdcall; function Drop(const dataObj: IDataObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HResult; stdcall; { IUnknown Ignore referance counting } function _AddRef: Integer; stdcall; function _Release: Integer; stdcall; ...where:
function TfrmOrderWizard.DragEnter(const dataObj: IDataObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HResult; begin dwEffect := DROPEFFECT_COPY; Result := S_OK; end; function TfrmOrderWizard.DragOver(grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HResult; begin dwEffect := DROPEFFECT_COPY; Result := S_OK; end; function TfrmOrderWizard.DragLeave: HResult; begin Result := S_OK; end; function TfrmOrderWizard._AddRef: Integer; begin Result := 1; end; function TfrmOrderWizard._Release: Integer; begin Result := 1; end; function TfrmOrderWizard.Drop(const dataObj: IDataObject; grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HResult; const PT_TSTRING = ULONG(30); PT_UNICODE = ULONG(31); PR_BODY = PT_TSTRING or ($1000 shl 16); PR_BODY_W = PT_UNICODE or ($1000 shl 16); var aFmtEtc: TFORMATETC; aStgMed, stgmitem: TSTGMEDIUM; pData: PChar; pfgd: PFileGroupDescriptor; dwCount, dwfetch: Integer; stat: STATSTG; pstg: IStorage; pstm: IStream; begin {Make certain the data rendering is available} if (dataObj = nil) then raise Exception.Create('IDataObject-Pointer is not valid!'); with aFmtEtc do begin cfFormat := CF_TEXT; ptd := nil; dwAspect := DVASPECT_CONTENT; lindex := -1; tymed := TYMED_HGLOBAL; end; {Get the data} OleCheck(dataObj.GetData(aFmtEtc, aStgMed)); try {Lock the global memory handle to get a pointer to the data} pData := GlobalLock(aStgMed.hGlobal); { Replace Text } MemoOrder.Text := pData; finally {Finished with the pointer} GlobalUnlock(aStgMed.hGlobal); {Free the memory} ReleaseStgMedium(aStgMed); end; // Get the file descriptors with aFmtEtc do begin cfFormat := CF_FILEDESCRIPTOR; ptd := nil; dwAspect := DVASPECT_CONTENT; lindex := -1; tymed := TYMED_HGLOBAL; end; OleCheck(dataObj.GetData(aFmtEtc, aStgMed)); try pfgd := PFileGroupDescriptor(GlobalLock(aStgMed.hGlobal)); // Iterate each of the files for dwCount := 0 to pfgd.cItems-1 do begin // Set up for getting the file data with aFmtEtc do begin cfFormat := CF_FILECONTENTS; ptd := nil; dwAspect := DVASPECT_CONTENT; lindex := dwCount; tymed := TYMED_ISTORAGE; end; if (dataObj.GetData(aFmtEtc, stgmitem) = S_OK) then begin // IStorage (handle the outlook item) pstg := IStorage(stgmitem.stg); // Hard coded to open the outlook message item stream if (pstg.OpenStream('__substg1.0_1000001F', nil, STGM_SHARE_EXCLUSIVE or STGM_READ, 0, pstm) = S_OK) or (pstg.OpenStream('__substg1.0_1000001E', nil, STGM_SHARE_EXCLUSIVE or STGM_READ, 0, pstm) = S_OK) then begin pstm.Stat(stat, STATFLAG_DEFAULT); pData := AllocMem(stat.cbSize); try pstm.Read(pData, stat.cbSize, @dwFetch); // Set the msg body MemoOrder.Lines.Add(String(pData)); finally // Free buffer memory FreeMem(pData); end; // Free the stream pstm := nil; end; // Free the storage pstg := nil; // Release the storage medium ReleaseStgMedium(stgmitem); end; end; finally // Unlock the memory GlobalUnLock(aStgMed.hGlobal); // Release the storage medium ReleaseStgMedium(aStgMed); end; Result := S_OK; end; -
.coop domain
Today I got the order with email address in .coop domain. Never saw such kind of domain names before:
-
ShareIt Control Panel
ShareIt changed the theming for own Control Panel. Now their CP is in white colors instead blue as before
-
GeoCities has closed
Мой первый сайт был именно на geocities.com и провисел там очень долго. Гда два-три точно
И вот сегодня дятлы из Yahoo закрыли geocities окончательно. Это как узнать, что твоя первая любовь умерла…
-
VAT ID
Все европейские компании имеют свой код – двухсимвольный код страны регистрации и 9 цифр. Все очень логично и сразу можно понять, что DE это Германия, FR – Франция и т.п.
И только греки выпендрились. У них код страны это EL вместо GR. Eleada, блин:-)
-
9
Вчера досмотрел мультик “9”, который начал смотреть позавчера.
Очень понравился. И прорисован суперски, и сюжет неплохой. Душа может быть и у человека, и у игрушки, и у камня. А главное после смерти душа может оказаться где угодно:-)Вообще смотрю, что в последнее время смотреть такие “мультики” намного интересней, чем фильмы. Зачастую просто забываешь, что герой связан из чулка, а здание полыхает на рисунке, а не наяву.
И если всякие мультики про “животных” (типа Volt, Garmin etc) мне понравились, но я их стер, то 9 оставил в архивах. Не знаю, захочется ли его пересматривать, но пока пусть хранится. Удалить всегда успею.
-
ПриватБанк
В этой стране нормально работает только тот процесс, где не задействованы руки и “мозги”. А еще лучше полность автоматизированый процесс без работников.
У меня отлично работала их карта Visa Internet в течении 9 лет. Все что мне нужно было – это пополнять ее и раз в году (в первых числах октября) узнавать новый CVV2 код, т.к. карта автоматически выпускалась на год.
В этом году кому-то неумному, но при должности в этом банке, пришло в голову убрать такой тип карты вообще из линейки их продуктов. Т.е. никого не предупреждая они перестают выпускать эти карты.
Я узнаю об этом абсолютно случайно, т.к. картой пользуюсь только для хостинга+домена (раз в году) и иногда по мелочи для покупок в online shops (DealExtreme, for example).
В чате их Privat24 мне предлагают заказать их новую Visa Classic Internet (тоже виртуальную), а для переноса остатка со старой заблокированной карты пойти в свой филиал и там получить деньги в кассе+сразу же положить их на новую карту.
Маразм какой-то.
Но где-то неделю назад домой звонит операционистка Жанна и оставляет свой номер мобильного (я-то на работе в это время). Во время разговора с ней выясняется, что я действительно должен ехать к ним на Предславинскую и написать заявление про перенос остатка с одной карты на другую.
Вчера с утра поехал. Сама Жанна работает только с 10 утра, поэтому как минимум до 10:30 ее на месте не было вовсе. Я за это время стал в очередь к другой операционистке (работала она одна в это время на все отделение). В течении 45 минут я без всякого интереса выслушивал сколько процентов (10%) получит пенсионерка, оформляющая пенсионную карточку, если не будет снимать свои гроши, а оставит их на счету.
Потом в течении 2х минут написал под ее диктовку заявление и ушел.На данный момент деньги еще не пришли на новую карточку. Подожду еще завтра…