Category: Soft/Programming

  • IMGConvert + gif/png pictures

    Для чтения gif/png-картинок используется GraphicEx from Mike Lischke
    Но эта библиотека не позволяет создавать ни gif, ни png. Они только читаются правильно, а сохранения там нет вовсе.

    Начал искать альтернативы.
    Для PNG довольно быстро у себя в архивах нашел TPNGImage from [email protected]
    Единственно докрутил сам вызов события OnProgress при сохранении.
    Работает медленно, но пока терпимо.

    Из первостепенного – нужно избавиться от дублирования файлов для сжатия. Они есть и в GraphicEx, и в TPNGImage (adler.obj, deflate.obj etc). С наскоку убрать не удалось – эти файлы из разных версий с разными опубликованными методами. Лишнего там на 40-45Kb

    А вот с GIF замучился. От RXLib (TRxGifAnimator) отказался сразу – слишком много лишнего тянет в себе и анимация мне не нужна вовсе.
    Потом взял TGIFImage from Anders Melander. У меня он был версии 06-Oct-2002. Прикрутился быстро, но качество создаваемых картинок абсолютно не впечатлило – цвета калечились очень сильно.

    Сегодня сходил к нему на сайт http://melander.dk/delphi/gifimage
    Оказалось он передал этот компонент в CodeGear и он включен в BDS 2007. Взял его новую версию и воткнул к себе в Delphi 5. После получаса исправления ошибок компиляции все заработало и результатом создаваемых картинок я доволен.

  • Delphi: TFindDialog и локализация

    При использовании из Delphi диалогов самой MS Windows (TFindDialog, TOpenDialog etc) есть проблема с локализацией приложения – эти диалоги всегда будут отображаться с надписями в рамках локализации самой Windows.

    Например, ваше приложение может иметь немецкий интрефейс, а вызываемый диалог будет отображать все еще русские или английские строки. Как-то это неправильно и решил я такое дело поправить.

    С наскоку проблему не удалось решить. Т.е. заголовок самого окна изменить не проблема – просто послать сообщение WM_SETTEXT хэндлу диалога с новой строкой в параметре.
    А вот найти описания всех контролов-детей не удалось ни в исходниках Delphi, ни в хедерах Visual Studio.
    День поисков в Google тоже результатов не принес. Такое впечатление, что кроме меня эта тема никого не волнует.

    Пришлось запускать Spy+ из VS и смотреть идентификаторы (ControlID) всех детей-контролов. Далее дело техники – в событии OnShow перебор всех детей, проверка ControlID и посылка сообщения на изменение текста:

    procedure TMain.dlgFindShow(Sender: TObject); 
    var 
      s: String; 
      ControlID: Integer; 
      hChildWin: hWND; 
    begin 
      s := 'Поиск'; 
      SendMessage(dlgFind.Handle, WM_SETTEXT, 0, LParam(PChar(s)));  
    
      hChildWin := GetWindow(dlgFind.Handle, GW_CHILD or GW_HWNDFIRST); 
      while (hChildWin <> 0) do 
      begin 
        ControlID := GetDlgCtrlID(hChildWin);  
    
        if (ControlID = $FFFF) then 
        begin 
          s := '&Что:'; 
          SendMessage(hChildWin, WM_SETTEXT, 0, LParam(PChar(s))); 
        end 
        else 
        if (ControlID = $0001) then 
        begin 
          s := '&Найти далее'; 
          SendMessage(hChildWin, WM_SETTEXT, 0, LParam(PChar(s))); 
        end 
        else 
        if (ControlID = $0002) then 
        begin 
          s := '&Отмена'; 
          SendMessage(hChildWin, WM_SETTEXT, 0, LParam(PChar(s))); 
        end;  
    
        hChildWin := GetWindow(hChildWin, GW_HWNDNEXT); 
      end; 
    end;
  • picture convert

    Вроде бы линейка продуктов массовой конвертации файлов пополнилась новой тулзой для обработки изображений:-)

  • kiev.ua

    С сегодняшнего дня все домены в зоне kiev.ua стали в обязательном порядке платными.
    В принципе их регистрация стала платной еще год назад, но ХостМастер дал бесплатный год всем старым владельцам, которые не поленились обновить-актиализировать информацию о домене.

    В течении пары дней пытались заплатить за один такой домен. Квест получился еще тот.
    1. порыскали и нашли две более-менее нормальные конторы 1gb.ua и nic.ua
    2. цены отличаются мало (39 грн у 1gb.ua и $5.95 у nic.ua) и оба принимают WebMoney
    3. процесс регистрации у них (а у всех остальных еще более запутаный) абсолютно не очевиден. По крайней мере ничего общего нет со всякими godaddy
    4. с учетом того, что у 1gb хостится сайт одной знакомой компании и организовывали этот хостинг мы, решили попробовать с 1Gb
    5. написали им с описанием “проблемы” и спросили что мы должны делать пошагово. Ответ пришел быстро и мы начали перевод.
    6. создали Account у них, привязали домен, получили письмо с запросом на перевод сайта и ответили на него. После этого “вдруг” оказалось, что принимают они только WMU, а WMZ/WMR не принимают и регистрации доменов (которые не хостятся у них) у них проводятся только вручную после получения оплаты
    7. решили плюнуть и запустить регистрацию с nic.ua Тут нас поджидал облом. Т.к. сайт был уже переведен к 1Gb, они не дают разрешение на перенос сайта к другим регистраторам без личного появления у них в компании с заполненным заявлением (бланк прислали по email) и ксероксом паспорта
    8. бороться с таким совком, конечно, нужно, но времени на это не было. Решили оплатить у самого 1Gb.
    9. распечатали квитанцию для оплаты через банк. Квитанция какая-то не очень стандартная, поэтому вечером решил попробовать обменять WMZ/WMR на эти гребанные WMU
    10. у большинства обменников из первой страницы поиска Google этих WMU не оказалось в наличии.
    11. в итоге обменял у roboxchange.com Все работает на полном автомате
    12. перечислил деньги со своего кошелька в 1Gb Они автоматически отобразились в контрольной панели
    13. написал письмо о том, чтобы оплатили регистрацию домена. На след.день они зарегистрировали его и написали ответ

    В итоге вроде и домен продлен, и по деньгам все нормально. Но какой-то осадочек неприятный остался. Буду думать как свалить от них к другому регистратору.

  • domains from Yahoo

    В течении последних двух лет Yahoo активно “продавали” регистрации на домены за $1-3
    Думаю очень многие купились на это, т.к. с одной стороны цена очень привлекательная, с другой контора солидная. Несколько раз видел топики в форумах о том, что тяжело потом увести домены, т.к. Yahoo требует кучу документов и тратится уйма времени на переписку.

    А сегодня прочитал, что они для покрытия убытков ввели новую плату – за первый год $10, а все последующие по $35

    С учетом того, что многие “обыватели” купили домены по акции и только не знают как увести домены, убытки они явно покроют. Но думаю, что клиенты отвернутся от них. Только вопрос времени.

  • License Explorer

    Кроме считывания лицензий на COM-объекты можно добавить считывание ключей для popular software (Windows, Office etc)

    По идее можно вообще сканить часть реестра и вычитывать ключи типа Licensed, SerialKey etc

  • http://trends.google.com

    Google запустил Google Trends для анализа популярности сайтов

    Забавно, что судя по его данным большинство посетителей у borland.com + codegear.com являются индийцы и японцы. Если первые еще ожидаемы (хотя и не на первой позиции), то большое число японцев меня удивляет.

    У нас большинство из USA + UK/France/NL/Germany и в целом это совпадает с моими данными…

    Жаль, конечно, что я не дорос еще до Microsoft и поэтому графика активности пока нет. Хотя радует уже то, что большинства моих коллег-конкурентов там в базе пока нет вовсе.