• Thứ Ba, 16/12/2003 15:18 (GMT+7)

    Trả lời thư


    Trong số này TS. Nguyễn Văn Hiệp giải đáp thắc mắc của các bạn: Chung Chanh Kiet; VCTT Co., Ltd; Bui Duc Y [ptt.ybd@mofa.gov.vn]; Do Hong Phuc [dohongphucag@hotmail.com];     CongThuong [congthuong@hcmpt .vnn.vn]; PiggyQ; Dao Doan Hung;  TranVanTao; VuDung; Peter Lai; Nguyen Khanh Toan; Tuyen Le; Lan Anh; Le Duc Hung; Nguyen Manh Cuong; Ha Thanh Long; Thai Minh Hoang Ha; Nguyen Tan Thang [thangnt@ yahoo.com]; Thuy Tien; Huu Nghi Alexandro; vi tinh C&C; Tran Nga Anh; Tuan Nguyen Thanh [nthtuan@yahoo.com]; Huyen Tran Le [huyentle@hotmail.com]; Cao Xuan Phuoc; Duy Truong [duy.truong@holcim.com].

     

    Multimedia
    Hỏi: Xin hỏi file có đuôi là *.asf khác với các file nhạc khác như thế nào? Nếu được xin chỉ cách chuyển CD nhạc sang *.asf.
    Đáp: File *.asf (Active Streaming Format) là dạng file miêu tả thông tin multimedia của hãng Microsoft (âm thanh, hình tĩnh, hình động, văn bản,...) rất thích hợp cho việc truyền/nhận dữ liệu multimedia giữa các máy khác nhau thông qua mạng. Mỗi dạng file có cấu trúc cụ thể rất khác nhau, muốn biết cụ thể cấu trúc của 1 dạng file nào đó, bạn cần đọc tài liệu đặc tả dạng file đó. Microsoft đã cung cấp cho người dùng nhiều tiện ích khác nhau để giúp chuyển đổi thông tin multimedia từ nhiều nguồn khác nhau về *.asf. Thí dụ: nếu bạn có 1 đĩa CD nhạc (audio), bạn có thể dùng tiện ích nào đó (WinDAC32, GoldWave,...) để copy các track nhạc trên CD vào các file *.wav trên đĩa cứng rồi dùng tiện ích WaveToASF để chuyển file *.wav về dạng *.asf.
    Bạn có thể tìm tiện ích WaveToASF cùng các tiện ích chuyển đổi format khác về dạng *.asf trong CD chứa phần mềm NetShow Server.

    Hỏi:
    Xin hỏi các tập tin có phần mở rộng là *.cct và *.x32 được viết bằng phần mềm nào, cấu trúc ra sao?
    Đáp: Mỗi phần mềm thường xử lý nhiều dữ liệu, các dữ liệu này được cất lên 1 hay nhiều file và có format đa dạng. Câu hỏi 1 phần mềm có bao nhiêu dạng file dữ liệu, mỗi dạng file có cấu trúc cụ thể như thế nào, qui trình tạo/hiệu chỉnh/tham khảo nội dung các file dữ liệu như thế nào,... chỉ có thể được trả lời chính xác và cụ thể bởi các thành viên trong nhóm phát triển phần mềm đó, họ có thể phổ biến rộng rãi format các file dữ liệu hay giấu kín vì 1 lý do nào đó. Thông tin ở phần nới rộng của tên file dữ liệu không thể xác định chính xác cấu trúc file dữ liệu đó. Lưu ý rằng trong những trường hợp cấu trúc file dữ liệu không quá phức tạp và nếu có chút ít kinh nghiệm, bạn có thể dùng tiện ích hiển thị nội dung file ở dạng nhị phân rồi quan sát, suy đoán thì có thể sẽ tìm ra cấu trúc của file dữ liệu đó.

     
    Hỏi: Tôi dùng Yamaha Synth XG (Yamaha SXG) và sử dụng phầm mềm Yamaha XG Player để nghe các file MIDI. Xin hỏi làm thế nào để chuyển file XG MIDI sang *.wav mà vẫn giữ nguyên chất lượng âm thanh? phần mềm chuyển đổi nào tốt nhất? Hoặc hướng dẫn cách ghi âm lại file MIDI dưới dạng .wav.
    Đáp: File nhạc dạng MIDI (*.mid) chỉ chứa thông tin ngữ nghĩa của các nốt nhạc và loại nhạc cụ để chơi lại chúng chứ không hề chứa âm thanh cụ thể của bài nhạc. Tùy thuộc vào driver tổng hợp âm và khả năng của sound card mà chất lượng được tạo ra sẽ tốt hay không tốt. Ûu điểm của dạng file MIDI là rất nhỏ gọn. Việc đổi sang dạng *.wav là không cần thiết trừ những trường hợp rất đặc biệt. Trình Midi2Wav là 1 trong nhiều tiện ích chuyển đổi thông tin từ MIDI sang *.wav, nhưng do tiện ích này dùng giải thuật đơn giản và chưa dùng các khả năng cụ thể của sound card nào nên chất lượng chưa cao. Nếu muốn chuyển file *.mid sang dạng *.wav có chất lượng cao, bạn nên đem file *.mid sang máy có sound card chất lượng cao, chơi file *.mid rồi “record” lại kết quả thành dạng *.wav. Lưu ý để ghi lại được kết quả, bạn phải dùng dây nối ngõ tín hiệu ra (LineOut/Speaker) về ngõ tín hiệu vào (LineIn/Microphone) của sound card, đồng thời phải thiết lập chính xác ngõ thu (vào cửa sổ Volume Controls của sound card).
    Lưu ý 1 lần nữa là không có khái niệm “chất lượng âm thanh gốc” của file *.mid, tùy khả năng tổng hợp âm của sound card cụ thể mà chất lượng âm thanh được tạo ra từ file *.mid sẽ như thế nào.

     

    Ứng dụng văn phòng
    Hỏi: Xin hướng dẫn cụ thể cách làm cho file Word không bị đổi khi đem in và hiệu chỉnh ở máy khác (2 máy in khác nhau và khác loại: laser và in kim).
    Đáp: Ngoài dữ liệu riêng của bạn, trong file Word còn chứa nhiều thông tin về các tài nguyên được dùng trong file, thí dụ font chữ, tên máy in được dùng để in ấn, file ảnh, file âm thanh được nhúng vào file Word,... Mặc định thì Word chỉ chứa tham khảo đến tài nguyên chứ không chứa tài nguyên trực tiếp trong file Word, đo dó khi sang máy khác, các tài nguyên được tham khảo có thể không tồn tại và file Word sẽ bị hiển thị sai. Thí dụ bạn dùng font VNI-Times trong văn bản, nhưng khi sang máy khác lại không có VNI-Times (hay có nhưng không tương thích) thì file Word sẽ bị hiển thị sai. Để khắc phục tình trạng này, bạn có thể khai báo chế độ “Embed TrueType font” khi save file Word trên máy ở nhà (vào menu Tools.Options.Save, chọn checkbox “Embed TrueType font”). Riêng về máy in, do Word là ứng dụng WYSIWYG khá hoàn hảo, nên ngay trong lúc dàn dữ liệu trên màn hình (chưa in) Word cũng đã dùng thông tin của máy in đang được chọn để dàn dữ liệu hiển thị trên màn hình sao cho khi in ra sẽ giống hệt cách bố trí trên màn hình. Chính vì lý do này, bạn cần biết trước máy in mà bạn sẽ in văn bản (ngay cả máy in này nằm ở ngoài cửa hàng dịch vụ), cài driver máy in này vào máy của mình, rồi khai báo ngay từ đầu trong văn bản Word để nó dùng thông tin máy in này (vào menu File.Print và chọn tên máy in trong danh sách). Trong trường hợp bất đắt dĩ cần thay đổi máy in thì bạn phải duyệt lại văn bản để phát hiện những thay đổi về hình thức và hiệu chỉnh lại nếu cần thiết trước khi in thật sự ra máy in mới.

     
    Hỏi: Có thể chạy chương trình như Office 2000 trên 2 HĐH khác nhau cài trên cùng 1 máy không?
    Đáp: Về nguyên tắc là được, nhưng hầu hết các phần mềm Windows đều cần các thông số làm việc và 1 số file thư viện *.dll. Các thông số làm việc của chương trình thường được chứa trong registry của Windows, các file *.dll chủ yếu được chứa trong thư mục cài đặt phần mềm nhưng cũng có thể được cài vào thư mục của windows (c:\windows\system). Với các đặc tính như trên, tốt nhất bạn nên cài ứng dụng riêng cho từng HĐH để tránh phiền hà, nhất là hiện nay đĩa cứng có dung lượng khá lớn.

    Hỏi: Tôi có tải về 1 font từ site fontface.com, khi dùng trong WordXP thì bình thường nhưng khi dùng trong frontpage thì font hiển thị không giống như ở Word.
    Đáp: Bạn không nói rõ font chữ download được là dạng font gì (bitmap, Postscript, TrueType, OpenType,...) nên chúng tôi khó lòng trả lời cụ thể. Cách kiểm tra dạng font chính xác nhất là dùng trình quản lý font đó để xem dạng chữ, thí dụ nếu font của bạn là font TrueType, OpenType thì bạn hãy vào Control Panel.Fonts, ấn kép chuột vào tên font chữ cần xem dạng chữ.
    Sau đó, nếu thấy 1 ứng dụng nào đó không hiển thị đúng dạng chữ của font đó so với lúc bạn khảo sát trong trình quản lý font thì có thể kết luận rằng ứng dụng này đã thay thế font chữ cần dùng thành font khác. Mỗi ứng dụng có cơ chế thay thế font khác nhau, bạn cần đọc tài liệu sử dụng của ứng dụng đó để biết chi tiết cơ chế thay thế font của nó.

     
    Hỏi: Theo PCWorld 6/2002, tr.111 về font tiếng Việt, tôi đã vào Website hp.com và tải về hai file lj1182en và lj1110en, nhưng khi cài đặt xong thì máy vẫn không in được font UNICODE. Máy in tôi đang dùng là HP LASERJET 1200.
    Đáp: Bạn đã download các driver quá cũ nên chúng không hỗ trợ Unicode. Bạn hãy download file lj281en.exe trở lên thì mới in tốt mã Unicode tiếng Việt.

    Hỏi: Dán nội dung từ trang Web dùng font Unicode tiếng Việt vào trong trình soạn thảo văn bản Word2000, sau đó bằng máy in Epson LQ-300 thì chỉ thấy toàn là mã mà không có tiếng Việt?
    Đáp: Nguyên nhân Word 2000 không in được văn bản Unicode là do driver máy in quá cũ, chưa có khả năng hỗ trợ tốt mã Unicode. Đây là tình trạng khá phổ biến, nhất là đối với các máy in cũ hay của hãng không nổi tiếng. Tuy nhiên, bạn hãy thử vào Website của hãng Epson để đọc thông tin và download driver mới nhất cho máy LQ-300 về rồi thử dùng xem sao? Nếu driver mới nhất từ Website của hãng vẫn không thể in được tiếng Việt Unicode thì bạn đành phải chờ đợi tiếp hoặc đổi máy in khác. Hiện các máy HP Laser với driver mới của hãng đều in tốt văn bản Unicode tiếng Việt.

     

    Phần Cứng
    Hỏi: WinXP không nhận dạng được sound card XWave 3000 và card modem Motorola, xin hỏi  webiste của các hãng trên để update driver.
    Đáp: Nếu phần cứng nào mà WinXP không nhận dạng được thì bạn hãy cài driver thủ công, để tìm driver cho sound card XWave 3000, bạn có thể vào địa chỉ http://www.yamaha.com. Tương tự để tìm driver cho card modem Motorola, bạn có thể vào địa chỉ http://www.motorola.com

     
    Hỏi: Máy có 2 ổ CD dùng cùng cáp IDE thứ 2 (cáp IDE kia được dùng cho ổ cứng), cả 2 đều hoạt động tốt, nhưng khi chạy game ở ổ CD Slave, máy yêu cầu “Insert disk ...”, chạy game ở ổ CD Master thì được. Cài đặt chương trình vẫn bình thường.
    Đáp: Cơ chế gán tên nhận dạng cho các ổ đĩa và ổ CD của Windows là tăng dần, theo đó tên ổ CD Master sẽ đi trước tên ổ CD Slave. Một số trò chơi dùng giải thuật tìm ổ CD để đọc thông tin của trò chơi theo cơ chế rất đơn giản: tuần tự từ tên A: đến tên Z: nên trò chơi này sẽ thấy ổ CD Master trước và nếu không có đĩa CD trò chơi ở đây, chương trình sẽ thông báo yêu cầu bạn để đĩa CD vào ổ. Như vậy cách tốt nhất để chơi các trò chơi này (hay để chạy các ứng dụng dùng nguyên tắc xác định ổ CD như trên), bạn nên để đĩa CD trò chơi vào ổ Master.

     
    Hỏi: Máy PIII 600/128Mb Ram/VGA 4mb onboard/4.3 Gb HDD/Main Asus chạy WinXP, khi sử dụng AutoCad2000 thì máy chạy rất chậm, không thể vẽ được.
    Đáp: Với cấu hình máy như bạn trình bày thì nguyên nhân chính làm AutoCad2000 chạy chậm là card video onboard và driver quản lý card này. Thường các video card onboard không đủ mạnh, của hãng không nổi tiếng và driver phần mềm quản lý card này cũng chưa được kiểm tra để chạy ổn định, hiệu quả. Ngoài ra, 128MB RAM thì hơi ít, nếu có thể bạn nên gắn thêm RAM đồng thời dọn dẹp đĩa cứng sao cho phần không gian trống càng nhiều càng tốt.

     

    Windows
    Hỏi: Ổ đĩa cứng đang chạy bình thường, khi tôi đánh văn bản và lưu lại thì máy báo ổ đĩa đầy và treo máy, khi khởi động lại thì hệ thống không còn nhận được ổ cứng nữa. Xin hỏi có cách nào để khôi phục lại không?
    Đáp: Có thể lỗi mà bạn trình bày là do Windows chưa giải quyết tốt trong trường hợp quá đặc biệt: ghi dữ liệu khi đĩa đầy. Lỗi này cũng khó thử nghiệm lại, tốt nhất là bạn nên luôn dành 1 vùng đĩa trống với kích thước tối thiểu nào đó (thí dụ 100MB) để cho Windows chạy hiệu quả và ổn định. Bạn hãy thử liên hệ các dịch vụ sửa chữa đĩa cứng xem có thể khôi phục lại dữ liệu không.

     
    Hỏi: Lúc đầu cài máy thì được báo 65MB Ram, thời gian sau cài lại thì báo là 63MB Ram, gần đây cài lại thì báo là 61MB RAM. Nguyên do? Có phải máy bị đổi mainboard rồi không?
    Đáp: Đổi mainboard là 1 trong nhiều nguyên nhân tạo ra hiện tượng như bạn trình bày, nhưng việc này bạn là người biết rõ nhất. Một nguyên nhân phổ biến khác là do bạn dùng mainboard có video card onboard. Hầu hết các video card onboard dùng bộ nhớ RAM của máy tính làm bộ nhớ cho card màn hình, nên khi bạn thay đổi dung lượng bộ nhớ card màn hình (thường thông qua trình BIOS Setup) thì bộ nhớ còn lại cho máy sẽ thay đổi, Windows chỉ có thể dùng bộ nhớ còn lại này.

     
    Hỏi: Cài HĐH Win XP Pro suôn sẻ nhưng sau khi cài các chương trình khác thì có thông báo lỗi: “Wowexec caused an access violation in ntvdm.exe at 0×0f00412d” và phải nhấn “Ignore” thì mới tắt được máy.
    Đáp: 2 file Ntvdm.exe và Wowexec.exe cấu thành môi trường hỗ trợ chạy các ứng dụng DOS và Win3.x (ứng dụng Win16). 2 file này chỉ được nạp vào bộ nhớ WinNT, Win2000, WinXP khi bạn yêu cầu chạy 1 ứng dụng DOS hay Win16 nào đó. Nếu ứng dụng DOS hay Win16 có những yêu cầu đặc biệt nào đó (yêu cầu quá nhiều tài nguyên, dùng đường dẫn của các file quá dài,...), nó có thể làm Wowexec chạy sai và thông báo lỗi như bạn trình bày. Tóm lại nếu chưa thật sự cần thiết, bạn nên tránh dùng các ứng dụng DOS và Win16 trên WinXP, bạn hãy tìm và dùng version Win32 có cùng chức năng để tránh lỗi và chạy hiệu quả hơn.

     
    Hỏi: Máy dùng Win 98 SE, mỗi lần nguồn điện mất đột ngột hoặc tắt máy mà chưa Shut Down thì khi mở máy lại trình Scandisk không hoạt động. Chạy ScanDisk từ menu Start\Programs\Accessories\System Tools\ScanDisk), sau khi hoàn tất ScanDisk, khởi động lại Windows không được nữa và phải cài lại Windows. Xin chỉ cách khắc phục.
    Đáp: Về nguyên tắc, nếu máy bị tắt đột ngột khi đang chạy Windows (hay Linux...), thì hệ thống file của máy thường chứa 1 số lỗi, phụ thuộc vào tính chất lỗi mà Windows chạy tiếp được không. Đa số trường hợp Windows tự khắc phục được lỗi (nhờ scandisk) và chạy tiếp, nhưng cũng có khi nó không thể tiếp tục chạy được nữa, trong trường hợp này bạn phải format lại đĩa và cài mới Windows. Chính vì thế việc backup định kỳ các dữ liệu cá nhân rất quan trọng, nhờ đó khi có trục trặc, bạn có thể phục hồi dữ liệu lại được. Lưu ý nếu máy bị tắt đột ngột tại thời điểm có nhiều hoạt động ghi dữ liệu lên đĩa thì xác suất hư đĩa rất cao.

     
    Hỏi: Có chương trình nào đặt password cho các phân vùng ổ cứng không? Tôi muốn mỗi khi người khác truy cập vào các ổ cứng (C, D...) thì máy hỏi password, nếu password sai thì không cho vào.
    Đáp: Mục tiêu của HĐH Win9x hay WinME là quản lý máy cá nhân của 1 người dùng nên chúng không cần có khả năng bảo vệ việc truy xuấ́t hệ thống file thông qua password. Có 1 số tiện ích cho phép bạn giải quyết yêu cầu bảo vệ, nhưng thường gây phiền hà cho người dùng. Nếu máy bạn có nhiều người dùng độc lập và bạn muốn bảo vệ việc truy xuất file giữa các người dùng khác nhau thì bạn nên dùng WinNT, Win2000 hay WinXP cài trên partition NTFS. Trong trường hợp này, chỉ có administrator mới có quyền tạo user, mỗi user sẽ được cấp quyền truy xuất một số file nhất định chứ không thể truy xuất tất cả file như trên Win9x hay WinME. Khi user khởi động máy, Windows sẽ hỏi thông tin xác nhận user (username, password), nếu nhập đúng thì máy cho phép dùng nhưng chỉ được phép truy xuất các file và thư mục đã được qui định (tập con của đĩa cứng).

     
    Hỏi: Trong WinME, chọn chế độ Standby thì không thể kích hoạt lại máy, phải ấn Reset để khởi động lại. Nguyên nhân và cách khắc phục ?
    Đáp: Để dùng được chế độ Standby hay Hibernate, phần cứng máy bạn cần thỏa mãn các chuẩn qui định. Tuy nhiên máy tính được lắp bằng các thành phần rời được bán ở VN có xác suất phần cứng không thỏa mãn chuẩn rất cao. Cụ thể trên máy bạn có chứa ít nhất 1 thành phần phần cứng không thỏa mãn chuẩn PC (thí dụ như mainboard), nên chức năng Standby không thể hoạt động đúng.

     

    Hệ Thống
    Hỏi: Máy có 2 partition ổ cứng C và D, dùng NU2002 để kiểm tra ổ đĩa D (Norton Disk Doctor) thì chương trình báo: “Drive D may not be configured correctly. Norton Disk Doctor cannot run on this drive”. Kiểm tra đĩa C thì bình thường. Đã thử kiểm tra lỗi đĩa D bằng các chương trình khác (của hãng Ontrack, Scandisk) thì bình thường, kết quả cho thấy đĩa D không bị lỗi.
    Đáp: Quan điểm kiểm tra đĩa của các ứng dụng khác nhau thường rất khác nhau. Trong khi Partition Magic và NU đòi hỏi đĩa cứng phải tuân theo 1 số hạn chế khắt khe thì mới được coi là không bị lỗi thì các tiện ích khác và bản thân hệ điều hành lại dễ dãi hơn. Do đó nếu bạn đã dùng tiện ích kiểm tra của hãng Ontrack hay Scandisk của Microsoft mà không phát hiện lỗi đĩa cứng thì bạn cứ an tâm dùng tiếp, đừng dùng NU hay Partition Magic kiểm tra thêm làm gì.

     
    Hỏi: Khi khởi động máy, chương tình báo “XMS driver not installed. Serious hardware problem, halting boot”, và không vào được CMOS. Một lúc sau máy lại khởi động bình thường, có phải máy nhiễm virus không?
    Đáp: Lỗi mà bạn miêu tả có thể do 1 trong 2 nguyên nhân sau gây ra :
    - do virus phá. Để khắc phục nguyên nhân này, bạn hãy dùng trình diệt virus mới nhất để kiểm tra.
    - do phần cứng máy không ổn định, nhất là 3 thiết bị: RAM, mainboard và CPU. Chỉ có các kỹ thuật viên phần cứng mới dễ dàng xác định chính xác thiết bị nào gây lỗi.

     
    Hỏi: Cài Linux Mandrake 8.x trên máy có cài sẵn Win98, dùng Partition Magic 7.0 để phân vùng ổ C:, 2 partition cho Linux đều là logical partition: partition Ext2 khoảng 900M, 1 partition là Linux Swap khoảng 120M. Boot trực tiếp từ CDROM đến “Trying to access CD-ROM disc... “ thì bị đứng. Có phải do đĩa CD bị lỗi không?
    Đáp: Không phải máy nào cũng có khả năng boot từ ổ CD. Vậy bạn hãy thử lại việc boot máy từ ổ CD xem có hoạt động tốt không bằng cách dùng 1 đĩa CD có HĐH đơn giản (thí dụ các đĩa CD PHP đều có thể boot DOS được). Trong trường hợp có thể được, bạn hãy để ổ CDROM dùng riêng 1 dây cáp tín hiệu IDE để tránh tranh chấp với ổ khác. Lưu ý là dung lượng mà bạn dành chỗ cho 2 partition Linux là hơi nhỏ, nếu cài được thì cũng khó lòng dùng tốt vì không còn chỗ cho các ứng dụng và dữ liệu.

     
    Hỏi: HDD chia partition dùng cluster kích thước 2KB có truy cập chậm hơn so với dùng 4KB không?
    Đáp: Kích thước cluster càng nhỏ thì file sẽ chiếm càng nhiều cluster và việc truy xuất file càng chậm, nhất là trong trường hợp các cluster chứa nội dung của file cần truy xuất không liên tục mà nằm rời rạc nhau trên đĩa. Bù lại kích thước cluster càng nhỏ thì không gian lãng phí cho mỗi file càng nhỏ (trung bình bằng 1/2 kích thước cluster).

     
    Hỏi: - Khi cài đặt chương trình bị thông báo lỗi “EMS is not avaiable” mặc dù đã cài lệnh “Device=emm386.exe” trong tệp “config.sys” theo chỉ dẫn.
    - Máy P4 1.5Ghz, cài phần mềm giả lập PLAYSTATION _convertVGS và chạy thì máy chỉ thông báo “require Pentium II 300 or later” và “Exit”, nhưng khi đem sang máy khác dùng PIII 866 vẫn chạy được bình thường. Các phần mềm khác vẫn chạy tốt.
    Đáp: Để dùng bộ nhớ mở rộng EMS trên các máy thông thường, bạn cần phải chạy trình quản lý bộ nhớ nới rộng XMS bằng cách khai báo trước lệnh “device=himem.sys” trong file config.sys rồi mới khai báo lệnh “device=emm386.exe”. Lưu ý cần khai báo rõ ràng đường dẫn của 2 file himem.sys và emm386.exe nếu 2 file này không nằm trong thư mục gốc của đĩa boot và thêm lệnh “DOS=UMB, HIGH” vào sau lệnh “device=emm386.exe” để DOS cố gắng nạp các thành phần HĐH lên vùng bộ nhớ cao hầu dành chỗ lớn nhất cho chương trình ứng dụng.
    Để kiểm tra xem himem.sys và emm386.exe cùng các thành phần khác đã chạy chưa, bạn nên dùng lệnh “mem /c/p” để thấy tình trạng bộ nhớ của máy.
    Trường hợp phần mềm PLAYSTATION _convertVGS không chạy được trên máy bạn và báo lỗi “require PentiumII 300 or later” thì có thể phần mềm này dùng giải thuật nhận dạng loại CPU chưa tốt nên không biết loại CPU P4 (được sản xuất sau khi phần mềm được viết).

     

    Mạng - Truyền Thông
    Hỏi: Làm cách nào để truy cập vào máy của mình qua Internet, với 2 máy sử dụng 2 hệ điều hành khác nhau (ví dụ: Win98 và Winme, Win98 và WinXP...)?
    Đáp: HĐH không phải là yếu tố quan trọng trong việc truy xuất mạng giữa các máy. Về nguyên tắc 2 máy trong mạng có quyền dùng bất kỳ HĐH gì cũng được miễn sao chúng cùng tuân theo 1 giao thức giao tiếp nào đó, thí dụ các máy trong Internet sẽ dùng giao thức TCP/IP để giao tiếp với nhau. Các phần mềm mạng thường làm việc theo mô hình client/server : mỗi ứng dụng mạng gồm 2 thành phần chức năng: server cung cấp dịch vụ và client sử dụng dịch vụ (thí dụ hệ thống WEB gồm Web server và Web browser). Máy chạy thành phần server của ứng dụng mạng được gọi là máy server, máy này nên chạy liên tục 24/24 giờ để phục vụ cho client. Hơn nữa máy server phải có địa chỉ cụ thể và duy nhất trên phạm vi toàn thế giới, do đó nếu bạn muốn máy mình trở thành 1 server Internet, bạn phải xin 1 địa chỉ IP cho nó (liên hệ với bộ phận quản lý mạng cấp trên của mình hay tổ chức quản lý quốc gia hay tổ chức cao nhất là NIC). Tuy nhiên trong thực tế VN, nếu bạn là cá nhân thì không thể xin được địa chỉ IP từ tổ chức quản lý mạng quốc gia.

     
    Hỏi: Khi vào trang web của VNN tôi thấy có 1 hình giới thiệu dịch vụ gọi VNN bay khắp nơi trên màn hình rất hay. Xin hướng dẫn cách thực hiện trang web giống như vậy.
    Đáp: Có nhiều cách khác nhau để tạo các hình ảnh thay đổi vị trí như bạn miêu tả trong đó cách dùng tính chất của DHMTL là dễ dàng nhất: dùng timer để thay đổi động vị trí của ảnh theo thời gian, nếu định kỳ thay đổi đủ nhỏ thì bạn cảm thấy ảnh chạy trên trang Web. Thí dụ sau đây là trang Web có ảnh 1 con cá chạy từ trái sang phải rồi ngược lại trong trang Web. Để chạy được trang Web này bạn cần có 2 file ảnh fishleft.gif và fishrght.gif ở cùng thư mục với trang Web :

    <HTML>

    <HEAD>

    <TITLE>Demo con cá chạy</TITLE>

    <SCRIPT LANGUAGE=javascript>

    // Các biến dữ liệu

    var x;

    var width;

    var dir;

    // Hàm khởi động chương trình Web

    function StartTimer() {

        dir = 1;

       x=fishimg.style.posLeft;

       width=fishimg.style.posWidth;

        id=window.setInterval(“Dichuyen()”,40);

    }

    // Hàm hiệu chỉnh vị trí cá theo định kỳ

    function Dichuyen() {

        x = x + dir*5;

        if (x+width >= window.screen.width) {

              x = window.screen.width -width;

               dir = -dir;

              fishimg.src = “FISHLEFT.GIF”

               }

        if (x <0) {

               x = 0;

               dir = -dir;

              fishimg.src = “FISHRGHT.GIF”

               }

        fishimg.style.posLeft = x;

    }

    </SCRIPT>

    </HEAD>

    <BODY onload=”StartTimer()”>

    <P>Bạn hảy soạn thảo nội dung bất kỳ ở trên và dưới tag &lt;img&gt; miêu tả con cá.</P>

    <IMG id=fishimg style=”Z-INDEX: 100; LEFT: 10px; POSITION: absolute; TOP: 80px” src=”FISHRGHT.GIF”>

    </BODY>

    </HTML>

     
    Hỏi: Trước đây dùng Win98SE và Personal Web Server (PWS) chạy tốt nhưng khi chuyển sang WinME thì PWS không làm việc, Home page wizard báo lỗi: “The page cannot be displayed”. Trong bộ cài PWS có trình MS Message Queue nhưng chưa rõ cách cài đặt và sử dụng. Mong được giải đáp.
    Đáp: Bạn không nói rõ bạn dùng version nào của trình PWS. Chúng tôi có thử nghiệm thì thấy trình PWS version 4.0 vẫn chạy tốt trên WinME, chỉ có đều hơi khó cài đặt, tốt nhất là cài PWS vào ngay sau cài đặt WinME và trước bất kỳ ứng dụng nào khác.
    MSMQ (Microsoft Message Queue Server) kết hợp cùng MTS (Microsoft Transaction Server) giúp ứng dụng mạng giao tiếp bất đồng bộ với nhau được tin cậy, ổn định, an toàn. Thường khi cài PWS ở chế độ default thì 2 module trên được cài theo PWS vào máy, bạn không cần phải cài riêng bằng tay.

     
    Hỏi: Xin hỏi có cách nào dùng ASP để gửi 1 file trên đĩa cứng lên 1 thư mục của FTP Server không?
    Đáp: Lưu ý trang ASP chỉ chạy ở máy Server, do đó về nguyên tắc không thể truy xuất file trên đĩa cứng máy cá nhân của bạn được, nghĩa là không thể upload file trên đĩa cứng máy cục bộ lên FTP Server. Để thực hiện điều này, bạn nên dùng các linh kiện phần mềm chạy ở phía client như Java Applet hay COM của Microsoft. Thí dụ bạn có thể dùng ActiveX Control “Microsoft Internet Transfer Control” để upload file từ đĩa cứng lên FTP Server thông qua đoạn lệnh VBScript sau :

    ‘ Inet1 là tên của điều khiển Microsoft Internet Transfer Control

    Inet1.URL = txtURL      ‘ địa chỉ của server

    Inet1.UserName = txtUserName            ‘ tên user

    Inet1.Password = txtPassword  ‘ password của user

    Inet1.Protocol = icFTP ‘ protocol FTP

    ‘ Upload file từ localfile đến remotefile

    Inet1.Execute Inet1.URL, “PUT” & localfile & “ “ & remotefile

     
    Hỏi: Tôi muốn viết 1 hàm trong C++ 3.1 ở chế độ đồ họa ngoài DOS có chức năng tạo 1 khung mờ mờ có thể thấy được dòng chữ ở bên dưới khung. Xin hướng dẫn?Đáp: Bạn có thể tạo hiệu ứng dòng chữ hiển thị mờ mờ dưới 1 khung đồ họa trong C++ trên DOS bằng cách gọi hàm outtextxy() để hiển thị dòng chữ trước rồi gọi hàm putimage() để đặt khung ảnh mờ (có sẵn) lên vị trí của dòng chữ dùng 1 trong các chế độ thực hiện AND_PUT, OR_PUT hay XOR_PUT. Do môi trường đồ họa trên DOS chỉ dùng 16 palette màu (quá ít) nên kết quả không trung thực lắm, nếu lập trình trên Windows ở chế độ TrueColor thì kết quả sẽ tốt hơn. Sau đây là đoạn code C++ mẫu demo ý tưởng trên :

    int size;

    char *pbuf;

       // tạo khung mờ

       setfillstyle(SOLID_FILL,7);

       bar(0,0,300,40);

       size = imagesize(0,0,300,40);

       pbuf = malloc(size);

       // lưu giữ khung mờ

       getimage(0,0,300,40,pbuf);

       // xóa khung mờ

       setfillstyle(SOLID_FILL,0);

       bar(0,0,300,40);

       // xuất dòng chữ màu hồng

       changetextstyle( TRIPLEX_FONT, HORIZ_DIR, 4 );

       settextjustify( LEFT_TEXT, TOP_TEXT );

       setcolor(MAGENTA);

       outtextxy(4,0,”Nguyen Van Hiep”);

       // hiển thị lại khung mờ trên dòng chữ dùng cách AND

       putimage(0,0,pbuf,AND_PUT);

       getch();

     
    Hỏi: Xin hỏi làm cách nào để lấy handle của ứng dụng khác như Word hay NotePad chẳng hạn.
    Đáp: Sau khi cài đặt 1 phần mềm lên đĩa cứng, phần mềm gồm từ 1 đến nhiều file cấu thành, nếu có nhiều file thì có 1 file *.exe để khởi động phần mềm đó. Lúc phần mềm chưa chạy ta nhận dạng phần mềm bằng đường dẫn xác định file *.exe của phần mềm đó. Trong hệ điều hành đa nhiệm (multi-task) như Win9x thì bạn có thể chạy nhiều phần mềm đồng thời, mỗi file phần mềm cũng có thể được chạy nhiều lần khác nhau và cùng tồn tại đồng thời, hệ thống sẽ tạo ra 1 “instance” riêng cho mỗi lần chạy phần mềm, trong trường hợp này đường dẫn file phần mềm không đủ để phân biệt từng “instance” của phần mềm đó. Để khắc phục vấn đề này, hệ thống dùng khái niệm “process” để quản lý 1 “instance” cụ thể của 1 phần mềm, để phân biệt process, hệ thống dùng tên nhị phân cho từng process, mỗi tên nhị phân chỉ xác định duy nhất 1 process. Thực tế Windows dùng 2 loại tên nhị phân khác nhau cho từng process: handle và processID, có nhiều hàm API xử lý process khác nhau trong đó có hàm thì dùng handle để nhận dạng process, có hàm thì dùng processID để nhận dạng process. Hiện Microsoft không cung cấp hàm API nào cho phép liệt kê trực tiếp các process đang chạy, do đó để liệt kê các process đang chạy, bạn cần nghiên cứu để nắm vững cơ chế quản lý process của Windows, từ đó mới viết được module phần mềm liệt kê các process đang chạy. Thông tin về cơ chế quản lý process của Windows được trình bày chi tiết trong sách “Advanced Windows” của tác giả Jeffrey Richter.
    Mỗi phần mềm dùng giao diện đồ họa trong Windows gồm từ 1 đến n cửa sổ giao diện (window) khác nhau, chúng có mối quan hệ cha con theo hệ thống phân cấp. Windows cung cấp nhiều hàm API để bạn có thể duyệt các cửa sổ đang tồn tại trên Windows, mỗi cửa sổ thuộc về ứng dụng nào. Bạn hãy dùng MSDN (đĩa CD hay mạng MSN) đọc đặc tả chi tiết về các hàm API sau :
    FindWindowEx(), EnumWindows(), EnumDesktopWindows(), GetWindowThreadProcessId(),...

    Lưu ý bạn có thể dùng hàm GetWindow-ThreadProcessId() để tìm được thông tin về thread và process tạo ra cửa sổ cụ thể.

     
    Hỏi: Xin hỏi kỹ thuật và phần cứng cần thiết để làm chương trình Karaoké.
    Đáp: Về nguyên tắc, nếu 1 vấn đề nào đó được giải quyết bằng phần cứng thì cũng có thể được giải quyết bằng phần mềm, để tạo ra 1 hệ thống karaoké cũng vậy, bạn có thể xây dựng nó bằng phần cứng hay bằng phần mềm.
    Nếu dùng phần mềm, có nhiều cách và mức độ thực hiện khác nhau. Cách thông thường nhất là nới rộng file *.mid (thường chỉ chứa thông tin về nốt nhạc) thành file *.kar có chứa thêm lời nhạc tương ứng với các nốt nhạc rồi viết 1 ứng dụng chơi file *.kar. Cách xây dựng file *.mid dễ dàng nhất là nối đàn organ với máy tính, đàn từng bài nhạc rồi ghi kết quả thành file *.mid.
    Lưu ý dù viết phần mềm xử lý file karaoké nhưng bạn vẫn cần phải gắn sound card vào máy để chơi file karaoké.

     

    Linh tinh
    Hỏi: Tôi đang dùng ổ CD Rom hiệu LG 52X, dùng nhiều chương trình test CD Rom như SiSoft Sandra... để kiểm tra ổ CDRom này thì chỉ báo có 12X. Trong Control Panel/ System/ Perfomance/File system/ CD Rom, trong mục “Optimize access pattern for:” tôi đã chọn “Quad-speed or higher” nhưng vẫn không cải thiện được. Vậy xin hỏi ổ đĩa CDRom của tôi có vấn đề gì không?
    Đáp: Nếu bạn dùng tiện ích SiSoft Sandra để đo tốc độ ổ CD với các đĩa CD rẻ tiền được bán ở các cửa hàng CD thì chỉ số báo 12X là bình thường, không phải là chậm. Chỉ số tốc độ được ghi trên ổ CD (52x) là giá trị lý tưởng mà ổ CD có thể đạt tới chứ không phải là chỉ số thực dụng. Điều này cũng giống như khi mua 1 xe Honda, thông số quảng cáo là 1lít xăng chạy được 180Km, nhưng trong thực tế sử dụng ta không thể nào đạt được kết quả lý tưởng này.

     
    Hỏi: Màn hình SAMSUNG Syncmaster 550v, sau khi rút phích nối giữa màn hình với Card màn hình của CPU rồi cắm lại thì thấy màn hình bị nghiêng qua trái vài mm, (đã dùng các nút điều chỉnh trên màn hình nhưng không có kết qua). Xin chỉ chỉnh lại màn hình.
    Đáp: Đặc điểm của các màn hình CRT là tùy vị trí đặt màn hình mà vùng hiển thị có thể bị lệch như bạn trình bày (do từ trường của trái đất khác nhau). Để user có thể cân chỉnh lại dễ dàng, hầu hết các monitor đời mới đều có nút chỉnh màn hình để vùng hiển thị được cân bằng ngang, vậy bạn hãy đọc lại tài liệu kèm theo màn hình để cân chỉnh lại.

     

    ID: A0301_101