# Native Code > برنامه نویسی در Delphi > مباحث عمومی دلفی و پاسکال > سوال: بهترین راه برای قرار دادن عکس امضا در ورد

## soft-c

به نظر شما بهترین راه برای قرار دادن عکس امضا شخص در اتوماسیون اداری چیه؟
من با استفاده از بوکمارک عکس را وارد می کنم منتها در بحث wrap مشکل دارد . یعنی اگر روی متن بیفتد متن را به هم میریزد .
چه کار می تونم بکنم ؟
این هم کدها :

bookmarkname:=sgn;
r:=olevariant.bookmarks.item(bookmarkname).range;
clipboard.asign(image1.picture); 
r.paste;

----------


## idehrayan

سلام
اگه خصوصیت تکست باکس حاوی بوک مارک مورد نظرت رو تو ورد به شکل زیر تعریف کنی احتمالا مشکلت حل بشه
  format >>> text wrapping >>> in front of text

----------


## soft-c

> سلام
> اگه خصوصیت تکست باکس حاوی بوک مارک مورد نظرت رو تو ورد به شکل زیر تعریف کنی احتمالا مشکلت حل بشه
>   format >>> text wrapping >>> in front of text


اگر در کد من دقت کنید من از بوک مارک استفاده می کنم . یعنی در سمت ورد فقط یک بوکمارک تعریف کردم و در سمت دلفی عملیات های لازم انجام میشه . فکر نمی کنم بوکمارک هم این قابلیتی که شما گفتید را داشته باشه.

----------


## idehrayan

دوست عزیز 
در اتوماسیون اداری که من استفاده میکنم 
بوک مارک درون یک *تکست باکس* قرار گرفته و اون  تکست باکسه که باید فرمت بالا در اون اعمال بشه 
پست قبلی هم خدمتتون عرض کردم (*تکست باکس حاوی بوک مارک*) _.
من خودم هم دقیقا با این مشکل سروکله زدم.
این روش روشی هستش که یکی از نرم افزارهای قدرتمند  اتوماسیون که در بسیاری از دانشگاهها ازش استفاده میشه بکار رفته. به هر حال جسارت ما رو ببخشید موفق باشید.

_

----------


## soft-c

ممنون از راهنماییتون . از جوابم ناراحت نشید . منظوری نداشتم . :چشمک: 
مشکل من بیشتر اینجا است که از سمت دلفی از چه کدهایی برای این کار استفاده کنم . برای همین بیشتر روی بحث بوکمارک تمرکز کردم

----------


## soft-c

دوست عزیز من رسما از شما عذرخواهی می کنم و اعتراف می کنم که در جواب شما دقت نکردم . چون با روشی که گفتید مشکلم حل شد . 
باز هم شرمنده  :خجالت:  ( البته این را بگذارید به حساب اینکه چند وقت بود روی این قضیه کار می کردم و خیلی ذهنم را درگیر کرده بود )

----------


## Valadi

nit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Word2000, OleServer, ExtCtrls;

type
  TForm1 = class(TForm)
    wa: TWordApplication;
    wd: TWordDocument;
    wpf: TWordParagraphFormat;
    wf: TWordFont;
    btngraphic: TButton;
    procedure btngraphicClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.btngraphicClick(Sender: TObject);
var
  filename:Olevariant;
  bkmk:range;
  BMName:olevariant;
begin
  wa.Connect;
  wa.Visible:=true;
  filename:=extractfilepath(application.exename)+'te  stdoc.doc';
  wd.ConnectTo(wa.Documents.Open(filename,EmptyParam  ,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                                  EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyP  aram,EmptyParam));


  BmName:='Picture';  // the bookmark where the text is going
  Bkmk:=wd.Bookmarks.item(BMName).Range;
  bkmk.InlineShapes.AddPicture(extractfilepath(appli  cation.exename)+'avon2.jpg',emptyparam,emptyparam,  emptyparam);
end;

----------


## soft-c

عزیز به نظر میرسه کدتون مشکل داشته باشه . 
این خط را ایراد میگیره : bkmk:range;

----------

