This thread is here to show you how to effectively participate in this forum whether it be asking or answering questions. In here you will find a number of examples of what to do, and what not to do.
First and foremost read the Posting Guidelines. There is no excuse to not follow them and this thread is not a substitution, but a supplement for them. The staff of this forum maintains these guidelines and continue to change them as they see fit. If you disagree with something in the guidelines, that is no excuse to violate them. Instead address your concern privately (via pm) with one of the Moderators or Administrators.
This forum is it's own entity. It does not belong to any one country and therefore is not subjected to the same laws you may be used to in the country where you live. That being said, we do make every effort to make sure that nothing goes on here that may be illegal in any country where those who participate here may be from, and this especially goes for the United States, where the site is hosted. Don't complain to the Moderators that they are violating your freedom of speech by deleting your post or any other "right" you feel you may have. Posting here is a privilege, not a right, and that privilege can be revoked at any time for any reason they see fit.
Please take the time to read through this thread in its entirety if you plan to spend any time here. There is no doubt that if you follow the Posting Guidelines and take the advice posted here by our most experienced members that you will enjoy your stay here and have no problems.
Very often you will not get the complete answer to your question. This is done for a reason, and that reason is not to make you feel dumb or to make us look smart. The reason is that we are trying to give you a nudge in the right direction or point you to a place where you can discover the answer for yourself. This is much more rewarding in the end because it makes you feel good that you found the answer, and it makes us feel good that you learned something.
Don't say, "It doesn't work"! This is incredibly annoying to the people trying to help you and it doesn't tell us what the problem is. Clearly state what you tried, hopefully it includes everything that was recommended and more. Doing this will make people more likely to help you and you will usually end up with a better answer quicker. Post updated code where appropriate.
Don't ask for help with code that could be used Maliciously
If you are about to ask a question, think to yourself first "Can this be used maliciously?". If the answer to this question is yes then don't ask it here. We will not tolerate talk of any malicious code at all. This may not be your intention, but having this information on our site is not something we want. We do not want to propagate this type of activity.
This includes but is not limited to things such as:
Hiding your program from the processes list
Mass mailing (SPAM) applications
Joke software, we don't care if it is only a joke
Anything that says, "Without the user knowing"
Many of the people who make this forum tick from day to day are professional software developers. Because of this we have an incredible amount of knowledgeable people in many different aspects of software development. This also means that we do not approve of software piracy, or discussion of it.
If you do not have MSDN installed then install it, if you don't have it then you are either using an illegal copy of VB or you need to get replacement CDs from Microsoft. Either way attempting to develop software or learn how to program without it is just plain foolish.
I don't know who said this originally, but it is completely wrong. There are a number of "stupid" questions that get asked here from time to time. For instance, "What is the code to turn the computer on?" is a stupid question and yes it has been asked before. Here is another one "How do I write my own OS in VB?" Again it has been asked before, this one a number of times.
Think logically about what you are going to ask before asking it. If the computer isn't on how can it run code? If you need to have the VB runtimes running on Windows to run a VB program how can it be used to write an OS?
Being able to communicate effectively is a very important skill, especially when your being helped is a direct result of how well you communicate the problem. This is especially important in a medium such as this where you have to communicate entirely by writing.
Using terms like l33t and h4x0r or phrases like "r u" is childish and will not get you very far here. Many people will just skip right over questions like this and move on to the next. This means that you may not get the help you would have had you taken the time to state your question clearly.
Many of our members are not native English speakers and therefore will have an even more difficult time with that jargon than those who have English as their first language.
Use punctuation and capitalization properly. Don't write in ALL CAPS.
If you are unsure about spelling rules, use a spell checker before posting.
Make an effort to write real words in real sentences and you will be rewarded with real people trying to give you real help. This is not an instant messenger or a chat room. Take the time to effectively communicate and we will take the time to help you if we can.
This one shouldn't even have to be said, isn't it obvious? If you don't know the answer then don't post in the thread. If you took the time to do your research, looked in MSDN, all your programming books, searched the web and the forum and still didn't find the answer you were looking for then chances are you might be a little frustrated at this point. Do you really want someone who has no clue what they are saying to post in your thread and make it go off topic? No, absolutely not, so don't do it to someone else.
We have plenty of Moderators here and they do quite a good job with it. Don't start trying to tell people that they are behaving inappropriately or that they posted in the wrong forum or anything else that may be considered an attempt by you to moderate the boards.
If you see something that you feel is a direct violation of the posting guidelines then feel free to bring it to the attention of a moderator by PM. In the event that a post is particularly offensive, or it contains pornographic images, please report the post using the "!" icon in the lower-left corner of the post (Ref the attached image.) This approach will result in an email being immediately forwarded to all site admins and moderators. Don't post in the thread or try to handle it on your own, however, as that isn't your responsibility.
Before anyone on this forum can help you, you must first learn how to help yourself. Before you make a post you should ensure you have made sufficient effort in finding a solution by yourself. Initially, this should be rudimentary debugging, which is explained by Thinker here. Secondly, you should search what existing information resources there are, including, but not limited to:
VB's own Object Browser (F2)
Your own Microsoft Developer Network (MSDN) helpfiles (F1)
Tutor's Corner, Code Library, FAQs at the top of each forum
Once you have exhausted each of these (and you should state so in your post so as not to appear lazy) you should consider posting. Bear in mind that while you may not have discovered the full solution to your issues, it is likely that you will have found something which will aid you. If so, mention it in your post. A disproportionately large number of the questions here can be answered by steps 1 and 2, and due to the long history of this forum, it is rare that a search does not yield some useful information.
The subject line is vital to drawing attention to your thread. Many contributors will skip over anything which does not indicate, even in a general sense, what areas of VB you are having trouble with. Since the subject line is limited in length, you must consider your wording carefully in order to provide as much information as possible. This means removing words/phrases such as help, having problems, doesnt work, can anyone, newbie, look here, need assistance and so on. The very fact that you are posting is indicative that you're having trouble with something, there's no need to waste subject line space by stating it. It sounds obvious, but don't waste space with excessive punctuation. One exclamation or question mark is enough! How about including an error description or number? Mention function/object/constant names! Maximise the space available to you. Here are some good subject lines encountered:
Web Browser Control - How do you keep from URL adding to history?
How can i create a Bitmap in memory without a windowed control?
Listview question - how to tell if an object has a parent?
How to extract data from a delimited file when data also contains the separator
What does :: mean?
And some not so good:
programmer in distress
2 Build Errors
i know it's easy
Could ppl plz take a look at this code? (see also: l33t sp34k)
Finally, a short note on threads labelled with URGENT, need help quick or something similar - we are not subject to your deadlines. Many contributors skip over such posts, since the poster must believe they are more entitled to help than someone else just because their project deadline looms, which is just plain rude. In short - stating that your timeframe is limited is more likely to be a hindrance than a help.
A forum is only useful if people can actually see what you are doing to rectify the problem. For a start, you should always post your question in a forum. Sending a private message to one or more perceived experts is counterproductive because it means fewer people will be able to view your question and respond. It also suggests that you feel you are entitled to the recipients undivided attention, which is exceedingly rude. The recipient may choose not to respond, and so your time is wasted, or they may simply request you to post the question publically, and so both their and your time is wasted. It is very rare for a badged member to answer questions posed to them privately.
Secondly, once you've posted your question publically, encourage public responses. Do not ask possible contributors to reply by email, IM, or any other medium. This is for your benefit as well as ours. It keeps the discussion entirely in one place so it is much easier to see how far you have come towards a solution, and it means the information shared will be accessible to any member with similar problems in future.
If you have a question, take a moment to think about which ONE forum it would be best to post. In most cases, the answer is pretty obvious. But, if you can't decide, post it in the "General" forum, and if it belongs elsewhere, a moderator will move it. But, don't shotgun it by placing multiple copies in various forums.
Why not? Well, doing so actually tends to reduce the number of responses you get, for one. The regulars, who are the folks that you really want an answer from, know that multiple posts get removed, so they tend not to answer these posts when they notice that it's a duplicate.
In addition, nothing is more infuriating than when a member takes the time to answer a post, then moves to a different forum and sees that someone else has just posted essentially the same answer. It's a huge waste of time for BOTH the people who took the time to help! And don't think that this goes unnoticed. Someone who posts in multiple forums often automatically has one strike against them, before anyone even look at their post...
In summary - post a question in one forum only, and try to choose the forum which is the best match for your problem. We'll all be happier.
"I have my standards. They may be low, but I have them!" ~ Bette Middler
"It's a book about a Spanish guy called Manual. You should read it." ~ Dilbert
"To understand recursion, you must first understand recursion." ~ unknown
Getting an experienced developer to do your homework is bad for us, bad for you and bad for society.
It is bad for us because:
Homework problems are specifically chosen to demonstrate a particular aspect of programming so those of us who have learned that aspect (and could help) can learn nothing new
It reduces our enthusiasm to help others if we are inundated with homework requests
When you eventually join the work force, we will have to do our job AND your job while you learn what you should have learned in school...
It is bad for you because:
Our answers are likely to be more high level than your tutor anticipates, and he/she will know it is not your own work. Failing a class/expulsion is just not worth it.
If we do your homework, the only thing you will learn is how not to program. The world is already way too full of this type of people.
It is bad for society because:
If people get by with help, they take the place in university, or on industrial placement, and everywhere else, from people who are willing to learn. So there are less people qualified to do the work, so less people to help others and pretty soon nobody will know how to program.
After you are on the job, your assigned tasks/projects drag on, taking longer than they should, and thus costing more than they should, while you learn what you should have learned in school. Remember - in the end, these extra costs, direct or indirect, are not born by the company who hired you; they are all transferred, as cost overruns, or as additional overhead, to the consumer, which is to say, society, as a whole.
There is some good news though. We are willing to help you to understand your homework so that you can do it...so if you approach things from that angle we can all get along.