Tạo và hiển thị tài liệu OLE ở dạng p.1. Đối tượng Ole AutoCAD

Access 2010 có khả năng thêm đối tượng vào một trường với kiểu dữ liệu OLE. Trong trường hợp kiểu dữ liệu được chỉ định là OLE (Liên kết và nhúng đối tượng– liên kết và nhúng đối tượng), thì Access DBMS giữ lại phần bên ngoài một đối tượng trong tệp cơ sở dữ liệu chung, phân bổ để lưu trữ nhiều không gian mà đối tượng này chiếm giữ dưới dạng một tệp riêng biệt. Dưới các đối tượng Bạn nên hiểu các tệp được tạo dưới dạng ứng dụng trong trình chỉnh sửa đồ họa, video clip, ứng dụng MS Office, v.v. Khi một bảng chứa đầy dữ liệu là một đối tượng, một thông báo về chương trình có thể được sử dụng để mở đối tượng này sẽ được tạo ở vị trí tương ứng của trường có kiểu dữ liệu OLE. Hiển thị một đối tượng sẽ chỉ được thực hiện dưới dạng biểu mẫu và báo cáo.

nhúng một đối tượng trong lĩnh vực này với Kiểu dữ liệu OLE bạn cần mở bảng trong Chế độ "Xây dựng". Thêm một trường mới, ví dụ “Ảnh sản phẩm.” Chọn kiểu dữ liệu "Trường đối tượng OLE", rồi lưu bảng.

Sau đó ở chế độ "Bảng" tại dòng nhập dữ liệu nhấn chuột phải, trong menu mở ra chọn dòng có lệnh sẽ mở hộp thoại (Hình 3.38, Hình 3.39).

Cơm. 3.38 Chèn một đối tượng

Cơm. 3.39 Hộp thoại thêm đối tượng mới vào bảng Access

Hãy nhớ rằng có hai tùy chọn để nhúng đối tượng dưới dạng dữ liệu. Cơ hội đầu tiên liên quan đến việc sử dụng các ứng dụng tiêu chuẩn để tạo tệp mà Access hỗ trợ, tùy chọn thứ hai để chèn đối tượng , cho phép bạn sử dụng bất kỳ tệp nào làm nguồn dữ liệu (Hình 3.40).

Cơm. 3.40 Thêm đối tượng mới vào bảng Access từ một tệp

1. Tạo một đối tượng từ một tập tin.

Khi nói đến dữ liệu là đối tượng của cơ sở dữ liệu và là tệp bên ngoài thì bắt buộc phải có các tệp này. Do đó, bạn sẽ cần tạo một số tệp để xem cách chúng được hiển thị trong cơ sở dữ liệu trong tương lai và cũng cố gắng thay đổi các tệp này. Ví dụ: nếu bạn có ảnh của một đối tượng trong tệp Màn hình.jpg(jpg là định dạng ảnh phổ biến). Để file này được lưu vào cơ sở dữ liệu, bạn nên đánh dấu vào ô này (Hình 3.40) "Tạo từ tập tin" , sau đó cửa sổ như trong Hình 3.41 sẽ xuất hiện. Sử dụng một nút "Ôn tập" bạn nên chọn tập tin cần thiết.

Cơm. 3.41 Tìm file khi tạo đối tượng trong cơ sở dữ liệu

Ví dụ: trong dòng tương ứng của trường, "Ảnh sản phẩm" từ đó sẽ xuất hiện "Bưu kiện", điều này có nghĩa là tệp được liên kết với ứng dụng đã tạo ra nó. Do đó, khi xem cơ sở dữ liệu, dù là truy vấn, biểu mẫu hay báo cáo, người dùng sẽ thấy hình ảnh của tệp dưới dạng biểu tượng và khi nhấp đúp vào hình ảnh này, trước tiên hệ thống sẽ tìm ứng dụng rồi hiển thị nội dung của tệp (trong ví dụ này là ảnh) trong đó. . Ngoại lệ là các tệp hình ảnh được lưu với phần mở rộng .bmp(định dạng bản đồ bit). Tuy nhiên, cần nhớ lại rằng các tệp được tạo trong ứng dụng Microsoft sẽ được hiển thị ngay lập tức trong các biểu mẫu và báo cáo. Kết luận rất đơn giản, ảnh có thể được chèn vào các ứng dụng như Paint, Word, Power Point, được lưu dưới dạng tệp riêng biệt và sau đó được kết nối dưới dạng đối tượng với cơ sở dữ liệu. Hãy thử tạo nhiều tệp ảnh và văn bản bằng các trình chỉnh sửa Windows khác nhau. Ví dụ: bạn có thể mở tài liệu Word, chèn ảnh từ tệp, thêm văn bản rồi lưu dưới dạng: Màn hình.docx(Hình 3.42).

Cơm. 3.42 File ảnh tạo trên Word

2. Tạo đối tượng mới.

Bằng cách tạo các đối tượng mới trong cơ sở dữ liệu, bạn có nghĩa là sử dụng một ứng dụng trong đó tệp được tạo và sau đó được đưa vào trường mô tả loại OLE này. Để bắt đầu chế độ tạo đối tượng mới, bạn cần mở bảng trong Chế độ "bàn", chọn tùy chọn "Tạo mới" trong hộp thoại (Hình 3.39), rồi chọn trong danh sách "Loại đối tượng"(yêu cầu ứng dụng). Danh sách các ứng dụng mà Access hỗ trợ tạo đối tượng nằm trong danh sách (Hình 3.43) sẽ mở ra sau khi chạy lệnh "Chèn đối tượng" .

Cơm. 3.43 Danh sách các loại đối tượng Access có thể được sử dụng để tạo tệp

Sự tiện lợi của việc sử dụng các ứng dụng để tạo các đối tượng ở dạng tệp là trong tương lai những tệp này có thể được sử dụng tự động hoặc được sửa trong cơ sở dữ liệu.

Hãy xem xét tùy chọn tạo đối tượng cho cơ sở dữ liệu, sử dụng ứng dụng sơn

Ví dụ: cần tạo một đối tượng có hình ảnh của một công ty và văn bản mà người dùng cơ sở dữ liệu sau này có thể thay thế hoặc sửa chữa. Để làm điều này bạn cần chọn từ danh sách Đối tượng hình ảnh bitmap, công nghệ tiếp theo để tạo đối tượng được thể hiện trong Hình 3.44.

1. Mở ứng dụng Paint

2. Chèn ảnh từ một tập tin.

3. Thêm văn bản (nếu cần).

4. Lưu dưới dạng tệp.

5. Đóng ứng dụng.

Cơm. 3.44 Công nghệ tạo đối tượng trong ứng dụng Paint

Bài tập 3.11

1. Trong bảng " Các mặt hàng» ở chế độ "Người xây dựng" thêm một cột mới có tên "Ảnh sản phẩm", loại dữ liệu " Trường đối tượng OLE", lưu thay đổi.

2. Ở chế độ "Bàn" trong lĩnh vực "Ảnh sản phẩm" chọn một dòng "Chèn đối tượng từ tập tin", chọn (đặt dấu chấm) "Tạo mới" và từ danh sách thả xuống chỉ định Tài liệu Microsoft Word. Điều này sẽ mở một trình soạn thảo văn bản MS Word, ở đây bạn cần chèn hình ảnh tương ứng với sản phẩm ở dòng này. Chọn ảnh từ danh sách được lưu trữ trực tiếp trong trình chỉnh sửa (tab “Chèn”, biểu tượng “Hình ảnh”, nút “Bắt đầu” trong hộp thoại bên phải) hoặc chèn ảnh từ các chương trình khác. Bạn có thể sử dụng ứng dụng Paint (đối tượng Hình ảnh Bitmap), nơi bạn có thể tự vẽ sản phẩm. Đóng tệp đã tạo, nó sẽ tự động được liên kết với cơ sở dữ liệu của bạn, với dòng mà nó được chèn vào.

3. Làm theo quy trình này để tất cả các dòng của bạn Bảng "Sản phẩm".

4. Lưu các thay đổi của bạn.

Câu hỏi kiểm soát

1. Những đối tượng nào có thể được chèn vào cơ sở dữ liệu với kiểu dữ liệu OLE?

2. Làm cách nào để chèn ảnh vào bảng ở chế độ Bảng?

3. Ảnh sẽ xuất hiện ở đâu trong cơ sở dữ liệu?

4. Sự khác biệt giữa phương thức “Tạo đối tượng mới” và phương thức “Tạo từ tệp” là gì?

5. Cách đặt tệp ảnh sản phẩm vào cơ sở dữ liệu nếu nó có phần mở rộng .png?

6. Có thể chỉnh sửa tệp được chèn dưới dạng đối tượng vào cơ sở dữ liệu trực tiếp trong hệ thống tệp của máy tính không?

7. Làm cách nào để chèn bài thuyết trình vào cơ sở dữ liệu?

8. Những đối tượng ứng dụng nào có thể được chèn vào cơ sở dữ liệu?

Bạn có thể sử dụng Liên kết và Nhúng Đối tượng (OLE) để đưa nội dung từ các chương trình khác, chẳng hạn như Word hoặc Excel.

Giao diện OLE được nhiều chương trình khác nhau hỗ trợ và được sử dụng để đặt nội dung được tạo trong chương trình này vào chương trình khác. Ví dụ: bạn có thể chèn tài liệu Office Word vào sổ làm việc Office Excel. Để xem bạn có thể chèn loại nội dung nào, hãy đi tới Chèn trong nhóm Chữ chọn phần tử Một đối tượng. Trong lĩnh vực Loại đối tượng Chỉ các đối tượng của các chương trình được cài đặt trên máy tính này và hỗ trợ giao diện OLE mới được hiển thị.

Hiểu các đối tượng được liên kết và nhúng

Dữ liệu được sao chép vào Excel từ một chương trình hỗ trợ OLE khác (chẳng hạn như Word) có thể được dán dưới dạng đối tượng được liên kết hoặc đối tượng được nhúng. Sự khác biệt chính giữa các đối tượng được nhúng và được liên kết là nơi dữ liệu được lưu trữ và cách đối tượng được cập nhật sau khi được chèn vào tệp mục tiêu. Các đối tượng nhúng được lưu trữ trong sổ làm việc mà chúng được chèn vào và không được cập nhật. Các đối tượng liên quan vẫn ở trong các tệp riêng biệt và có thể được cập nhật.

Các đối tượng được liên kết và nhúng trong tài liệu

1. Đối tượng được nhúng không có kết nối với tệp nguồn.

2. Đối tượng được liên kết được liên kết với tệp nguồn.

3. Khi tệp nguồn được cập nhật, đối tượng liên quan cũng được cập nhật.

Khi nào nên sử dụng các đối tượng được liên kết

Sử dụng các đối tượng được liên kết khi bạn muốn cập nhật dữ liệu trong tệp đích khi dữ liệu trong tệp nguồn thay đổi.

Khi sử dụng một đối tượng được liên kết, dữ liệu gốc sẽ được lưu trữ trong tệp nguồn. Tệp kết quả hiển thị chế độ xem dữ liệu liên quan nhưng chỉ lưu trữ thông tin về vị trí của dữ liệu nguồn (và kích thước nếu đối tượng là biểu đồ Microsoft Excel). Để duy trì kết nối với dữ liệu gốc, tệp được lưu trữ phải có thể truy cập được trên đĩa hoặc mạng cục bộ.

Dữ liệu được liên kết có thể được cập nhật tự động khi dữ liệu trong tệp nguồn thay đổi. Ví dụ: nếu bạn chọn một đoạn văn trong tài liệu Word rồi chèn nó dưới dạng đối tượng được liên kết vào sổ làm việc Excel, nếu bạn thay đổi dữ liệu trong tài liệu Word thì dữ liệu trong sổ làm việc Excel cũng sẽ thay đổi.

Khi nào nên sử dụng đối tượng nhúng

Sử dụng đối tượng được nhúng nếu bạn không muốn dữ liệu được sao chép thay đổi khi nó thay đổi trong tệp nguồn. Phiên bản dữ liệu nguồn được nhúng hoàn toàn vào sổ làm việc. Khi bạn sao chép dữ liệu dưới dạng đối tượng được nhúng, tệp kết quả sẽ chiếm nhiều dung lượng ổ đĩa hơn khi bạn liên kết dữ liệu.

Khi bạn mở một tệp trên một máy tính khác, bạn có thể xem đối tượng được nhúng mà không cần truy cập vào dữ liệu gốc. Vì đối tượng nhúng không được liên kết với tệp nguồn nên nó không được cập nhật khi dữ liệu nguồn thay đổi. Để thay đổi một đối tượng được nhúng, hãy bấm đúp vào đối tượng đó để mở và chỉnh sửa nó trong chương trình gốc. Chương trình nguồn (hoặc chương trình khác cho phép bạn chỉnh sửa đối tượng) phải được cài đặt trên máy tính của bạn.

Thay đổi cách hiển thị đối tượng OLE

Trong sổ làm việc, đối tượng được liên kết hoặc đối tượng được nhúng có thể xuất hiện giống như trong chương trình gốc hoặc dưới dạng biểu tượng. Nếu sách sẽ được xem trực tuyến và không cần phải in, bạn có thể chọn hiển thị đối tượng này dưới dạng biểu tượng. Điều này làm giảm diện tích bị chiếm giữ bởi đối tượng trên màn hình. Để xem đối tượng này ở dạng ban đầu, hãy nhấp đúp vào biểu tượng của nó.

Nhúng một đối tượng vào một trang tính

Chèn một liên kết vào một tập tin

Ghi chú:

Tạo đối tượng trong Excel


Nhúng một đối tượng vào một trang tính

Chèn một liên kết vào một tập tin

Bạn có thể chỉ cần thêm một tham chiếu đến đối tượng thay vì nhúng nó hoàn toàn. Bạn có thể thực hiện việc này nếu sổ làm việc và đối tượng bạn muốn thêm được lưu trữ trên trang SharePoint, ổ đĩa mạng dùng chung hoặc vị trí và vị trí của tệp sẽ không thay đổi. Điều này rất hữu ích nếu đối tượng được liên kết thay đổi vì liên kết luôn mở phiên bản mới nhất của tài liệu.

Ghi chú: Nếu file liên kết bị di chuyển, liên kết sẽ không hoạt động.

Tạo đối tượng trong Excel

Bạn có thể tạo một đối tượng mới dựa trên một chương trình khác mà không cần rời khỏi cuốn sách. Ví dụ: nếu bạn muốn thêm chi tiết hơn vào biểu đồ hoặc bảng, bạn có thể tạo tài liệu được nhúng, chẳng hạn như tệp Word hoặc PowerPoint trong Excel. Bạn có thể thiết lập hiển thị đối tượng ở bên phải trong bảng tính hoặc thêm biểu tượng mở file.


Liên kết hoặc nhúng nội dung từ một chương trình khác bằng OLE

Bạn có thể liên kết hoặc nhúng nội dung (toàn bộ hoặc một phần) từ một chương trình khác.

Nhúng nội dung từ một chương trình khác

Liên kết hoặc nhúng một phần nội dung từ chương trình khác

Thay đổi cách hiển thị đối tượng OLE

    Một đối tượng Loại đối tượng(Ví dụ, Tài liệu đối tượng) và chọn lệnh Chuyển thành.

    • Để hiển thị nội dung của một đối tượng, hãy bỏ chọn hộp kiểm Là một biểu tượng.

      Để hiển thị biểu tượng, hãy chọn hộp kiểm hiển thị dưới dạng biểu tượng. Bạn có thể thay đổi biểu tượng hoặc nhãn mặc định nếu cần. Để thực hiện việc này, hãy nhấp vào Thay đổi biểu tượng và nhấp vào biểu tượng bạn muốn từ danh sách biểu tượng hoặc trong lĩnh vực này tiêu đề nhập một nhãn.

Kiểm soát cập nhật trong các đối tượng được liên kết

Khi thiết lập liên kết với các chương trình khác, việc cập nhật có thể được thực hiện theo một trong các cách sau: tự động khi mở tệp đích, theo cách thủ công nếu bạn muốn xem dữ liệu trước đó trước khi cập nhật từ tệp nguồn hoặc sử dụng yêu cầu cập nhật, bất kể liệu phương thức cập nhật có được bật hay không (tự động hoặc thủ công).

Cài đặt bản cập nhật thủ công liên quan đến chương trình khác

Thiết lập cập nhật liên lạc tự động với chương trình khác

Sự cố: Không thể cập nhật liên kết tự động trên trang tính

Tham số Tự động trong Excel nó bị ghi đè bởi tham số Cập nhật liên kết đến các tài liệu khác.

Để đảm bảo các liên kết đối tượng OLE tự động được cập nhật tự động, hãy làm như sau:

Cập nhật ngay lập tức kết nối với chương trình

Thay đổi nội dung từ chương trình OLE

Trong Excel, bạn có thể chỉnh sửa nội dung được liên kết hoặc nhúng từ một chương trình khác.

Chỉnh sửa đối tượng được liên kết trong chương trình nguồn

Chỉnh sửa đối tượng nhúng trong chương trình nguồn

    Bấm đúp vào đối tượng được nhúng để mở nó.

    Thực hiện những thay đổi cần thiết.

    Nếu bạn thay đổi một đối tượng trong khi chương trình đang mở, hãy nhấp vào bên ngoài đối tượng để quay lại tệp đích.

    Nếu bạn đang thay đổi một đối tượng trong chương trình nguồn, hãy mở trong một cửa sổ riêng, thoát khỏi chương trình nguồn để trở về tệp đích.

Ghi chú: Bấm đúp vào một số đối tượng được nhúng, chẳng hạn như clip video và âm thanh, sẽ phát chúng thay vì mở chúng. Để chỉnh sửa đối tượng được nhúng như vậy, hãy nhấp chuột phải vào biểu tượng hoặc đối tượng, di chuột qua phần tử đó Một đối tượng Loại đối tượng(Ví dụ, Đối tượng Clip phương tiện) rồi chọn lệnh Thay đổi.

Chỉnh sửa đối tượng được nhúng trong một chương trình không phải là nguồn

    Chọn đối tượng nhúng mà bạn muốn thay đổi.

    Nhấp chuột phải vào biểu tượng hoặc đối tượng, di chuột qua phần tử Một đối tượng Loại đối tượng(Ví dụ, Tài liệu đối tượng) và chọn lệnh Chuyển thành.

    Thực hiện một trong các hành động sau.

    • Để chuyển đổi đối tượng được nhúng sang loại đã chọn trong danh sách, hãy chọn hộp kiểm chuyển đổi thành.

      Để mở một đối tượng được nhúng theo định dạng đã chọn trong danh sách mà không thay đổi loại đối tượng được nhúng, hãy chọn hộp kiểm kích hoạt như thế nào.

Chọn đối tượng OLE bằng bàn phím

    Nhấn CTRL+G để hiển thị hộp thoại Chuyển tiếp.

    Nhấn vào nút Lựa chọn, chọn một tùy chọn các đối tượng và nhấn nút ĐƯỢC RỒI.

    Nhấn phím Tab liên tục cho đến khi mục bạn muốn được tô sáng.

    Nhấn SHIFT+F10.

    Di chuột qua một phần tử Một đối tượng hoặc Sơ đồ đối tượng và chọn một đội Thay đổi.

Sự cố: Khi tôi bấm đúp vào đối tượng được liên kết hoặc nhúng, thông báo "Không thể chỉnh sửa" sẽ xuất hiện

Thông báo này xuất hiện khi không thể mở được tệp nguồn hoặc chương trình.

Hãy chắc chắn rằng chương trình gốc có sẵn. Nếu chương trình gốc chưa được cài đặt trên máy tính của bạn, hãy chuyển đổi đối tượng sang định dạng tệp của chương trình trên máy tính của bạn.

Hãy chắc chắn rằng bạn có đủ bộ nhớ.Đảm bảo máy tính của bạn có đủ bộ nhớ để chạy chương trình gốc. Nếu cần, hãy đóng các chương trình khác để giải phóng bộ nhớ.

Đóng tất cả các hộp thoại. Nếu chương trình gốc đang chạy, hãy đảm bảo không có hộp thoại nào đang mở. Chuyển sang chương trình gốc và đóng mọi hộp thoại đang mở.

Đóng tập tin nguồn. Nếu tệp nguồn là một đối tượng được liên kết, hãy đảm bảo rằng nó không được người dùng khác mở.

Đảm bảo tên tệp gốc không thay đổi. Nếu tệp nguồn mà bạn muốn thay đổi là một đối tượng được liên kết, hãy đảm bảo rằng nó có cùng tên như khi bạn tạo liên kết và nó chưa bị di chuyển. Để tìm ra tên của tệp nguồn, hãy chọn đối tượng được liên kết, sau đó trên tab Dữ liệu trong nhóm Kết nối chọn đội Thay đổi kết nối. Nếu tệp nguồn đã được đổi tên hoặc di chuyển, hãy sử dụng nút Thay đổi nguồn trong hộp thoại Thay đổi kết nốiđể tìm tập tin gốc và khôi phục kết nối.

thông tin thêm

Bạn luôn có thể đặt câu hỏi từ Cộng đồng kỹ thuật Excel, yêu cầu trợ giúp trong cộng đồng Câu trả lời hoặc đề xuất tính năng hoặc cải tiến mới cho trang web

Công nghệ Ole cho phép bạn nhập các đối tượng từ các ứng dụng khác trong khi vẫn duy trì kết nối. Hơn nữa, nếu bạn chèn hình ảnh từ một ứng dụng như Word hoặc biểu đồ từ Excel, nó sẽ được lưu trong tệp dưới dạng đối tượng được nhúng, tức là. Khi chuyển một bản vẽ, bạn không cần phải lưu trữ nó cùng với bản vẽ như điều cần làm khi sử dụng các liên kết ngoài trong AutoCAD.

Trên tab Insert có lệnh AutoCAD Ole Object.

Sau khi kích hoạt lệnh, hộp thoại “Chèn đối tượng” xuất hiện.

Tại đây bạn có thể tạo một tập tin mới. Trong trường hợp này, bạn nên chỉ định ứng dụng (Photoshop, Microsoft Excel, Word, Power Point, v.v.) mà bạn sẽ làm việc và sau đó, đặt đối tượng của bạn vào AutoCAD hoặc ngay lập tức hoạt động dựa trên tệp hiện có. Trong thực tế, tùy chọn thứ hai được sử dụng thường xuyên hơn nhiều. Chúng ta hãy xem xét nó chi tiết hơn.

Trong hộp thoại "Chèn đối tượng", chọn hộp kiểm "Tạo từ tệp", sau đó nhấp vào nút "Duyệt" để chọn tệp thích hợp. Sau các bước này, đường dẫn đến tài liệu của bạn sẽ được ghi.

Có hai tùy chọn chèn:

1) Độc lập – ​​sau khi chèn một đối tượng, nó được lưu trữ “cố định” trong AutoCAD. Và khi bạn thay đổi tệp nguồn, không có thay đổi nào xảy ra trong bản vẽ của bạn.

2) Liên kết các tệp - trong trường hợp này, vị trí của chúng trên máy tính sẽ không thay đổi. Nếu đường dẫn thay đổi, kết nối sẽ bị mất. Vì vậy, tốt nhất bạn nên lưu trữ các file này trong một thư mục. Để liên kết các tệp AutoCAD, hãy chọn hộp kiểm “Liên kết” trong hộp thoại “Chèn đối tượng”(Hình 3).

Cơm. 3 – Làm việc với đối tượng AutoCAD ole dựa trên tệp hiện có.

Sau khi nhấn OK, đối tượng ole của bạn sẽ được chèn vào không gian làm việc của AutoCAD. Bây giờ bạn có thể làm việc với nó như với các nguyên hàm AutoCAD thông thường, chẳng hạn như sử dụng các lệnh chỉnh sửa.

Cơm. 4 – Đối tượng AutoCAD Ole ở dạng hình ảnh từ Word.

Nếu bạn nhấp đúp vào một đối tượng ole như vậy, ứng dụng mà nó được tạo (hoặc lưu trữ) ban đầu sẽ mở ra. Trong ví dụ này, một hình ảnh thông thường từ Word đã được chèn vào.

Cơm. 5 – Có phản hồi cho phép bạn mở ứng dụng gốc (trong trường hợp này là Word).

Triển khai Ole trong AutoCAD thông qua clipboard.

Ole AutoCAD: bí mật và thủ thuật.

Khóa học này sử dụng các ví dụ thực tế để kiểm tra cách làm việc với các đối tượng AutoCoad Ole. Định dạng video nói về:

Cài đặt chất lượng in cho các đối tượng ole;

Cách loại bỏ khung đóng khung các đối tượng này theo mặc định;

Biến hệ thống khi làm việc với ole AutoCAD;

Đảo ngược quá trình chèn các đối tượng ole từ AutoCAD vào các ứng dụng của bên thứ ba.

Chà, như bạn có thể thấy, các đối tượng ole trong AutoCAD là một công nghệ rất hữu ích! Và quan trọng nhất, sử dụng nguyên tắc này cho phép bạn trả lời câu hỏi: "Làm cách nào để chèn ảnh vào AutoCAD mà không cần liên kết?" Giờ đây, bạn có thể nhúng logo của công ty mình vào bản vẽ hoặc nền dự án một cách an toàn mà không sợ người dùng khác sẽ không hiển thị các đối tượng đồ họa này.

Công nghệ OLE

OLE- công nghệ (Liên kết và nhúng đối tượng– liên kết và nhúng đối tượng) cho phép bạn tạo các tài liệu phức tạp chứa các loại đối tượng khác nhau được tạo bởi các ứng dụng khác nhau. Vì vậy, bạn có thể chèn bảng Excel, sơ đồ giải thích văn bản hoặc công thức toán học vào tài liệu văn bản trong trình soạn thảo Word; đối với người dùng, nó sẽ vẫn là một tài liệu duy nhất. Ứng dụng chịu trách nhiệm về tài liệu tổng hợp thường được gọi là vùng chứa. Nó có cấu trúc phức tạp vì nó có thể hoạt động với các vật thể “ngoài hành tinh”. Ứng dụng tạo ra đối tượng được gọi là máy chủ.

Các thùng chứa và máy chủ có thể hỗ trợ hai chế độ tương tác:

    nhúng (thực hiện) các đối tượng. Chế độ này có nghĩa là dữ liệu đối tượng sẽ được lưu trữ cùng với tài liệu chính (ví dụ: bảng Excel nhúng sẽ được lưu dưới dạng tệp .doc trong trình soạn thảo Word).

    liên kết các đối tượng. Tài liệu chính chỉ lưu trữ tham chiếu đến đối tượng có dữ liệu nằm trong tài liệu khác.

Khi nhúng, khối lượng tài liệu lưu trữ tăng lên, tuy nhiên, chúng dễ di chuyển hơn, trong khi khi liên kết, bạn phải nhớ rằng việc thay đổi vị trí của tệp có thể dẫn đến liên kết sai.

Để chỉnh sửa dữ liệu liên quan, một cửa sổ riêng sẽ mở ra trong ứng dụng mà dữ liệu này được tạo, tức là. máy chủ. Khi triển khai đối tượng, bạn cũng có thể chạy máy chủ trong một cửa sổ riêng nhưng bạn cũng có thể chỉnh sửa dữ liệu “tại chỗ”, tức là. trong cửa sổ vùng chứa, nếu nó cho phép. Trong trường hợp này, vùng chứa phải có một menu và máy chủ “tại chỗ” đã khởi động sẽ bổ sung cho nó các lệnh riêng.

Thành phần vùng chứa OLE

Trên trang Hệ thống của bảng thành phần trong Borland Builder C++ có một thành phần đặc biệt được thiết kế để nhúng và liên kết các đối tượng từ các ứng dụng khác - OLEContainer.

Các tính chất cơ bản

Tài sản Tình trạng cho phép bạn xác định trạng thái của một đối tượng và máy chủ của nó. Ý nghĩa của nó:

    osEmpty—vùng chứa không chứa đối tượng;

    osLoaded – đối tượng trong vùng chứa, máy chủ không chạy;

    osRunning – máy chủ đang chạy;

    osOpen – OLE – đối tượng được mở trong một cửa sổ máy chủ riêng biệt;

    osInPlaceActive – đối tượng được kích hoạt “tại chỗ”, nhưng menu vẫn chưa được thay đổi. Đây là trạng thái trung gian của đối tượng trước khi máy chủ được tải đầy đủ.

    Đối tượng osUIActive được kích hoạt "tại chỗ", menu được sửa đổi.

Đoạn mã sau cho phép bạn xác định tên của đối tượng được tải vào vùng chứa (thuộc tính AnsiString OleLớpTên), cách làm việc với một đối tượng ( Đã liên kết= true – liên kết, nếu không – nhúng) và cũng lấy tên của tài liệu được liên kết:

if (OleContainer1 -> Trạng thái != osEmpty)

Nhãn2 -> Chú thích = OleContainer1 -> OleClassName;

// Trạng thái vùng chứa – một số nguyên bắt đầu từ 0 (osEmpty)

Nhãn6 -> Chú thích = OleContainer1 -> Trạng thái;

if (OleContainer1 -> Được liên kết)

Nhãn4 -> Chú thích = OleContainer1 -> SourceDoc;

thuộc tính bool Cho phépTại chỗ xác định khả năng chỉnh sửa một đối tượng được nhúng “tại chỗ”. Nếu AllowInPlace = true và Iconic = false (thuộc tính Iconic xác định xem đối tượng có nên được biểu diễn dưới dạng biểu tượng hay không), thì “InPlace” – được phép chỉnh sửa. Khi AllowInPlace = false, máy chủ sẽ mở trong một cửa sổ riêng.

Tài sản Tự động kích hoạt có ba giá trị có thể: aaManual, aaGetFocus, aaDoubleClick và xác định cách kích hoạt đối tượng được tải vào vùng chứa.

Tự động kích hoạt mặc định = aaDoubleClick, nghĩa là đối tượng sẽ hoạt động khi được bấm đúp. Nghĩa aaGetFocus xác định kích hoạt khi nhận tiêu điểm đầu vào. Khi Tự động Kích hoạt = aaHướng dẫn sử dụng Lập trình viên chịu trách nhiệm kích hoạt đối tượng. Trong trường hợp này, bạn có thể sử dụng phương thức DoVerb của thành phần vùng chứa, phương thức này chịu trách nhiệm truyền lệnh từ vùng chứa đến máy chủ. Ví dụ: bạn có thể sử dụng toán tử sau:

OleContainer1->DoVerb(ovShow); // Hiển thị đối tượng

Ngoài việc gửi lệnh đến máy chủ, các phương thức vùng chứa còn cung cấp khả năng tạo, tải và hủy các đối tượng. Hãy chuyển sang xem xét chúng.

Tạo và lưu một đối tượng mới (nhúng)

Có thể tạo một đối tượng mới bằng hộp thoại đặc biệt ChènSự vật(chèn đối tượng) hoặc gọi phương thức Tạo đối tượng. Trong trường hợp đầu tiên, người dùng chọn lớp đối tượng từ danh sách hệ thống gồm các đối tượng có thể và trong trường hợp thứ hai, một đối tượng cụ thể được tạo theo chương trình.

Để sử dụng hộp thoại, bạn có thể sử dụng đoạn mã sau, chẳng hạn như trong lệnh menu “mới”:

AnsiString File_Name; // biến được khai báo toàn cục hoặc trong lớp biểu mẫu

if (OleContainer1->InsertObjectDialog())

( File_Name = "";

OleContainer1->DoVerb(ovShow);

Trong hộp thoại xuất hiện, bạn cần đặt giá trị của nút RadioButton thành “Tạo mới”, chọn loại đối tượng cần thiết từ danh sách và nhấp vào “OK”.

Một đối tượng có thể được tạo theo chương trình như thế này (ví dụ: các toán tử có thể được chèn vào các mục menu tương ứng):

    bảng tính Excel

OleContainer1->CreateObject("Excel.sheet",false);

    Tài liệu văn bản

OleContainer1->CreateObject("Word.Document",false);

Nếu bạn cần tạo một đối tượng có tên loại không xác định, thì bạn cần tham khảo tài liệu tương ứng cho máy chủ hoặc viết chương trình thử nghiệm tải đối tượng bằng phương thức OleContainer->InsertObjectDialog() và sử dụng thuộc tính OleContainer -> OleClassName để xác định tên của nó.

Khi tạo một đối tượng mới, tính năng tiêm được sử dụng (vì cần có một tệp để liên kết). Trong trường hợp này, chương trình container chịu trách nhiệm lưu trữ dữ liệu đối tượng. Bạn có thể lưu dữ liệu vào một tập tin bằng phương pháp Lưu vào tập tin (<имя файла>), ví dụ: trong mục menu “Tệp - Lưu…” bạn có thể sử dụng mã sau:

void __fastcall TForm1::FSaveClick(TObject *Sender)

( nếu (Tên_tệp=="")

nếu (SaveDialog1->Execute())

File_Name = SaveDialog1->Tên tệp;

OleContainer1->SaveToFile(ChangeFileExt(File_Name,"".ole"));

Trong ví dụ này, phần mở rộng tệp .ole chỉ ra rằng đối tượng sẽ được lưu ở định dạng đặc biệt khác với định dạng máy chủ. Một ứng dụng máy chủ tách biệt khỏi vùng chứa sẽ không thể đọc được dữ liệu này.

Chức năng Thay đổiFileExtđã được sử dụng trong ví dụ để thay thế phần mở rộng tập tin. Khi thực thi các lệnh lưu và truy xuất dữ liệu từ một tệp, bạn có thể cần các hàm khác để xử lý tên tệp:

    Thay đổiFileExt(const AnsiString FileName, const AnsiString Extension) – buộc thay đổi tên tệp FileName, thay thế phần mở rộng bằng Extension;

    Hàm AnsiString Trích XuấtFileExt(AnsiString FileName) trả về phần mở rộng của tệp và do đó cho phép bạn kiểm tra loại của nó;

    AnsiString Trích xuất tên tệp(AnsiString FileName) trả về tên tệp được trích xuất từ ​​chuỗi FileName, tức là. sau dấu gạch chéo ngược hoặc dấu hai chấm cuối cùng;

    AnsiString Trích xuất đường dẫn tệp(AnsiString FileName)Truy xuất đường dẫn tệp, bao gồm dấu gạch chéo hoặc dấu hai chấm cuối cùng;

    AnsiString Trích xuấtFileDrive(AnsiString FileName) trích xuất tệp đĩa bằng dấu hai chấm (ví dụ: "D:").

Phương pháp chứa Tải từ tập tin(<имя файла>) cho phép bạn tải một đối tượng đã nhớ vào vùng chứa:

void __fastcall TForm1::FOpenClick(TObject *Sender)

nếu (OpenDialog1->Execute())

if (ExtractFileExt(OpenDialog1->FileName)!= ".ole")

File_Name = OpenDialog1->Tên tệp;

OleContainer1->LoadFromFile(File_Name);

OleContainer1->DoVerb(ovShow);

Tạo một đối tượng từ một tập tin (nhúng)

Để tạo một đối tượng từ một tập tin hiện có, bạn có thể sử dụng cùng một cửa sổ ChènSự vật, như trong trường hợp tạo một đối tượng mới. Trong trường hợp nhúng, người dùng đặt giá trị của nút RadioButton thành “Tạo từ tệp” và để tìm kiếm tệp, hãy nhấp vào nút “Duyệt…”.

Một cách lập trình để tạo một đối tượng từ một tệp được cung cấp theo phương thức: OleContainer->CreateObjectFromFile(AnsiString<имя файла>,boolIconic).

Các tham số của phương thức xác định tên của tệp nguồn và chế độ hiển thị của đối tượng (Iconic=true – đối tượng ở dạng biểu tượng). Mã này có thể được chèn vào mục menu tương ứng:

void __fastcall TForm1::FFileClick(TObject *Sender)

nếu (OpenDialog1->Execute())

OleContainer1->CreateObjectFromFile(OpenDialog1->FileName,false);

OleContainer1->Sơn lại();

Phương pháp OleContainer->Sơn lại() làm cho cửa sổ vùng chứa được vẽ lại và do đó dữ liệu đối tượng xuất hiện trên màn hình.

Tạo một đối tượng được liên kết

Cũng giống như việc nhúng, người dùng hoặc lập trình viên có thể tạo một đối tượng liên quan.

Đối với người dùng trong cửa sổ Chèn đối tượng bạn nên làm theo các bước chọn tệp được liệt kê ở trên và chọn thêm hộp kiểm “Giao tiếp”.

Người lập trình phải sử dụng phương thức: OleContainer->TạoLinkToFile(AnsiString<имя файла>, bool mang tính biểu tượng).

Vì khi liên kết một đối tượng chỉ có thể chỉnh sửa trong một cửa sổ riêng nên người dùng có thể truy cập menu máy chủ để lưu đối tượng.

Làm việc với máy chủ

Vì chỉ chương trình đã tạo đối tượng (máy chủ) mới có thể hoạt động với dữ liệu đối tượng nên vùng chứa có thể cần kiến ​​thức về các hành động có thể có trên đối tượng. Phương pháp DoVerb(int Verb) yêu cầu thực thi một trong các lệnh và toàn bộ danh sách các hành động có thể có đều chứa thuộc tính Đối tượngĐộng từ thành phần chứa. Bạn chỉ có thể lấy danh sách này sau khi tải đối tượng vào vùng chứa và theo lẽ tự nhiên, mỗi máy chủ (và do đó, đối tượng) có danh sách lệnh riêng.

Hằng số ovShow là một ví dụ về lệnh OLE dành riêng. Việc sử dụng phương thức DoVerb với tham số movShow, đã được thảo luận ở một trong các phần trước, sẽ dẫn đến việc mở máy chủ ngay lập tức.

Đoạn mã sau hiển thị danh sách các lệnh có thể có cho một đối tượng trong thành phần ListBox (các lệnh được đánh số từ 0) và yêu cầu thực thi lệnh thứ hai trong danh sách:

ListBox1->Items = OleContainer1->ObjectVerbs;

OleContainer1->DoVerb(1);

Ngoài ra, vùng chứa có thể yêu cầu máy chủ lưu dữ liệu đối tượng dưới dạng tài liệu ở định dạng máy chủ. Với mục đích này phương pháp được sử dụng Lưu dưới dạng tài liệu(<имя файла>). Tài liệu này sau đó có thể được xử lý bởi máy chủ ứng dụng mà không cần sự tham gia của vùng chứa. Điều thú vị là phương pháp này có thể được sử dụng cho cả đối tượng được liên kết và nhúng.

Khi làm việc xong với đối tượng, chương trình có thể giải phóng OleContainer bằng cách gọi phương thức OleContainer->Phá hủyObject() - Phá hủy đối tượng được tải. Phương thức này có thể được gọi trước khi tải một đối tượng mới hoặc trong lệnh menu Thoát tệp.

1. Tạo một ứng dụng mới. Biểu mẫu chính chứa các thành phần sau:

  • Nhiều phần tử Nhãn

Và hai thành phần không trực quan:

Hình ảnh gần đúng của cửa sổ ứng dụng chính được hiển thị trong hình. Một hình ảnh (tệp có phần mở rộng .bmp) được tải vào OleContainer. Trạng thái máy chủ: osRunning.

2. Thêm một thành phần vào biểu mẫu sẽ hiển thị thông tin về đối tượng: “không được tải” / “nhúng” / “ràng buộc”.

3. Menu phải chứa các lệnh sau:

    "Đối tượng" (InsertDialog, đối tượng Excel mới, đối tượng Paint mới, được nhúng từ tệp, được nhúng từ "Tên bản trình bày PowerPoint", được liên kết từ tệp, được liên kết từ "Tên tài liệu Word", Lệnh Chạy);

    “Thuộc tính” (Thuộc tính đối tượng, Lệnh máy chủ);

    “Trợ giúp” (Giới thiệu về chương trình).

Đảm bảo rằng các mục menu chỉ khả dụng tại thời điểm có thể thực hiện các hành động tương ứng. Ví dụ: mục “Đối tượng”| Chỉ có thể truy cập “Lệnh chạy” nếu đối tượng được tải vào OleContainer và danh sách các lệnh máy chủ có sẵn được đặt trong ListBox.

4. Tạo trình xử lý sự kiện tương ứng cho tất cả các lệnh menu.

    "Hồ sơ" | “Tải đối tượng” - đối tượng đã lưu được tải từ tệp ole.

    "Hồ sơ" | “Ngắt kết nối” - ngắt kết nối với đối tượng;

    "Hồ sơ" | “Thoát” - thoát đúng khỏi chương trình (nếu có kết nối với đối tượng, hãy ngắt nó);

    "Đối tượng" | InsertDialog – đối tượng và phương thức tải vào vùng chứa của nó được người dùng chọn trong hộp thoại;

    "Đối tượng" | “Đối tượng Excel” – một đối tượng mới được tạo;

    "Đối tượng" | “Đối tượng sơn” – một đối tượng mới được tạo;

    "Đối tượng" | “Được nhúng từ tệp” – tên tệp do người dùng xác định trong hộp thoại OpenDialog;

    "Đối tượng" | “Được nhúng từ “Tên bản trình bày PowerPoint” - bản trình bày trang chiếu được tạo trước được chèn vào vùng chứa;

    "Đối tượng" | “Được liên kết từ tệp” - tên tệp do người dùng xác định trong hộp thoại OpenDialog;

    "Đối tượng" | “Được liên kết từ “Tên tài liệu Word” - một tài liệu đã tạo trước đó được chèn vào vùng chứa;

    "Đối tượng" | “Thực thi lệnh” - lệnh được người dùng chọn trong ListBox$ sẽ được gửi đến máy chủ để thực thi

    "Thuộc tính" | “Thuộc tính đối tượng” - vùng chứa yêu cầu từ máy chủ tên của đối tượng, trạng thái của máy chủ và tên của tài liệu liên quan, dựa trên thông tin nhận được, kết luận được rút ra: “đối tượng không được tải / nhúng / được liên kết.” Thông tin nhận được được hiển thị trong thành phần Nhãn của cửa sổ ứng dụng chính.

    "Thuộc tính" | “Lệnh máy chủ” - danh sách các lệnh máy chủ được hiển thị trong thành phần ListBox;

    "Trợ giúp" | “Giới thiệu về chương trình…” - một cửa sổ chứa thông tin về ứng dụng và tác giả của nó.

5. Tiến hành thử nghiệm toàn bộ ứng dụng trên nhiều đối tượng và máy chủ khác nhau.