Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TWebBrowser и Избранное с Журналом! 
:(
    Опции темы
Serik
Дата 15.10.2006, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 1.10.2006
Где: Москва

Репутация: нет
Всего: нет



Как мне можно в свой браузер внедрить Избранное и Журнал?
не ужели с файлами капаться придется?или есть что-нибудь стандартное?(функция процедаруа smile 
PM MAIL WWW   Вверх
December
Дата 15.10.2006, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 12
Всего: 57



Насчёт журнала - не знаю, а для избранного - да, париться с файлами
SHGetSpecialFolderPath( ... CSIDL_COMMON_FAVORITES ... )
SHGetSpecialFolderPath( ... CSIDL_FAVORITES ... )


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
Serik
Дата 15.10.2006, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 1.10.2006
Где: Москва

Репутация: нет
Всего: нет



Приведи пример! пожалуйста=)
PM MAIL WWW   Вверх
December
Дата 15.10.2006, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 12
Всего: 57



Тут используются некоторые мои функции и переменные, но алгоритм олжен быть очевиден.
Код

procedure RefreshFavMenu;

  procedure ProcessFolder( Folder: string; Menu: TMenuItem );
  var
    SR: TSearchRec;
    wstrs:TStrings;
    MenuItem: TMenuItem;
    Name: string;
    Url: string;
  begin
  Folder := trim(Folder);
  if Length(Folder) <= 0 then exit;
  if Folder[Length(Folder)] <> '\' then Folder := Folder + '\';
  if FindFirst( Folder + '*.*',  faArchive + fadirectory, SR ) = 0 then
    begin
    repeat
    if ((SR.Attr and fadirectory) = fadirectory) and (SR.name[1] <> '.') then
      begin
      Name := SR.Name;
      if Length(Name) > 40 then Name:=copy( Name, 1, 40 ) + '...';
      MenuItem:=TMenuItem.Create(Menu);
      MenuItem.Caption:=Name;
      Menu.Add(MenuItem);
      ProcessFolder(Folder+SR.Name, MenuItem);
      end//if it is a folder
      else
      if ((SR.Attr and faArchive) = faArchive) then
        begin
        wstrs:=TStringList.Create;
        try
        wstrs.LoadFromFile( Folder + SR.Name );
        Url:=GetSetting(wstrs,'InternetShortcut','URL');
        if URL<>'' then
          begin
          Name:=SR.Name;
          while (Length(Name) > 0) and (Name[Length(Name)] <> '.') do SetLength( Name, Length(Name)-1 );
          if Length(Name) > 0 then SetLength( Name, Length(Name)-1 );
          if Length(Name) > 40 then Name := copy( Name, 1, 40 ) + '...';
          MenuItem:=TMenuItem.Create(Menu);
          MenuItem.Caption:=Name;
          MenuItem.Hint:=Url;
          BookmarkedUrls.Add(Url);
          MenuItem.OnClick:=MainForm.FavLinkClick;
          Menu.Add(MenuItem);
          end;//if url set
        except
        end;//except
        wstrs.Free;
        end;//else if
    until FindNext(SR) <> 0;
    FindClose(SR);
    end;///if
  end;//ProcessFolder


  procedure ClearSubMenu( Item: TMenuItem );
  begin
  while Item.Count > 0 do
    begin
    ClearSubMenu(Item[0]);
    Item.Delete(0);
    end;//while
  end;//ClearSubMenu


  procedure ClearMenu( Item: TMenuItem );
  begin
  while Item.Count > 3 do
    begin
    ClearSubMenu(Item[3]);
    Item.Delete(3);
    end;//while
  end;//ClearMenu

var
  PathName: array[1..MAX_PATH] of char;
begin
MainForm.MainMenu1.BeginUpdate;
BookmarkedUrls.Clear;
ClearMenu(MainForm.mnFavorites);
FillChar(PathName, Length(PathName), 0);
if SHGetSpecialFolderPath( MainForm.Handle, @PathName, CSIDL_COMMON_FAVORITES, TRUE )
  then ProcessFolder(PathName, MainForm.mnFavorites);
FillChar( PathName, Length(PathName), 0 );
if SHGetSpecialFolderPath( MainForm.Handle, @PathName, CSIDL_FAVORITES, TRUE )
  then ProcessFolder( PathName, MainForm.mnFavorites );
MainForm.MainMenu1.EndUpdate;
end;



--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
Serik
Дата 15.10.2006, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 1.10.2006
Где: Москва

Репутация: нет
Всего: нет



Пасиб
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0429 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.