Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   визуальный редактор HTML (http://forum.oszone.net/showthread.php?t=208720)

sagymbekov 11-06-2011 00:07 1692409

визуальный редактор HTML
 
Суть в следующем: пытаюсь написать визуальный редактор html
веб браузер перевел в режим редактирования
теперь мне надо чтоб по нажатию кнопки сохранял отредактированный документ...
но зараза не получается....помогите пожалуйста! Буду признателен!
===========================================================
unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, MSHTML_TLB, mshtml, SHDocVw;

type
TForm2 = class(TForm)
WebBrowser1: TWebBrowser;
Button1: TButton;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Label1: TLabel;
procedure Button4Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;
Disp: IDispatch;
Editor: IHTMLDocument2;
implementation

uses Form_Main;

{$R *.dfm}

procedure TForm2.Button4Click(Sender: TObject);
begin
frm_MainWindow.Close;
end;

procedure TForm2.ComboBox1Change(Sender: TObject);
begin
if (comboBox1.Text='1 Водитель') then
begin
WebBrowser1.SetFocus;
WebBrowser1.Navigate(ExtractFilePath(Application.ExeName)+'resources\drivers\1driver.res');
end
else
if (comboBox1.Text='2 Водителя') then
begin
WebBrowser1.SetFocus;
WebBrowser1.Navigate(ExtractFilePath(Application.ExeName)+'resources\drivers\2drivers.res');
end
else
if (comboBox1.Text='3 Водителя') then
begin
WebBrowser1.SetFocus;
WebBrowser1.Navigate(ExtractFilePath(Application.ExeName)+'resources\drivers\3drivers.res');
end
else
if (comboBox1.Text='4 Водителя') then
begin
WebBrowser1.SetFocus;
WebBrowser1.Navigate(ExtractFilePath(Application.ExeName)+'resources\drivers\4drivers.res');
end
else
if (comboBox1.Text='5 Водителей') then
begin
WebBrowser1.SetFocus;
WebBrowser1.Navigate(ExtractFilePath(Application.ExeName)+'resources\drivers\5drivers.res');
end
end;
procedure TForm2.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
CurrentWB: IWebBrowser;
Editor: IHTMLDocument2;
begin
Disp := pDisp;
end;

procedure TForm2.Button1Click(Sender: TObject);
var
CurrentWB: IWebBrowser;

begin
CurrentWB := Disp as IWebBrowser;
editor := (CurrentWB.Document as IHTMLDocument2);
editor.DesignMode := 'On';
Label1.Caption:= 'режим редактирования включен'

end;

procedure TForm2.Button3Click(Sender: TObject);
var
CurrentWB: IWebBrowser;

begin
CurrentWB := Disp as IWebBrowser;
editor := (CurrentWB.Document as IHTMLDocument2);
editor.DesignMode := 'Off';
Label1.Caption:= 'режим редактирования выключен'
end;

procedure TForm2.Button2Click(Sender: TObject);
var
Range: IHTMLTxtRange;
begin
Range := (editor.selection.createRange as IHTMLTxtRange);
Range.execCommand('save', false, emptyparam)

end;

end.
==========================================================
прога запускается, никаких ошибок не выдает. просто не сохраняет отредактированный текст...

ОСОБЕННО ОБРАТИТЕ ПОЖАЛУЙСТА ВНИМАНИЕ НА ЭТОТ КУСОК КОДА:

procedure TForm2.Button2Click(Sender: TObject);
var
Range: IHTMLTxtRange;
begin
Range := (editor.selection.createRange as IHTMLTxtRange);
Range.execCommand('save', false, emptyparam)


Время: 03:43.

Время: 03:43.
© OSzone.net 2001-