Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Мастера DELPHI. Новости мира компонент, FAQ, статьи...


Информационный Канал Subscribe.Ru

Ежедневная рассылка сайта Мастера DELPHI

DELPHI.mastak.ru

Выпуск от 12.06.02 09:04

Кое-что из нашей кладовки   |x|
  • TStatusProgressBar (non visual) Freezer freezer@info-pro.ru   (10.06.02 12:34)
    Простой примерчик, на тему "Как отрисовать BrogressBar по TStatusPanel в StatusBar'e". Не судите строго, просто делать было нечего. (Но достаточно красиво получилось).
    »»» Скачать: исходные тексты (6кб) посмотреть скриншот
Лучшее из нашего FAQ   |x|
Как использовать функцию Shell API SHBrowseForFolder чтобы позволить пользователю выбрать каталог?
См. пример
Пример:

    uses ShellAPI, ShlObj;

    procedure TForm1.Button1Click(Sender: TObject);
    var
      TitleName : string;
      lpItemID : PItemIDList;
      BrowseInfo : TBrowseInfo;
      DisplayName : array[0..MAX_PATH] of char;
      TempPath : array[0..MAX_PATH] of char;
    begin
      FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
      BrowseInfo.hwndOwner := Form1.Handle;
      BrowseInfo.pszDisplayName := @DisplayName;
      TitleName := 'Please specify a directory';
      BrowseInfo.lpszTitle := PChar(TitleName);
      BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;
      lpItemID := SHBrowseForFolder(BrowseInfo);
      if lpItemId <> nil then begin
    SHGetPathFromIDList(lpItemID, TempPath);
    ShowMessage(TempPath);
    GlobalFreePtr(lpItemID);
      end;
    end;


Источник: Дельфи. Вокруг да около.

Вариант от Анатолия (SAVwa@eleks.lviv.ua)

threadvar
 myDir: string;

function BrowseCallbackProc(hwnd: HWND; uMsg: UINT; lParam: LPARAM; lpData:
LPARAM): integer; stdcall;
begin
 Result := 0;
 if uMsg = BFFM_INITIALIZED then begin
   SendMessage(hwnd, BFFM_SETSELECTION, 1, LongInt(PChar(myDir)))
 end;
end;

function SelectDirectory(const Caption: string; const Root: WideString;
 var Directory: string): Boolean;
var
 WindowList: Pointer;
 BrowseInf! o: TBrowseInfo;
 Buffer: PChar;
 RootItemIDList, ItemIDList: PItemIDList;
 ShellMalloc: IMalloc;
 IDesktopFolder: IShellFolder;
 Eaten, Flags: LongWord;
begin
 myDir := Directory;
 Result := False;
 FillChar(BrowseInfo, SizeOf(BrowseInfo), 0);
 if (ShGetMalloc(ShellMalloc) = S_OK) and (ShellMalloc <> nil) then
 begin
   Buffer := ShellMalloc.Alloc(MAX_PATH);
   try
     RootItemIDList := nil;
     if Root <> '' then
     begin
       SHGetDesktopFolder(IDesktopFolder);
       IDesktopFolder.ParseDisplayName(Application.Handle, nil,
         POleStr(Root), Eaten, RootItemIDList, Flags);
     end;
     with BrowseInfo do
     begin
       hwndOwner := Application.Handle;
       pidlRoot := RootItemIDList;
       pszDisplayName := Buffer;
       lpfn := @BrowseCallbackProc;
       lParam := Integer(PChar(Directory));
       lpszTitle := PChar(Caption);
       ulFlags := BIF_RETURNONLYFSDIRS or $0040 or BIF_EDITBOX or
BIF_STATUSTEXT ;
     end;
     WindowList := DisableTaskWindows(0);
     try
       ItemIDList := ShBrowseForFolder(BrowseInfo);
     finally
       EnableTaskWindows(WindowList);
     end;
     Result :=  ItemIDList <> nil;
     if Result then
     begin
       ShGetPathFromIDList(ItemIDList! , Buffer);
       ShellMalloc.Free(ItemIDList);
       Directory := Buffer;
     end;
   finally
     ShellMalloc.Free(Buffer);
   end;
 end;
end;

»»» Прислать свои комментарии

Обсуждается в конференциях   |x|
У нас большой выбор статей   |x|
Серия статей. Kylix Tutorial. 4. Использование однонаправленных наборов данных.
Однонаправленные наборы данных предоставляют механизм доступа для чтения данных из таблиц сервера БД с помощью SQL команд. Они созданы для быстрого и "легковесного" доступа к информации сервера БД с минимальной загрузкой последнего...
Новинки книжного рынка   |x|
Delphi 6 и Kylix для программиста
В этой книге на практических примерах рассмотрены все возможности среды Delphi 6. Читательузнает, как создавать многоуровневые программы для работы с базами данных, Интернет-системы и сетевые распределенные приложения на основе технологий СОМ и CORBA. Рассмотрены механизмы преобразования XML-данных и приемы разработки служб WebServices. В большинстве случаев программист может обойтись визуальными средствами Delphi.Характер авторских работ С. Бобровского традиционно отличается тем, что они не только служат фундаментальными руководствами по новым технологиям программирования, но и представляют собой удобные справочники, полезные каждому программисту, независимо от уровня его подготовки.
Автор: Бобровский С.
Другие сайты о DELPHI   |x|
0penGL   .,;*portal*;,.
Примеры программирования OpenGL на Delphi.

» Оценка сайта: 2
Опрос населения :)
Стоит ли сделать англоязычную версию этого сайта?
»»» Да
»»» Нет
Журнал "RSDN Magazine"  |x|

Дорогие друзья! Мы рады представить вам новый совместный проект сайтов www.rsdn.ru, delphi.mastak.ru и www.optim.ru - профессиональный журнал для программистов RSDN Magazine.
Несомненно, ваше мнение о необходимости такого журнала, содержании рубрик и темах отдельных статей поможет сделать журнал более полезным и интересным. Высказать свое мнение, проголосовать или же подписаться вы можете на сайте. Без вашего участия, нам будет трудно сделать правильный журнал!
На сайте выложен анонс пилотного выпуска журнала, вступительное слово от редакции.

Для души

Хокку дня
Вечерним вьюнком
Я в плен захвачен… Недвижно
Стою в забытьи.

Афоризмы
Знаток флиртует на пляже с самой бледно-кожей девушкой - у нее весь отпуск еще впереди (Марчелло Мастроянни)

Фраза дня
Прогресс сделал розетки недоступными для детей, - умирают самые одаренные.

Дурацкие законы (информация предоставлена сайтом kurilka.com)
В городе Вотерлу в Небраске (США) брадобреям и парикмехерам запрещено есть лук с 7-ми утра до 7-ми вечера.
В Небраске (США), где и моря и в помине нет, запрещается ловить китов.

И на закуску коротенький анекдот
Вышла книга "Сборник польских нецензурных выражений". Составитель - Иван Сусанин.

Фотоприколы.
Начните день с хорошего настроения!
http://delphi.mastak.ru/cgi-bin/prikol.pl?id=142


На этом позвольте откланяться и пожелать вам удачного дня.
Искренне ваш, Алексей (delphi@mastak.com)

Добро пожаловать на сайт -= Мастера DELPHI =- 


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное