Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2012, 09:16   #1
D.O.G
Форумчанин
 
Регистрация: 06.08.2010
Сообщений: 101
По умолчанию Вопрос по Delphi Access

Доброго всем дня. Сразу предупрежу мой вопрос не связан с кодами и исходниками. Начал писать справочник по saab 9000. И встрял с проблемкой есть статьи в ворде с иллюстрацией но не все подряд. связка delphi и access. Рассмотрелы вариант с olecontainer, richedit, если хранить ссылки в таблице на вордовский документ работает не так как надо так как документы разных объемов. Как еще можно реализовать вывод статей с графикой из таблицы? Не все статьи иллюстрированны.
D.O.G вне форума Ответить с цитированием
Старый 26.04.2012, 11:40   #2
D.O.G
Форумчанин
 
Регистрация: 06.08.2010
Сообщений: 101
По умолчанию

Вопрос решил. Переведя вордовские документы в mht формат. и используя компонент TWebBrowser
D.O.G вне форума Ответить с цитированием
Старый 26.04.2012, 12:50   #3
D.O.G
Форумчанин
 
Регистрация: 06.08.2010
Сообщений: 101
По умолчанию

Продолжим эпопею. в общем на форме два компонента DBlookupcomboboxeh и WebBrowser при прокрутки страницы в webbrowser пропадает выпадающий список в DBlookupcomboboxeh. как с этим бороться?
D.O.G вне форума Ответить с цитированием
Старый 26.04.2012, 13:25   #4
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

а они какнить связаны? в DBlookupcomboboxeh даныне прописаны или добавляются в ходе выполнения программы?
Dozent вне форума Ответить с цитированием
Старый 26.04.2012, 13:36   #5
D.O.G
Форумчанин
 
Регистрация: 06.08.2010
Сообщений: 101
По умолчанию

Данны в Dblookupcombobox добавляются из adoquery через dataset. Открыл для себя еще одну особенность при выборе пункта в лукапе, страница подгружается в веббровсер. При прокрутке это странице в веббровсере список в лукапе ропадает, после этого наводим курсор на наш лукап и нажимаем правой кнопкой мыши он активируется и список появляется. Каша полная.
D.O.G вне форума Ответить с цитированием
Старый 05.05.2012, 09:54   #6
D.O.G
Форумчанин
 
Регистрация: 06.08.2010
Сообщений: 101
По умолчанию

Ни кто не сталкивался с этой проблемой так понимаю. Чем можно заменить webbrowser? Нашел компонент Gecko но не могу понять какв него вывести док mht
D.O.G вне форума Ответить с цитированием
Старый 05.05.2012, 11:00   #7
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

У вас ошибка в программе.
=master= вне форума Ответить с цитированием
Старый 05.05.2012, 12:41   #8
D.O.G
Форумчанин
 
Регистрация: 06.08.2010
Сообщений: 101
По умолчанию

Цитата:
Сообщение от =master= Посмотреть сообщение
У вас ошибка в программе.
или косяк IE компонента который прорисовку выпадающего списка рубит? Если прокрутку в webbrowser не трогать то список ни куда не пропадает.
D.O.G вне форума Ответить с цитированием
Старый 05.05.2012, 13:53   #9
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Никакого отношения webbrowser к комбобоксам не имеет, пока програмист не накосячит.
=master= вне форума Ответить с цитированием
Старый 05.05.2012, 14:35   #10
D.O.G
Форумчанин
 
Регистрация: 06.08.2010
Сообщений: 101
По умолчанию

Цитата:
Сообщение от =master= Посмотреть сообщение
Никакого отношения webbrowser к комбобоксам не имеет, пока програмист не накосячит.
Ткните носом где здесь накосячил?
Код:
unit teh_obsl;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Dbgrideh, DBGridEhGrouping, GridsEh, Mask, DBCtrlsEh,
  DBLookupEh, DB, ADODB, OleCtnrs, ComCtrls, DBTables, ComObj, OleCtrls, SHDocVw,
  ExtCtrls, DBCtrls, Buttons, sDBListBox, sDBLookupComboBox, GeckoBrowser,
  sDBLookupListBox;

type
  TForm8 = class(TForm)
    OpenDialog1: TOpenDialog;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    ADOQuery2: TADOQuery;
    DataSource2: TDataSource;
    WebBrowser1: TWebBrowser;
    DBLookupComboboxEh1: TDBLookupComboboxEh;
    BitBtn1: TBitBtn;
    Label1: TLabel;
    Label2: TLabel;
    sDBLookupListBox1: TsDBLookupListBox;
    procedure DBLookupComboboxEh1CloseUp(Sender: TObject; Accept: Boolean);
    procedure FormCreate(Sender: TObject);
    procedure sDBLookupListBox1Click(Sender: TObject);
     private
    { Private declarations }
  public
    { Public declarations }

  end;

var
  Form8: TForm8;

implementation

{$R *.dfm}
uses saab_faq_9000;

procedure TForm8.DBLookupComboboxEh1CloseUp(Sender: TObject; Accept: Boolean);
 var
//b: TBlobStream;
id_teh_obsl,MSWord, dok,kat: string;
begin
id_teh_obsl:=ADOQuery1.FieldByName('id').AsString;
kat:=ExtractFilePath(ParamStr(0));
ADOQuery2.close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('Select * from teh_obsl where id=('+id_teh_obsl+')');
ADOQuery2.ExecSQL;
ADOQuery2.Open;
MSWord:=ADOQuery2.FieldByName('tekst').AsString;
dok:=kat+'main\doki\'+MSWord;
WebBrowser1.Navigate(dok);
{try
    COM_Word := CreateOLEObject('Word.Application');
    COM_Word.Visible := False;
    COM_Word.Documents.Open(dok);
    Com_Word.ActiveDocument.Select;
RichEdit1.Text:='';
    RichEdit1.ScrollBars:=ssBoth;
    COM_Word.Selection.Copy;
    RichEdit1.PasteFromClipboard;
    COM_Word.DisplayAlerts := False;
    COM_Word.Quit;
  finally
    COM_Word := UnAssigned;
end;}
end;

procedure TForm8.FormCreate(Sender: TObject);

begin
Form8.Width:=1024;
Form8.Height:=650;
WebBrowser1.Height:=700;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from teh_obsl');
ADOQuery1.ExecSQL;
ADOQuery1.Open;
Application.HintHidePause:=10000;
BitBtn1.Hint:='Наводим курсор на выпадающий список'
#13
'нажимаем правой кнопкой мыши ни чего не выбираем'
#13
' нажимаем на пустое место левой кнопкой мыши'
#13
' выпадающий список фунциклирует=)';
Form8.Position:=poScreenCenter;
end;


procedure TForm8.sDBLookupListBox1Click(Sender: TObject);

var
//b: TBlobStream;
id_teh_obsl,MSWord, dok,kat: string;
begin
id_teh_obsl:=ADOQuery1.FieldByName('id').AsString;
kat:=ExtractFilePath(ParamStr(0));
ADOQuery2.close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('Select * from teh_obsl where id=('+id_teh_obsl+')');
ADOQuery2.ExecSQL;
ADOQuery2.Open;
MSWord:=ADOQuery2.FieldByName('tekst').AsString;
dok:=kat+'main\doki\'+MSWord;
WebBrowser1.Navigate(dok);
end;

end.

Последний раз редактировалось D.O.G; 05.05.2012 в 14:45.
D.O.G вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по созданию БД access Лупень Microsoft Office Access 1 18.01.2012 05:09
База данных Access - вопрос darja24 Microsoft Office Access 0 14.07.2011 09:53
Вопрос по основам взаимосвязи Delphi и Access ram12 БД в Delphi 10 14.02.2010 11:56
БД Access & Delphi. Вопрос по таблицам. Andre1723 БД в Delphi 2 15.05.2008 17:45
вопрос с Access Лёка БД в Delphi 8 14.03.2008 22:37