DELPHI và ứng dụng viết cho excel (1 người xem)

  • Thread starter Thread starter geotech
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

geotech

Thành viên mới
Tham gia
24/6/06
Bài viết
29
Được thích
16
Bài viết này sẽ giới thiệu về Delphi và những ứng dụng viết cho Excel (word, ppt...)
Có lẽ nhiều bạn còn chưa biết đến ngôn ngữ LT DELPHI, đây chính là Object Pascal, tức là pascal hướng đối tượng. Hầu như các bạn đã được nghe hoặc học qua pascal. Object Pascal là ngôn ngữ hướng đối tượng mạnh, kế thừa những ưu điểm của Pascal, chặt chẽ cú pháp, trong sáng. Bạn đã bao giờ nghe Kỹ sư trưởng của Delphi là người thiết kế C# chưa?
Hiện nay có nhiều hãng phát triển ứng dụng cho Excel bằng Delphi và các thư viện lập trình delphi cho excel nữa. Mình sẽ giới thiệu dần dần với các bạn. Mình gửi kèm ứng dụng viết cho excel và word. Các bạn download về cài đặt, chú ý trong quá trình cài đặt tắt các ứng dụng của Office nhé.
 
Redirect console- gọi ứng dụng console

Mình cần gọi một ứng dụng console (.exe trong dos) vào chương trình của mình, ứng dụng console này khi chạy đòi hỏi nhập tên file số liệu, tuỳ chọn in ấn, và file kết quả. Để gọi ứng dụng console từ chương trình của mình lên thì kô vấn đề. Tuy nhiên mình muốn chạy ứng dụng console này ẩn, và truyền tham số cho nó (Thay vì chạy nó rồi nhập file input, nhập tuỳ chọn...), mình vẫn chưa làm được. Nhờ các bạn chỉ giùm
xin cám ơn.

Mình code bằng delphi 6.
 
Upvote 0
Upvote 0
Cám ơn anh Tuân
Mục đích của em là cần chuyển tất cả các input thành tham số dòng lệnh từ file dạng text chứa tham số nhập vào bisect.exe như sau (cụ thể anh xem hình vẽ đi kèm):
Y
0 10 --> Input endpoints A<B
0.001 ->input tolerance
1000 -->Input maximum number of tolerance
2 --->Select output destination 2.têxtfil
output.txt --> input filename output
1 -->Select answer of output 1. Answer only

Sau đó chỉ cần capture output, ở đây là file output.txt
(Chương trình Bisect.exe để giải phương trình bậc 3, chỉ là ví dụ thôi, chứ nếu giải pt bậc 3 code trên delphi khỏe hơn nhiều)

Ngoài ra theo em biết còn cách giả lập user input (mouse, keyboard) để điều khiển ứng dụng trong console nữa, nhưng hiện tại em chưa nghiên cứu cái này.
 

File đính kèm

  • hoi a tuan.jpg
    hoi a tuan.jpg
    24.7 KB · Đọc: 94
Upvote 0
Theo như Peter Johnson- http://www.delphidabbler.com/index
trả lời (nguyên văn):


Officially, PJCOnsoleApp.pas does not work with Delphis earlier than Delphi 7.

The fatal error message is not helpful because it doesn't tell us what's wrong. I have tracked it down to the fact the unit uses DateUtils.

A DateUtils routine is used in

fElapsedTime := Int64Rec(DateUtils.MilliSecondsBetween(StartTime, Now)).Lo;

in the TPJCustomConsoleApp.MonitorProcess method.

If you can find a method to find the number of milliseconds between two ellapsed times then you can replaced that call and it should work.

If you find a solution please send it to me and I'll include it in the program as a conditional compile for Delphi 6.

Dịch theo (bản quyền) vdict.com:
Chính thức, PJCOnsoleApp.pas không làm việc với Delphis sớm hơn Delphi 7.


Trong thông báo lỗi trên không hữu ích bởi vì nó không cho chúng tôi biết những gì sai. Tôi đã theo dõi nó xuống đến thực tế, các đơn vị sử dụng DateUtils.

DateUtils thường được sử dụng trong

fElapsedTime: = Int64Rec (DateUtils.MilliSecondsBetween (startTime, now)).Lo;

trong TPJCustomConsoleApp.MonitorProcess method.

Nếu bạn có thể tìm thấy một phương pháp để tìm số mili giây giữa hai lần ellapsed sau đó bạn có thể thay thế mà gọi và nó sẽ làm việc.

Nếu bạn tìm thấy một giải pháp xin vui lòng gửi cho tôi và tôi sẽ bao gồm nó trong chương trình như là một điều kiện biên soạn cho Delphi 6.

----
Vấn đề này khá khó, bác nào tìm ra phương án, post lên anh em tham khảo với.
 
Upvote 0
Mình download add-in express về toàn đòi key mới dùng đuợc.
Bác nào có keyg@n của pm này thì cho mình xin với.
 
Upvote 0
Em có đọc ở Topic nào đó mà Bác Tuân có cho Link tải Delphi2009 rồi mà quên ở đâu rồi, mong Bác Tuân và Mọi người biêt thì cho em với!!!!
 
Upvote 0
Cách đây khoảng một năm có một website Delphivn.net của Việt Nam, mình cũng hay đăng ví dụ Delphi trên đó nhưng trang đó nay đã mất rồi. Nếu bạn nào muốn tìm hiểu Delphi alo, khi nào chúng ta sẽ trao đổi biết thêm. Delphi là ngôn ngữ mạnh, càn thiệp sâu vào hệ thống. Các sản phẩm mình viết phần lớn là bằng Delphi.
 
Upvote 0
Dạ em nhớ có đọc cũng trên GPE mà bác, gồm có tới 9 hoặc 10 Part gì đó. Mong Bác Cho lại!!!!
 
Upvote 0
Em có tải trên Google Delphi2010 nhưng nó dẫn tới trang nào đó rồi dính Virus tùm lum luôn. Phải Reset lại Windows. Mong Bác Tuân cho link, để em mày mò Delphi.!!!!!!
 
Upvote 0
Delphi lập trình dễ như VB, C++ Builder thì khó hơn. Cái IDE/Compiler này trang bị 1 đống control, chỉ gắp ra xài. :D
 
Upvote 0
Tạm thời mọi người xem trực tiếp hoặc download video clip này nhé!

Giới thiệu về tính năng mới của Delphi 2009
http://video.codegear.com/Tiburon/WhatsNewInTheVCL_English/WhatsNewInTheVCL_English.html
Download

Cách tạo Add-in cho Office bằng add-in-express
http://www.add-in-express.com/add-in-delphi/video.php

http://www.add-in-express.com/add-in-delphi/excel-task-panes.php

Cái này sử dụng sao anh. em chạy nó báo lỗi
" the project cannot be loaded because the required personality Delphi.personality is no Available..."
 
Lần chỉnh sửa cuối:
Upvote 0
Em có làm theo hướng dẫn tạo được cái TaskPnel bằng Add in express Delphi rồi.
Bây giờ em muốn Add các control trên UserForm trong excel thì làm phải sao ah.
Mong các anh hướng dẫn giúp ah
z704721456051_11122061fbcc51ec95bcd17affb0d854.png
 
Upvote 0
Em có làm theo hướng dẫn tạo được cái TaskPnel bằng Add in express Delphi rồi.
Bây giờ em muốn Add các control trên UserForm trong excel thì làm phải sao ah.
Mong các anh hướng dẫn giúp ah
z704721456051_11122061fbcc51ec95bcd17affb0d854.png

Nếu em tạo TaskPane từ trong Delphi với componet Add-in Express thì form em phải dùng Form của Delphi chứ không phải Userform nhé. CÓ thể được nhưng phải lập trình API rất cao cấp.

Nếu muốn lập trình VBA có userform nhúng vào TaskPane thì dùng ControlDorOffice hoặc BSAC do anh viết tại đây:
 
Upvote 0
Em cung có sài cái BSAC của anh rồi (Very Good).
Em đang tính làm cái Task Panel nhỏ để di chuyển qua lại các WorkBook và các Sheet mà không biết trong Delphi làm sao để add vào Treeview, anh có thể hướng dẫn giúp em được không ah
Đại loại giống như thế này
PS: em bi bao lỗi undeclared identifier 'CreateOLEObject' nay là sao vậy anh Tuân
treview.png
 
Lần chỉnh sửa cuối:
Upvote 0
Ví dụ tạo TreeView trong Delphi:
1. Tạo TForm, tạo TTreeView, tên là "TreeView1"
2. Tạo một TButton, tên là "cmdCreateNodes"
Viết code vào trong sụ kiện OnClick của "cmdCreateNodes" như sau:

Mã:
procedure TForm2.cmdCreateNodesClick(Sender: TObject);
var
  Parent, Child1, Child2, Child3, Child: TTreeNode;
begin

  Parent := TreeView1.Items.Add(nil, 'Bố Mẹ');

  Child1 := TreeView1.Items.AddChild(Parent, 'Anh Cả');
  Child := TreeView1.Items.AddChild(Child1, 'Con Anh Cả 1');
  Child := TreeView1.Items.AddChild(Child1, 'Con Anh Cả 2');
  Child := TreeView1.Items.AddChild(Child1, 'Con Anh Cả 3');

  Child2 := TreeView1.Items.AddChild(Parent, 'Anh Hai');
  Child := TreeView1.Items.AddChild(Child2, 'Con Anh Hai 1');
  Child := TreeView1.Items.AddChild(Child2, 'Con Anh Hai 2');
  Child := TreeView1.Items.AddChild(Child2, 'Con Anh Hai 3');

  Child3 := TreeView1.Items.AddChild(Parent, 'Anh Anh Ba');
  Child := TreeView1.Items.AddChild(Child3, 'Con Anh Ba 1');
  Child := TreeView1.Items.AddChild(Child3, 'Con Anh Ba 2');
  Child := TreeView1.Items.AddChild(Child3, 'Con Anh Ba 3');

end;

Khi chạy ta được:
bluesofts.net-treeview-delphi.png
 
Upvote 0
Em bi bao lỗi này là sao anh.

XLApp: OleVariant;
XLApp := CreateOLEObject('Excel.Application');

undeclared identifier 'CreateOLEObject'
 
Upvote 0
Em bi bao lỗi này là sao anh.

XLApp: OleVariant;
XLApp := CreateOLEObject('Excel.Application');

undeclared identifier 'CreateOLEObject'

Em chưa khai báo Unit cho nó. Thử th
Em bi bao lỗi này là sao anh.

XLApp: OleVariant;
XLApp := CreateOLEObject('Excel.Application');

undeclared identifier 'CreateOLEObject'

Bạn chayh Delphi ở chế độ Administrator xem.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom