banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Messages posted by: Thomas_Black  XML
Profile for Thomas_Black Messages posted by Thomas_Black [ number of posts not being displayed on this page: 0 ]
 
Thực ra bạn đã nhầm lẫn giữa pointer-to-member-functionpointer-to-function. Pointer-to-member-function có dạng (lấy ví dụ của bạn nhé):
Code:
void RenderCutter(CMaSim::*)(void)

là một thành phần non-static của class CMaSim. Trong khi đó, nếu RenderCutter là một function đơn lẻ, nó sẽ có dạng:
Code:
void RenderCutter(*)(void)

Với đoạn code trên mình có 2 cách sửa:
  • [*](Thông dụng) Thêm một member static, giả sử:
  • Code:
  • class CMaSim
    {
    public:
    void Subtract();
    void RenderCutter();
    static void staticRenderCutter() {
    }
    void RenderObject();
    static void staticRenderObject() {
    }
    };
  • Lúc đó bạn gọi
  • Code:
  • sub(staticRenderCutter, staticRenderObject);
  • như bình thường
  • [*](Dễ dùng hơn) Dùng wrapper function, như thế này chẳng hạn
  • Code:
  • CMaSim *wrapperObj;
    void wrapperRenderCutter() {
    return wrapperObj->RenderObject();
    }
    void wrapperRenderObject() {
    return wrapperObj->RenderObject();
    }
  • Lúc đó, bạn gọi:
  • Code:
  • sub( wrapperRenderCutter, wrapperRenderObject );
  • là ổn

Chúc bạn thành công.
P.S: Mod sửa lại thẻ list giùm mình với smilie, sao BBCode nó không lên nhỉ
Sử dụng cấu trúc lồng nhau? Không hiểu ý bạn lắm, bạn đã giải bài toán trên rồi đó thôi, chỉ còn in ra màn hình thôi mà smilie
Cái này bạn lấy ở đâu ra vậy?
Queue là cấu trúc dữ liệu kiểu FIFO (First In First Out), thường được dùng làm cấu trúc cho thuật toán duyệt theo chiều rộng (BFS). Queue thì chỉ thường chỉ có những kiểu là Queue, Double Ended Queue (DEQUE) và Priority Queue (thông dụng nhất là Heap). Mỗi loại Queue đều có cách push và pop riêng, làm gì có kiểu duyệt Queue theo DFS và BFS sử dụng lý thuyết đồ thị?
1. Hình như bạn dùng compiler là Turbo C++ 3.0, giờ đã quá cũ, không còn thích hợp để lập trình ứng dụng hiện nay, bạn nên dùng các compiler hiện nay là G++, VC++ hay Code Warrior,...
2. Trong header iostream.h (thường chỉ include là #include<iostream>smilie có 2 đối tượng dùng để nhập và xuất, thuộc namespace std. Đó là cin (đối tượng nhập chuẩn) và toán tử >> để nhập, cout (đối tượng xuất chuẩn) và toán tử << để xuất.
Ví dụ:
Nhập và xuất số nguyên n:
Code:
int n;
cin >> n;
cout << "Ban vua nhap n = " << n << '\n';
Hiện tượng này tràn lan rồi. Thomas_Black mới vô HVA à?  

Không phải, giờ mình mới vào box này và để ý thấy vậy thôi xem lại nội quy của HVA thấy rành rành:
5. Các thông tin, trao đổi trên diễn đàn phải tôn trọng vấn đề bản quyền.  

Mà vừa vào đã choáng ngợp bởi những thông tin kiểu thế này....
tất cả vì cộng đồng , tất nhiên chỉ là lý do thôi, nhưng 1 thực tế kô thể phủ nhận là chẳng mấy áy có đủ money để thưch hiện tất cả những j minh mong muốn, tôi hỏi khí kô phải, nếu kô đúng bác thứ lỗi: - Bác dùng windown có bản quyền kô, tất cả những software trong PC của bác đều mua hết à. co j xin thứ lỗi  

Tại sao không dùng software Open Source hay Freeware đi, mạnh đâu có kém gì software bản quyền? Hay đơn giản là chạy theo cái gì "xịn"? Bản Windows tôi đang dùng là Windows XP SP1, bản quyền, từ khi mua máy đến bây giờ, thỉnh thoảng ghost lại mỗi khi cần cài lại máy, OK? Software dùng Open Source, OK?
Sao HVA lại để những bài viết không tôn trọng bản quyền đưa lên bừa bãi thế này?
Đây là một bài toán hết sức cơ bản, bạn học lập trình lâu chưa mà lại hỏi vậy? Chỉ cần dựa vào định nghĩa dãy Fibonacy là được.
Hàm viết bằng C++ cho số Fibonacy thứ n:
Code:
long long fib(long long n) {
long long f[3];
f[0] = 1; f[1] = 1;
if (n <= 2) return f[0];
for (long long i = 2; i < n; i++) {
f[2] = f[1] + f[0];
f[0] = f[1]; f[1] = f[2];
}
return f[2];
}
Borland C++ và Turbo C++ là những IDE cũ, bây giờ dùng không còn phù hợp để lập trình ứng dụng nữa, trình biên dịch mà 2 IDE này dùng là TCC và BCC.
DevC++ chỉ là một IDE tích hợp trình biên dịch G++ và GCC của MinGW, rất hay.
Theo như bạn huynhfxvn thì chỉ cần thêm
Code:
using namespace std;

Để sử dụng là không chính xác, bởi với 2 trình biên dịch khác nhau thì tuy cùng một ngôn ngữ, cách thức biên dịch có khác nhau khá nhiều. Chuyển từ lập trình trên Turbo C++ hay Borland C++ sang G++ là một sự thay đổi khá lớn, không đơn giản như bạn nghĩ đâu.
Bạn thử làm cách này xem có trở lại được như bình thường không nhé:
Ra ngoài màn hình desktop, nhấn chuột phải, chọn Properties, ở thẻ Themes, bạn chọn Windows XP, rồi apply, nếu vẫn không được, bạn thử chọn Windows Classic rồi Apply. Cách đó sẽ giúp bạn chỉnh lại Theme của Windows về dạng chuẩn.
Định dạng NTFS thì nhiều khả năng là USB của bạn đã bị hỏng firmware, chưa cháy là rất may mắn. Vì các loại USB hiện nay phải để định dạng chuẩn là FAT (áp dụng cho tất cả), hoặc có thể format định dạng FAT32 cho USB không kèm firmware nghe MP3. Tuyệt đối không bao giờ được format định dạng NTFS
Xin lỗi vì cắt ngang nhưng ai bảo các bạn Pascal không để viết chương trình hay ho, hiện thời có trình biên dịch Free Pascal tuy còn nhiều lỗi biên dịch nhưng bản dành cho Linux khá ổn định và mạnh: http://itaprogaming.free.fr/tutorial.html - vào đây để xem ứng dụng phát triển giả lập Gameboy Advance viết bằng FPC! Và đây: http://community.freepascal.org:10000/bboards/forum?forum_id=24092 rất nhiều ứng dụng hay viết bằng Pascal!
Đây là một lỗi của English Study 4, mình trước cũng từng gặp lỗi này rồi. Mình chỉ biết mỗi cách khắc phục duy nhất là cài lại Windows.
Tóm lại, lỗi của bạn là không mở được hầu hết application đúng không? Lúc nào cũng bị hiện một thông báo lỗi "The memory could not read" đúng không? Nếu như vậy thì theo mình, bạn thử mượn một thanh RAM khác cắm thử vào máy, nhổ thanh cũ ra xem. Nếu tình trạng này vẫn xảy ra thì rất có thể bạn đã bị lỗi Windows hoặc bị Virus, bạn nên quét Virus, nếu vẫn không được thì cài lại Windows.

VipHts wrote:
Bác nên quên thằng turbo pascal đi. Dùng nó lỗi kinh lên được. Bác nên sài Free Pascal-> tốt lắm đó.Thông báo lỗi chi tiết, dễ hiểu rất thích hợp với newbie(như em chẳng hạn smilie


Xin lỗi vì bài viết này không hợp với chủ đề.
Free Pascal (FP với trình biên dịch là fpc) mới là compiler nhiều lỗi nhất. TP là một compiler cho ngôn ngữ Pascal hoàn hảo, chỉ tội nó quá cũ chạy trên nền 16 bit, lại giới hạn ít bộ nhớ. Vì vậy nên thư viện cũng ít và không mạnh bằng FP. Nhưng xét về độ ổn định thì TP là hoàn hảo.
Nếu muốn trở thành lập trình viên giỏi thì bạn nên làm quen với việc đọc tài liệu bằng tiếng Anh, nếu cứ ngại thì đến bao giờ mới giỏi được
Windows nhà mình bị lỗi như sau: pagefile mặc dù đã chỉnh là 800 - 1024 rồi, nhưng nhiều lúc khởi động lên lại tự mặc nhận là 383 (phần maximum ấy). Mình chỉnh lại thì nó bắt khởi động lại máy. Khởi động lại thì như bình thường, nhưng cũng có lúc lại bị thế.
Phỏng đoán: Trước đây lỗi này bắt đầu khi mình cài McAfee, sau này gỡ đi rồi mà vẫn bị. Liệu có phải do McAfee không? Bạn nào biết giải thích và giúp mình khắc phục với
Bạn nên đặt lại tiêu đề cho phù hợp với nội dung chính cần hỏi.
Lỗi của bạn theo như tôi biết thì phân vùng D có thể bị dính Virus hoặc tác nhân nào đó làm cho mỗi lần nháy kép vào là tự động khởi động autorun một file trên đĩa cứng. Bạn thử khắc phục bằng cách nhấn chuột phải vào D, chọn Explorer chứ không nháy kép như mọi khi nữa. Sau khi cửa sổ Windows Explorer mở ra, bạn nhấn Tools \ Folder Options... trên thanh menu, trong tab View, đánh dấu chọn Show hidden files and folder... và bỏ chọn Hide protected operating system files (Recommended), mục đích là để xem được những file ẩn và file hệ thống của Windows, nhấn Apply rồi OK. Sau đó, bạn tìm file Autorun.inf trong phân vùng D, nhấn chuột phải vào chọn Edit để xem nó autorun file nào, tìm đến và xóa đí, xóa luôn file autorun.inf nữa. Sau đó tốt nhất nên dùng một chương trình duyệt Virus để quét lại cho chắc ăn.
Chúc thành công.
Cảm ơn các bác nhiều, :cry:. Vì em không biết, em chỉ sợ do file khác bảng định dạng.
Bác có thể dùng PDFCreator http://pdfcreator.sourceforge.net/ miễn phí. Hoặc chuẩn nhất là dùng bộ Adobe Acrobat 7.0 Professional (có thể tìm ngoài hàng đĩa CD)
Sáng nay em mới copy một thư mục phân vùng D(NTFS) của đĩa cứng để thuộc tính Compress sang USB(FAT32) đã Safely Remove đàng hoàng, đến lúc đem USB đi in ở máy khác thì không nhận nữa, về nhà em cắm cũng không lên, thế là tiêu rồi. Liệu có phải do copy không hay do nguyên nhân nào khác, bác nào biết chỉ em với :cry: :cry: :cry:

Nếu tớ không lầm thì code có bự hay không là do trình biên dịch chứ, ngôn ngữ thì có lỗi gì đâu, ngôn ngữ nào có cú pháp sáng sủa, rõ ràng, nhằm phục vụ cho một mục đích chuyên biệt thì sao ta lại không dùng. Nếu muốn code ngắn lại chạy nhanh thì xài quách asm cho rồi, chẳng hạn cái Notepad mà bạn nói viết trong asm cỡ chừng một chục kB là cùng.
Còn chuyện quản lý bộ nhớ hình như là phần việc của người lập trình cơ mà.
 

Yêu cầu đọc kỹ lại tất cả các bài viết và thử tạo một App với độc nhất 1 form bằng VB, không khai báo, không quản lý bộ nhớ chi cả, chạy, ghi nhận RAM nó chiếm và so sánh với các App khác.
Nếu HDD bị bad sector thì tốt nhất là bác nên backup dữ liệu và thay ổ cứng mới, vì HDD mà đã bad thì hỏng rất nhanh, có lúc không lường được đâu. Thằng bạn bị dính một lần, nó dùng fdisk format lại, cut bad sector riêng, tưởng ngon ai dè 1 tuần sau ổ cứng nó die, vừa phải thay, lại mất dữ liệu.

Vậy là âu cơ rồi đại ca ơi em đã giản nén được trong ổ E và D. Nhưng còn dụ nầy nữa: khi em tạo một folder bất kỳ trong E or D nếu em copy file zip or flash vào folder đó thì ko giản nén được và xem file flash thì báo lỗi như vầy "The filename, directory name, or volume label syntax is incorrect" còn nếu em để trong folder có sẵn thì ko sao cả ( tức là folder khi em mua máy đã có sẵn rồi, file ghost cũng có sẵn luôn chứ không phải em chụp em chỉ ghost lại win gần đây thôi ). Em nghĩ rằng dụ này giống dụ của trò starcraft hề hề chắc đại ca thắc mắc phải không để em nói rõ hơn: khi cài trò starcraft mặc định là C:\program file\starcraft cài xong âu cơ rồi nha, chơi được luôn rồi nha. Nhưng nều em cut nó qua ổ D thì sao nhỉ, nó không chạy được. Em đoán là tại đường dẫn gì đó nhưng em không biết sửa đường dẫn sao hết. Đại ca làm ơn chỉ em. Xin chân thành cảm ơn.
 

Bác thử up lên thông báo lỗi ấy xem.
Tốt nhất là bác nên Check disk: nhấn chuột phải vào Ổ đĩa cần Check trong My Computer, chọn Tab Tools \ Check Now, đánh dấu vào Automatically Fix file system errors và Scan for and attemp recovery of bad sectors rồi chọn Start, khởi động lại máy, để nó tự scan và fix xem có bad sector không
Nói rõ hơn là tính năng Flood Control của forum đó đã được bật, bạn có thể tắt trong AdminCP

Thomas_Black wrote:

@ IQ: Theo em VB có được chỗ đứng tốt trong ngày hôm nay cũng chỉ một phần nhỏ tính hiệu quả do nó mang lại, cái chính là do VB có tiền sử lâu đời, từ thời BASIC, QBASIC nó đã là công cụ được ưa chuộng, lại được MS chịu khó nâng cấp,... nên bây giờ VB mới phát triển được như vậy.
 

Tui thấy câu này nó cứ sao ấy
Vì sao nó lại được ưa chuộng? Chỉ vì là được "ưa chuộng" và nó có lịch sử lâu đời, được một hãng nổi tiếng phát triển sao? Chắc chắn là không. Cái nào không phù hợp thì tự nó sẽ bị đào thải, cho dù nó được phát triển bởi ai đi nữa.
Mỗi người có một mục đích, sở thích khác nhau, vì thế họ chọn cái họ thích. Tuy nhiên không ai đâm đầu vào vào một cái mà biết chắc chắn nó quá tồi, chỉ vì một lý do là nó được một hãng nổi tiếng phát triển.
Với mỗi ngôn ngữ sẽ có một điểm mạnh khác nhau, cho nên việc so sánh giữa chúng có vẻ hơi khập khễnh (mặc dù một số trường hợp có thể là nên so sánh). Vì thế chắc chắn Basic nói chung và Visual Basic nói riêng chắc chắn phải có những điểm mạnh của nó, thì nó mới có thể trở thành một ngôn ngữ "ưa chuộng".
 

OK, bác nói đúng, nhưng ý em không phải là VB hoàn toàn tồi, VB tồi ở một mức "có thể chấp nhận được" để khiến cho nó trở thành một ngôn ngữ được ưa chuộng, nhưng việc em nói do VB là của một hãng nổi tiếng phát triển và có lịch sử lâu đời không phải là không có lý. Giả sử thử đem so sánh một Pad viết bằng VB với Notepad của Windows (như em nói trên đó) thì rõ ràng VB vẫn còn kém xa so với C++, những lập trình viên chuyên nghiệp đòi hỏi mọi mặt của phần mềm phải thật hoàn hảo, do đó họ chọn C++ mặc dù C++ đòi hỏi thời gian và công sức hơn rất nhiều so với VB. Không ít lập trình viên "hạng nặng" cũng chọn VB, điều này em công nhận, nhưng nếu đem so sánh với C++ thì khó có thể nói VB bằng được.

Đánh giá của Thomas_Black tui thấy mang quá nhiều cảm tính.

Vài ý kiến.
 

Có thể bác đúng, vì từ xưa em đã không thích thằng VB, em chỉ học VB để viết VBScript thôi. Lần sau em sẽ rút kinh nghiệm, đánh giá về một ngôn ngữ lập trình phải mang tính khách quan.
Thật sự là em không ưa thằng VB, nhưng không đến nỗi ghét lắm smilie
@ IQ: Theo em VB có được chỗ đứng tốt trong ngày hôm nay cũng chỉ một phần nhỏ tính hiệu quả do nó mang lại, cái chính là do VB có tiền sử lâu đời, từ thời BASIC, QBASIC nó đã là công cụ được ưa chuộng, lại được MS chịu khó nâng cấp,... nên bây giờ VB mới phát triển được như vậy.
Bác chẳng hiểu gì cả.
Phần mềm để bảo vệ mã nguồn của nó thì không ai có thể xem được bởi nó đã được biên dịch sang mã máy rồi, muốn xem thì phải trong giai đoạn design time thì tha hồ mà xem, tha hồ mà làm pack, patch các thứ. Còn khi đã biên dịch và bảo vệ mã nguồn, muốn trời cũng chỉ Disass được của nó thôi.
Vậy bác thử so sánh một cái Pad đơn giản nhất viết bằng VB với cái Notepad của Windows xem ct nào ngốn nhiều bộ nhớ hơn. Trong trường hợp đó là do cái VB phát sinh mã không tốt, quản lý bộ nhớ không tốt, không phải là do người lập trình. Cái Application bằng VB mấy MB lận, trong khi cái Notepad chỉ mấy trăm KB, cùng lắm là 1 MB.
Đây chỉ là một đoạn JavaScript bình thường, có gì là mã hoá đâu bác.
Đây chẳng qua là một string lưu đoạn script thôi, sau đó, để thực thi thì dùng hàm eval để chuyển một string chỉ thị thành chỉ thị thực sự. Chẳng hạn muốn gọi hàm alert("Something!"), có thể dùng đoạn code sau:
Code:
var smp = "alert('Something!');"
eval(smp);
Vấn đề em hỏi chỉ có vậy thôi, cảm ơn các bác nhiều, em đã hiểu rồi.
Bác Mod nào close luôn topic này giùm em nhé.
 
Go to Page:  Page 2 Last Page

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|