PDA

View Full Version : [Q] đồ họa trong file .exe



namtuocbongtoi
08-11-2002, 19:52
khi đem file .exe sang máy khác thì máy báo không tìm thấy các file đồ họa.Vậy làm thế nào kèm theo nó vào file .exe.Ai biết chỉ giùm với

real_time
09-11-2002, 16:05
à chuyện này cũng thường xảy ra thôi! nhưng cách khắc phục là bạn phải vào lại sourc của chương trình để mặc định gọi các file đồ hoạ ở thư mục hiện thời rồi khi copy đi chỗ nào khác thì copy theo cả những file đồ hoạ này nữa. Còn một cách nữa nhưng cách này mình chưa bao giờ dùng và có lẽ là cũng chỉ nghe loáng thoáng nên không chắc nữa là khi dịch file thì sẽ dịch kèm theo luôn các file đồ hoạ nữa như vậy thì sẽ file exe đó sẽ rất lớn. (nhưng cách này mình ko biết cách làm)

Mach2
09-11-2002, 16:14
Sorry, chỉ biết trong Delphi thôi, trong Pascal tôi không biết cách, nhưng mà chắc chắn là có bởi vì tôi có đọc loáng thoáng đâu đó trong một cuốn sách Pascal nào đó lâu lắm rồi. Hình như cuốn dày dày giá 30000đ á (tôi chỉ nhớ được có cái giá đó à, mua cách đây 7 năm rồi, tiếc đứt ruột!)
Bạn có muốn biết trong Delphi thì tôi chỉ cho.

real_time
10-11-2002, 12:30
march2 sao nho gia ma ko nho ten vay? Nhưng có lẽ là đúng mà mình chưa nghĩ ra để mình tìm lại xem! và lại đến bây giờ chắc là nó sẽ rẻ hơn rồi đó.

Zero
11-11-2002, 14:44
Có hàm để link file đồ hoạ mình cần zô chương trình bắt đầu bằng re.. có cả trong ví dụ và demo của TP bạn về tra trong help xem.
Bạn thử dùng các bộ đồ hoạ khác xem đừng dùng Graph của P nữa vì nó lạc hậu quá rồi và rất chậm nữa.
Đây là một bộ khá được trên TP đó : Grafx 1.4 ở www.crossfire-design.de.

namtuocbongtoi
13-11-2002, 10:51
sao trang web trên không vào được

Mach2
13-11-2002, 17:09
Thanks Zero, Adding resource..., y như trong Delphi. Thế mà tui ko biết, hehe

neverstop
18-12-2003, 10:58
Có thể dùng chương trình Binobj của Pascal để dịch các file *.BGI thành các file *.OBJ rồi kết nối nó với chương trình nguồn. Như thế dù bạn có copy chương trình đi bất cứ chỗ nào hay copy sang máy khác, bạn không phải bận tâm về đường dẫn tới các file *.BGI vì mã của nó đã được kết nối vào file .exe của bạn rồi.

Huynh Phong
18-12-2003, 11:13
Bạn NeverStop chỉ dẫn rất đúng. Tui mạn phép bổ sung thêm:
Dùng {$L Path} để Linker. Vidụ:
Dịch EMS.BGI => EMS.OBJ ta gõ tại dấu nhắc: BinObj EMS.BGI EMS EMS, sau đó, để file EMS.OBJ tại C:\Tp7\Bin\. Thì khi Linker, ta lập đọan:
Procedure XLinker; External; {$L C:\Tp7\Bin\EMS.OBJ}
Chương trình tự động kết nối.

jiSh@n
19-12-2003, 15:39
Nếu muốn xem sách thì kiếm quyển Giáo trình Turbo Pascal tập 2 của Đỗ Ngọc Phương (chắc Mach2 muốn ám chỉ cuốn này).

neverstop
23-12-2003, 19:21
Ê, hình như là tên chương trình con phải giống tên lúc gõ Binobj.
VD của bạn Huynh Phong: nếu bạn gõ BinObj EMS.BGI EMS EMS thì chương trình con trong chương trình của bạn phải có tên là:
Procedure EMS; External; {$L C:\Tp7\Bin\EMS.OBJ}
Tui thử làm với tên khác, nhưng không được, tên chương trình con phải là EMS mới chạy được.
Để tham khảo thêm, bạn nên xem chương trình mẫu có sẵn BGILink của Pascal trong thư mục Examples. Trong đấy có đầy đủ hướng dẫn cụ thể.

Huynh Phong
23-12-2003, 21:11
:D Ờ, đúng như bạn nói đó ! Tui lộ rùi, hì hì...

ITbaby
28-12-2003, 23:16
À ! nếu sau khi Link thư viện vào trong chương trình vào rồi thì có thể dùng chương trình PKLite để nén file EXE đó lại. Tỉ lệ nén khá cao tùy theo chương trình của mình. Có thể nén tới 80% ( Em thử rùi). Đã lắm. File nhỏ xíu mà chạy lên đẹp wé trời luôn.