نمایش نتایج 1 تا 6 از 6

نام تاپیک: قرار داندن فایل WORD در داخل برنامه و چاپ آن

  1. #1
    کاربر جدید
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    19

    قرار داندن فایل WORD در داخل برنامه و چاپ آن

    میخواهم یک فایل WORD را به منظور نمایش در داخل برنامه قرار دهم و در صورت نیاز
    کاربر آنرا چاپ کند و در ضمن محتویات فایل غیر قابل تغییر باشد . آیا کمپوننتی در این مورد هست ؟ ( هم برای Delphi و هم برای C++‎Builder6 )

  2. #2
    VIP آواتار دنیای دلفی
    تاریخ عضویت
    تیر 1404
    محل زندگی
    یک جایی توی جنوب ایران
    پست
    1,298
    استفاده از Infopower4000 نسخه آزمایشی را از سایت www.JonoobShop.com دریافت نمائید .
    :strange:
    پس از دو سال بررسی بلاخره به بازار آمد
    متفاوت و هوشمندانه
    برای ورود کلیک کنید
    IMEN LOCK

  3. #3
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    مهر 1383
    محل زندگی
    سمنان - ایران
    پست
    440
    سلام:
    از شی OLeContainer خود دلفی هم می توانی استفاده کنی .

  4. #4
    کاربر جدید
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    19
    OleContainer را استفاده کرده ام ولی چجوری میشود آنرا چاپ کرد؟

  5. #5
    منتظر تایید آدرس ایمیل آواتار میتی دات نت
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    جایی همین نزدیکی ها
    پست
    151
    unit Unit1;

    interface

    uses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls;

    type
    TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure InsertLines(LineNum : Integer);
    procedure CreateMailMergeDataFile;
    procedure FillRow(Doc : Variant; Row : Integer;
    Text1,Text2,Text3,Text4 : String);
    private
    { Private declarations }

    public
    wrdApp, wrdDoc: Variant;
    { Public declarations }
    end;

    var
    Form1: TForm1;

    implementation

    uses ComObj;

    Const wdAlignParagraphLeft = 0;
    Const wdAlignParagraphCenter = 1;
    Const wdAlignParagraphRight = 2;
    Const wdAlignParagraphJustify = 3;
    Const wdAdjustNone = 0;
    Const wdGray25 = 16;
    Const wdGoToLine = 3;
    Const wdGoToLast = -1;
    Const wdSendToNewDocument = 0;

    {$R *.DFM}

    procedure TForm1.InsertLines(LineNum : Integer);
    var
    iCount : Integer;
    begin
    for iCount := 1 to LineNum do
    wrdApp.Selection.TypeParagraph;
    end;

    procedure TForm1.FillRow(Doc : Variant; Row : Integer;
    Text1,Text2,Text3,Text4 : String);

    begin
    Doc.Tables.Item(1).Cell(Row,1).Ran ge.InsertAfter(Text1);
    Doc.Tables.Item(1).Cell(Row,2).Ran ge.InsertAfter(Text2);
    Doc.Tables.Item(1).Cell(Row,3).Ran ge.InsertAfter(Text3);
    Doc.Tables.Item(1).Cell(Row,4).Ran ge.InsertAfter(Text4);
    end;

    procedure TForm1.CreateMailMergeDataFile;
    var
    wrdDataDoc : Variant;
    iCount : Integer;
    begin
    // Create a data source at C:\DataDoc.doc containing the field data
    wrdDoc.MailMerge.CreateDataSource('C:\Data Doc.doc',,,'FirstName, LastName,' +
    ' Address, CityStateZip');
    // Open the file to insert data
    wrdDataDoc := wrdApp.Documents.Open('C:\DataDoc.doc'&#41 ;;
    for iCount := 1 to 2 do
    wrdDataDoc.Tables.Item(1).Rows.Add;
    // Fill in the data
    FillRow(wrdDataDoc, 2, 'Steve', 'DeBroux',
    '4567 Main Street', 'Buffalo, NY 98052');
    FillRow(wrdDataDoc, 3, 'Jan', 'Miksovsky',
    '1234 5th Street', 'Charlotte, NC 98765');
    FillRow(wrdDataDoc, 4, 'Brian', 'Valentine',
    '12348 78th Street Apt. 214', 'Lubbock, TX 25874');
    // Save and close the file
    wrdDataDoc.Save;
    wrdDataDoc.Close(False);
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    var
    StrToAdd : String;
    wrdSelection, wrdMailMerge, wrdMergeFields : Variant;
    begin
    // Create an instance of Word and make it visible
    wrdApp := CreateOleObject('Word.Application');
    wrdApp.Visible := True;
    // Create a new document
    wrdDoc := wrdApp.Documents.Add();
    wrdDoc.Select;

    wrdSelection := wrdApp.Selection;
    wrdMailMerge := wrdDoc.MailMerge;

    // Create MailMerge data file
    CreateMailMergeDataFile;


    // Create a string and insert it into the document
    StrToAdd := 'State University' + Chr(13) +
    'Electrical Engineering Department';
    wrdSelection.ParagraphFormat.Alignment := wdAlignParagraphCenter;
    wrdSelection.TypeText(StrToAdd);

    InsertLines(4);

    // Insert Merge Data
    wrdSelection.ParagraphFormat.Alignment := wdAlignParagraphLeft;
    wrdMergeFields := wrdMailMerge.Fields;

    wrdMergeFields.Add(wrdSelection.Range,'FirstNa me');
    wrdSelection.TypeText(' ');
    wrdMergeFields.Add(wrdSelection.Range,'LastNam e');
    wrdSelection.TypeParagraph;
    wrdMergeFields.Add(wrdSelection.Range,'Address ');
    wrdSelection.TypeParagraph;
    wrdMergeFields.Add(wrdSelection.Range,'CitySta teZip');

    InsertLines(2);

    // Right justify the line and insert a date field with
    // the current date
    wrdSelection.ParagraphFormat.Alignment := wdAlignParagraphRight;
    wrdSelection.InsertDateTime('dddd, MMMM dd, yyyy',False);

    InsertLines(2);

    // Justify the rest of the document
    wrdSelection.ParagraphFormat.Alignment := wdAlignParagraphJustify;

    wrdSelection.TypeText('Dear ');
    wrdMergeFields.Add(wrdSelection.Range,'FirstNa me');

    wrdSelection.TypeText(',');
    InsertLines(2);

    // Create a string and insert it into the document
    StrToAdd := 'Thank you for your recent request for next ' +
    'semester''s class schedule for the Electrical ' +
    'Engineering Department. Enclosed with this ' +
    'letter is a booklet containing all the classes ' +
    'offered next semester at State University. ' +
    'Several new classes will be offered in the ' +
    'Electrical Engineering Department next semester. ' +
    'These classes are listed below.';
    wrdSelection.TypeText(StrToAdd);

    InsertLines(2);

    // Insert a new table with 9 rows and 4 columns
    wrdDoc.Tables.Add(wrdSelection.Range,9,4);
    wrdDoc.Tables.Item(1).Columns.Item(1&# 41;.SetWidth(51,wdAdjustNone);
    wrdDoc.Tables.Item(1).Columns.Item(2&# 41;.SetWidth(170,wdAdjustNone);
    wrdDoc.Tables.Item(1).Columns.Item(3&# 41;.SetWidth(100,wdAdjustNone);
    wrdDoc.Tables.Item(1).Columns.Item(4&# 41;.SetWidth(111,wdAdjustNone);
    // Set the shading on the first row to light gray

    wrdDoc.Tables.Item(1).Rows.Item(1) .Cells
    .Shading.BackgroundPatternColorIndex := wdGray25;
    // BOLD the first row
    wrdDoc.Tables.Item(1).Rows.Item(1) .Range.Bold := True;
    // Center the text in Cell (1,1)
    wrdDoc.Tables.Item(1).Cell(1,1).Ra nge.Paragraphs.Alignment :=
    wdAlignParagraphCenter;

    // Fill each row of the table with data
    FillRow(wrdDoc, 1, 'Class Number', 'Class Name', 'Class Time',
    'Instructor');
    FillRow(wrdDoc, 2, 'EE220', 'Introduction to Electronics II',
    '1:00-2:00 M,W,F', 'Dr. Jensen');
    FillRow(wrdDoc, 3, 'EE230', 'Electromagnetic Field Theory I',
    '10:00-11:30 T,T', 'Dr. Crump');
    FillRow(wrdDoc, 4, 'EE300', 'Feedback Control Systems',
    '9:00-10:00 M,W,F', 'Dr. Murdy');
    FillRow(wrdDoc, 5, 'EE325', 'Advanced Digital Design',
    '9:00-10:30 T,T', 'Dr. Alley');
    FillRow(wrdDoc, 6, 'EE350', 'Advanced Communication Systems',
    '9:00-10:30 T,T', 'Dr. Taylor');
    FillRow(wrdDoc, 7, 'EE400', 'Advanced Microwave Theory',
    '1:00-2:30 T,T', 'Dr. Lee');
    FillRow(wrdDoc, 8, 'EE450', 'Plasma Theory',
    '1:00-2:00 M,W,F', 'Dr. Davis');
    FillRow(wrdDoc, 9, 'EE500', 'Principles of VLSI Design',
    '3:00-4:00 M,W,F', 'Dr. Ellison');

    // Go to the end of the document

    wrdApp.Selection.GoTo(wdGotoLine,wdGoToLast&#4 1;;
    InsertLines(2);

    // Create a string and insert it into the document
    StrToAdd := 'For additional information regarding the ' +
    'Department of Electrical Engineering, ' +
    'you can visit our website at ';
    wrdSelection.TypeText(StrToAdd);
    // Insert a hyperlink to the web page
    wrdSelection.Hyperlinks.Add(wrdSelection.Range ,'http://www.ee.stateu.tld');
    // Create a string and insert it into the document
    StrToAdd := '. Thank you for your interest in the classes ' +
    'offered in the Department of Electrical ' +
    'Engineering. If you have any other questions, ' +
    'please feel free to give us a call at ' +
    '555-1212.' + Chr(13) + Chr(13) +
    'Sincerely,' + Chr(13) + Chr(13) +
    'Kathryn M. Hinsch' + Chr(13) +
    'Department of Electrical Engineering' + Chr(13);
    wrdSelection.TypeText(StrToAdd);

    // Perform mail merge
    wrdMailMerge.Destination := wdSendToNewDocument;
    wrdMailMerge.Execute(False);

    // Close the original form document
    wrdDoc.Saved := True;
    wrdDoc.Close(False);

    // Notify the user we are done.
    ShowMessage('Mail Merge Complete.');

    // Clean up temp file
    DeleteFile('C:\DataDoc.doc');

    end;

    end.

  6. #6
    کاربر دائمی آواتار javidtaheri
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    301
    به demo خود دلفی یک سری بزن

تاپیک های مشابه

  1. نمایش محتویات یک فایل word بر روی فرم
    نوشته شده توسط maryam_jamshid در بخش VB.NET
    پاسخ: 1
    آخرین پست: پنج شنبه 18 بهمن 1386, 13:04 عصر
  2. تبدیل محتویان فایل word به اکسس
    نوشته شده توسط amindiary در بخش Access
    پاسخ: 1
    آخرین پست: دوشنبه 15 مرداد 1386, 16:44 عصر
  3. ذخیره اطلاعات فایل WORD یا RTF ذخیره در SQL و نمایش آن؟
    نوشته شده توسط FirstLine در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: شنبه 26 خرداد 1386, 23:57 عصر
  4. ارسال متن به Word
    نوشته شده توسط salman_s در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: یک شنبه 02 بهمن 1384, 15:10 عصر
  5. ذخیره یک فایل word در بانکsql
    نوشته شده توسط maryam_jamshid در بخش VB.NET
    پاسخ: 5
    آخرین پست: دوشنبه 26 دی 1384, 13:43 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •