PDA

View Full Version : [Q] Gom file trong Turbo Pascal 7.0...



michael_huan
06-04-2003, 21:54
Chào các bạn
Không biết bài viết này của tôi có lỗi thời không. Vấn đề của tôi đưa ra như sau: Khi ta lập trình với đồ hoạ trong TP7,có sủ dụng Unit Graph và các file trong thư mục TP7\BGI\*.* trong chương trình. Chương trình đó se chạy bình thường trên máy của chúng ta nếu như chính xác.. Nhưng khi biên dịch thành file .EXE đem sang máy khác, nếu như máy khác không có cài TP7 hoặc khai báo không đúng thì chương trình sẽ không chạy. Bằng cách nào ta có thể " GOM" các file trong thư mục TP7\BGI\*.* và tất cả những Unit tự tạo mà chúng ta dùng trong chương trinh ( Những Unit này do chúng ta tạo ra và chỉ mỗi chúng ta sử dụng được) vào một File .EXE duy nhất. Nói chung là " GOM" tât cả các file cần thiết để hình thành nên một File tự chạy . Người sử dụng chỉ cần nhấn Enter là chạy mà không cần phải khai báo đường dẫn thư mục đồ hoạ, đường dẫn nơi chứa Unit tư tạo.... Chắc các bạn cũng hiểu ý tôi.. ( Điều kiện : File .EXE có dung lượng < 1MB)
Bye

Mach2
06-04-2003, 22:05
Bạn nên dùng resource, đọc help để biết thêm chi tiết nhé.

michael_huan
07-04-2003, 19:52
Cám ơn nhiều.....tôi đang thử , không biết có được không, nhưng dù sao cũng cám ơn bạn..

michael_huan
18-04-2003, 20:56
Mod khoá bài này lại dùm tôi, cám ơn nhiều...

Xì Tin
20-04-2003, 09:38
Hình như you muốn thử tụi tui hả ? Tui xem mấy bài của you lần nào vấn đề chưa giải quyết xong thì you phang cho một câu
"Mod khoá bài này lại dùm tôi, cám ơn nhiều...". you có ý gì chứ, lần nào you đưa ra câu hỏi hình như you biết rồi. Còn câu hỏi của you là chiện nhỏ nhưng để tui trả lời cho you thì còn lâu....

michael_huan
20-04-2003, 15:08
Bài viết được gửi bởi Xì Tin
Hình như you muốn thử tụi tui hả ? Tui xem mấy bài của you lần nào vấn đề chưa giải quyết xong thì you phang cho một câu
"Mod khoá bài này lại dùm tôi, cám ơn nhiều...". you có ý gì chứ, lần nào you đưa ra câu hỏi hình như you biết rồi. Còn câu hỏi của you là chiện nhỏ nhưng để tui trả lời cho you thì còn lâu....

Tôi không phải là một con người không biết trời cao đất rộng, đây chì là ý tưởng của tôi, tại vì lâu quá tôi không thấy ai trả lởi nên tôi mới nhờ MOD khóa bài lại chứ tôi không có ý thử các bạn. Nếu bạn không thích trả lời câu hỏi của tôi thì thôi, vì tât cả Member trên diễn đàn này nếu họ có đọc qua bài này thì nhất định họ sẽ tìm cách trả lời cho tôi. Bởi vì diễn đàn của chúng ta được lập ra để mọi người trao đổi kiến thức với nhau, chứ không phải ÍT KỶ như bạn. Câu nói cuối cùng của bạn theo tôi nghĩ thì bạn không biết gì cả...

Xì Tin
21-04-2003, 10:42
Bài viết được gửi bởi michael_huan
....chứ không phải ÍT KỶ như bạn. Câu nói cuối cùng của bạn theo tôi nghĩ thì bạn không biết gì cả...

Để chứng minh tôi không ÍT KỶ và KHÔNG BIẾT GÌ CẢ như bạn nói thì tôi sẽ trả lời câu hỏi của bạn, mong bạn sẽ hài lòng:

-----------------------------------------------------------------------------------

Để làm như bạn muốn thì trước tiên bạn dùng binobj để tạo file obj của egavga.bgi :
binobj egavga.bgi egavga EGAVGADriverProc

Còn đây là chương trình:

program Link_BGI_In_EXE;

uses Graph;

var Gd, Gm: Integer;

{$L egavga.obj}
procedure EGAVGADriverProc; external;


begin {Main}
if RegisterBGIDriver(@EGAVGADriverProc) < 0 then Halt;
Gd := Detect;
InitGraph(Gd, Gm, '');
SetBkColor(9);
SetColor(6);
SetTextStyle(Gothicfont, HorizDir, 3);
OutTextXY(GetMaxX div 2, GetMaxY div 2, 'Do you understand ?');
Readln;
CloseGraph;
end.

---------------------------------------------------------------------------------

Bây giờ thì bạn có thể chạy nó ở bất cứ đâu mà không cần phải gõ đường dẫn gì gì đó như bạn nói. Bạn thấy thế nào !? :D
Cách này cũng có thể dùng để link các font của Pascal (*.CHR) vào file exe nhưng bạn hãy thay RegisterBGIDriver bằng RegisterBGIFont. Bạn yên tâm, các file *.BGI và *.CHR của Pascal rất nhỏ chỉ từ vài kb đến vài chục kb là cùng.

TDCT
06-05-2003, 00:28
Cool stuff :-)
Tiếc là bây giờ tui chỉ dùng Pascal để viết bài tập về thuật toán thôi, mà hầu hết cũng chuyển sang Borland C rồi...

Xì Tin
06-05-2003, 09:30
Thì C cũng làm tương tư thôi mà.

btkiet
07-05-2003, 09:44
Đồ hoạ Pascal thì hay thiệt nhưng hiện nay không ai lập trình bằng đồ hoạ Pascal hay C++ để làm hoạt hình, games như trước đây nữa, dùng các nnlt trên Windows dễ và đẹp hơn nhiều, lại làm 3d nữa...

michael_huan
09-05-2003, 19:19
Bài viết được gửi bởi btkiet
Đồ hoạ Pascal thì hay thiệt nhưng hiện nay không ai lập trình bằng đồ hoạ Pascal hay C++ để làm hoạt hình, games như trước đây nữa, dùng các nnlt trên Windows dễ và đẹp hơn nhiều, lại làm 3d nữa...


Trong Dos làm cho vui thôi. Bạn có đọc qua cuốn "Đồ hoạ máy tính" của Nguyễn Đức Phúc chưa. Win là một chuyện, Dos là một chuyện. Gom file là một chuyện.

Mach2
09-05-2003, 21:25
Là sao? Mình ko hiểu ý bạn nói gì hết?

michael_huan
12-05-2003, 18:09
Bài viết được gửi bởi Mach2
Là sao? Mình ko hiểu ý bạn nói gì hết?

Đây là chủ đề "Gom file trong...". Chỉ làm việc trong TP và chương trình chạy hoàn toàn trong DOS (pas ---> .EXE). Tôi chỉ đề cập tới đồ hoạ trong Pascal, chứ tôi đâu có nói đến Windows. Đồ hoạ trong Dó và đồ hoạ trong Win là cách xa nhai một trời một vực. Trong Win thì đồ hoạ ai mà chả biết: Vẽ một con rùa rồi tô màu cho nó, ghép nó vào con chó..chyện này rất dễ dàng với các phần mềm như CorelDraw, Photoshop.. Nhưng trong Dos thì lại là một chuyện rất phức tạp.

Mach2
13-05-2003, 16:42
Mình thấy đồ hoạ trong Dos và Window gì đó nếu tiếp cận bằng Pascal thì tương đối giống nhau, các phần mềm dịch đã làm cái bước chuyển đổi ngầm kinh khủng kia đi mất rùi. Với lại gom file bằng RES là chuyện mà phần mềm dịch nào cũng có nên có thể nói là y chang nhau.
Bạn nói về chuyện vẽ hình trong DOS bằng Pascal với bằng PS(!!!) thì lại là chuyện khác. Cái nì thì mình hoàn toàn đồng ý.

michael_huan
14-05-2003, 18:39
****The End****