Mình chưa nghiên cứu sâu về lĩnh vực này lắm. Nhưng mình nghĩ mỗi một định dạng đều có một header riêng. Tìm được header của file này, so sánh với cơ sở dữ liệu đã có về những định dạng mà ta đã biết -> tìm được chương trình để đọc file đó.
Ý tưởng : đơn giản là khi một file bị mất hoặc sai đuôi thì làm sao ta có thể biết chính xác đó là file loại gì, tức là ta sẽ dùng chương trình gì để đọc file đó
Hướng đi : viết chương trình có thể nhận biết loại file, và đưa ra các thông tin về file đó (Giả sử là file mp3, thì thông tin về file đó như tên bài hát, tác giả, thể loại, album, ... và tên chương trình thông dụng để đọc file đó)
Mình đang nghiên cứu file mp3
Viết trên VC++(WindowAPI chớ ko phải MFC)
Một số link tham khảo:
http://www.mp3-tech.org
http://www.codeproject.com/audio/MPEGAudioInfo.asp
http://www.id3.org
http://www.dv.co.yu/mpgscript/mpeghdr.htm
Mong các bạn tham gia thảo luận
Đã được chỉnh sửa lần cuối bởi NMG : 12-05-2007 lúc 01:31 AM.
Đừng dại mà quen bọn IT.......................Đừng dại mà yêu bọn IT.......................Đừng dại mà yêu bọn IT
Chúng nó khô khan, lãng mạn gì..............Chúng nó tài năng, mỗi tội kì.................Chúng nó 35 đến lạ kì
Viết thư tán gái thì kinh dị......................Bạn gái chúng đòi đi đăng kí.................Gặp nhau anh í toàn năn nỉ
Chúng viết bằng gì? Ngôn ngữ C.............."Bẻ khóa được rồi đăng kí chi?"..............Em mở mã nguồn cho anh đi
Mình chưa nghiên cứu sâu về lĩnh vực này lắm. Nhưng mình nghĩ mỗi một định dạng đều có một header riêng. Tìm được header của file này, so sánh với cơ sở dữ liệu đã có về những định dạng mà ta đã biết -> tìm được chương trình để đọc file đó.
pEnGwINUS.
thì đúng rồi, nhưng vấn đề là để kết luận một file nào đó chính xác là file gì thì ko đơn giản đâu
ví dụ như các file theo chuẩn MPEG - mp3, mp2: nó ko có header của file, nó chia ra làm cái frame, mỗi frame có phần frame header riêng của nó(điều này có nghĩa là chúng ta có thể dễ dàng dùng một chương trình xử lí file nhị phân - HexEdit chẳng hạn - để cắt file MPEG ra làm nhiều file và có thể nghe được các file này một cách độc lập). Trong frame header có chứa các thông tin như :
MPEG Version 1, 2, 2.5
Layer I, II, III
...(chi tiết về nó có thể xem trong cái link mà mình đưa)
cụ thể là : (chỉ mới nghiên cứu được 2 file này)
mp3 <=> MPEG Version 1, 2 - Layer III
mp2 <=> MPEG Version 1 - Layer II
nhưng thực tế thì trong một file MPEG có chứa các frame với các MPEG Version, Layer và BitRate khác nhau nên "chả biết đường nào mà lần"
Còn đang nghiên cứu thêm, ko biết có ai đã từng làm cái này có thể vào giúp ko
Đã được chỉnh sửa lần cuối bởi NMG : 11-05-2007 lúc 01:35 PM.
Đừng dại mà quen bọn IT.......................Đừng dại mà yêu bọn IT.......................Đừng dại mà yêu bọn IT
Chúng nó khô khan, lãng mạn gì..............Chúng nó tài năng, mỗi tội kì.................Chúng nó 35 đến lạ kì
Viết thư tán gái thì kinh dị......................Bạn gái chúng đòi đi đăng kí.................Gặp nhau anh í toàn năn nỉ
Chúng viết bằng gì? Ngôn ngữ C.............."Bẻ khóa được rồi đăng kí chi?"..............Em mở mã nguồn cho anh đi
project này khó khả thi quá
vả lại cũng không thiết thực, vì nhu cầu đó không nhiều, nghiên cứu để biết thì được, với lại nó còn rộng quá
Đã được chỉnh sửa lần cuối bởi nguyentuan2 : 11-05-2007 lúc 03:24 PM.
Nhận biết một số dạng tệp tin thì phải nghiên cứu thật kĩ về định dạng đó cũng đã mệt lắm rồi. Nếu muốn chương trình có khả năng nhận khá nhiều dạng tệp tin thì có mà... hợp sức cả congdongcviet chưa chắc đã xong nổi.
pEnGwINUS.
Mình cũng biết là khó, một mình làm thì chắc chắn là ko được nên mình mới post lên đây, mỗi người góp một ít.
Mình làm được phần này, mình post lên
Bạn làm được phần khác bạn post lên
Mình nghĩ là sẽ làm được, và cũng ko cần phải vội, chúng ta đâu bị ràng buộc về thời gian đâu
Cái này là tùy thuộc ở mỗi người
Đã được chỉnh sửa lần cuối bởi NMG : 13-05-2007 lúc 08:24 PM.
Đừng dại mà quen bọn IT.......................Đừng dại mà yêu bọn IT.......................Đừng dại mà yêu bọn IT
Chúng nó khô khan, lãng mạn gì..............Chúng nó tài năng, mỗi tội kì.................Chúng nó 35 đến lạ kì
Viết thư tán gái thì kinh dị......................Bạn gái chúng đòi đi đăng kí.................Gặp nhau anh í toàn năn nỉ
Chúng viết bằng gì? Ngôn ngữ C.............."Bẻ khóa được rồi đăng kí chi?"..............Em mở mã nguồn cho anh đi
Trước hết chúng ta phải tìm hiểu cấu trúc của các file đã. Dựa vào header của file mà phân tích nó là loại gì. Ý tưởng của bạn tuyệt lắm. Mình nên thực hiện với những định dạng file phổ biến trước. Như Word, mp3, exe, com, zip, rar ... chẳng hạn.. Hợp sức lại sẽ được thôi.
"too much technology, in too little time. And little by little ... we went insane " (http://www.awarenetwork.org>).
Làm được một số cái rồi đây : PDF, RAR, ZIP, BMP, JPG, PNG
link :
http://www.esnips.com/doc/8d0f0aa0-3...8/FileInfo_exe
http://www.esnips.com/doc/8cbe31b1-5...0/FileInfo_src
mọi người xem rồi cho biết ý kiến
Thanks.
Đừng dại mà quen bọn IT.......................Đừng dại mà yêu bọn IT.......................Đừng dại mà yêu bọn IT
Chúng nó khô khan, lãng mạn gì..............Chúng nó tài năng, mỗi tội kì.................Chúng nó 35 đến lạ kì
Viết thư tán gái thì kinh dị......................Bạn gái chúng đòi đi đăng kí.................Gặp nhau anh í toàn năn nỉ
Chúng viết bằng gì? Ngôn ngữ C.............."Bẻ khóa được rồi đăng kí chi?"..............Em mở mã nguồn cho anh đi
Bạn là Nguyễn Minh Giám à ? Y!M của bạn là gì vậy ?
Mình đã chạy thử chương trình của cậu. Thử nghiệm trên một file .rar và thấy chương trình chạy tốt. Đặc biệt, biểu tượng to phạc của bạn rất hợp với Windows Vista.
Góp ý :
1. Cửa sổ nên có khả năng resize. Nếu không thì mình cứ phải cuộn đi cuộn lại cái danh sách thì mệt lắm
2. Mục đích của người dùng là kiểm tra định dạng thật của file. Vì vậy, sau khi add file thì nên tự động kiểm tra luôn, khỏi cần ấn nút kiểm tra làm chi cho mệt.
3. Nếu kiểm tra rất nhiều file một lúc thì sẽ rất chậm, vì vậy cần có một progress bar.
Rất hy vọng bạn sẽ càng phát triển chương trình của bạn hơn nữa, tương thích với nhiều định dạng file hơn.
ps: Cái này nên được chuyển sang triển lãm.
Đã được chỉnh sửa lần cuối bởi hieubm : 17-05-2007 lúc 09:12 PM.
pEnGwINUS.
Hihi, cho mình hỏi nhỏ file dictionary.ico trong phần source nó chứa cái gì mà lớn thế - mình không hiểu.
Về tính tiện dụng mình chỉ cần để vào file - chuột phải FileInfo -> cung cấp liền thông tin thì hay nữa.
Nếu như một file đó là text, nhưng không định dạng đuôi bạn đã có cách gì nhận biết nó là text chưa?
Winword : D0 CF 11 E0 A1 B1 1A
PE file (portable executable): 4D 5A 90
Đã được chỉnh sửa lần cuối bởi noobvc : 20-05-2007 lúc 01:46 PM.
"too much technology, in too little time. And little by little ... we went insane " (http://www.awarenetwork.org>).