Behzad_Asharkhan
سه شنبه 18 فروردین 1383, 08:57 صبح
سلام
از کامپوننت TWordApplication در تب servers برای ارتباط با word استفاده میکنم. (windowsxp)با متن انگلیسی همه چی درسته ولی اگه همه یا قسمتی از متن فارسی باشه، فقط همون متن فارسی اندازه فونتش درست تنظیم نمیشه. با چند نوع فونت از جمله tahoma هم تست کردم نشد. به تنطیمات pc من هم ربط نداره ، روی یه کامپیوتر دیگه هم تست کردم.
با مثالی هم که خود آقای بورلند :shock: تو این مسیر منتشر کرده Delphi7\Demos\ActiveX\OleAuto\SrvComp\Word همین اشکال هست.
اگه کد زیر رو اجرا کنید مشکل دیده میشه.
اگر در Edit1 متن انگلیسی باشه، متن داخل word اینطوریه
Test Edit1 Test
و اگه داخل edit1 متن فارسی بنویسید خروجی اینطوریه
Test بهزاد Test
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, WordXP, OleServer;
type
TForm1 = class(TForm)
WordApplication: TWordApplication;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
WordApplication.Connect;
WordApplication.Visible := True;
WordApplication.Documents.Add(EmptyParam,EmptyPara m,EmptyParam,EmptyParam);
with WordApplication.Selection do
begin
ParagraphFormat.Alignment := wdAlignParagraphCenter;
Font.Name := 'Times New Roman';
Font.Size := 28;
Font.Bold := 1;
TypeText('Test ' + Edit1.Text + ' Test');
end;
WordApplication.Disconnect;
end;
end.
خیلی ممنون.
.
از کامپوننت TWordApplication در تب servers برای ارتباط با word استفاده میکنم. (windowsxp)با متن انگلیسی همه چی درسته ولی اگه همه یا قسمتی از متن فارسی باشه، فقط همون متن فارسی اندازه فونتش درست تنظیم نمیشه. با چند نوع فونت از جمله tahoma هم تست کردم نشد. به تنطیمات pc من هم ربط نداره ، روی یه کامپیوتر دیگه هم تست کردم.
با مثالی هم که خود آقای بورلند :shock: تو این مسیر منتشر کرده Delphi7\Demos\ActiveX\OleAuto\SrvComp\Word همین اشکال هست.
اگه کد زیر رو اجرا کنید مشکل دیده میشه.
اگر در Edit1 متن انگلیسی باشه، متن داخل word اینطوریه
Test Edit1 Test
و اگه داخل edit1 متن فارسی بنویسید خروجی اینطوریه
Test بهزاد Test
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, WordXP, OleServer;
type
TForm1 = class(TForm)
WordApplication: TWordApplication;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
WordApplication.Connect;
WordApplication.Visible := True;
WordApplication.Documents.Add(EmptyParam,EmptyPara m,EmptyParam,EmptyParam);
with WordApplication.Selection do
begin
ParagraphFormat.Alignment := wdAlignParagraphCenter;
Font.Name := 'Times New Roman';
Font.Size := 28;
Font.Bold := 1;
TypeText('Test ' + Edit1.Text + ' Test');
end;
WordApplication.Disconnect;
end;
end.
خیلی ممنون.
.