By the evening I'll have done the work = correct. When you say "by X time", you use future perfect. Don't say "by the evening I'll do the work".

Similarly with your other two examples - use future perfect. Also one minor correction:

Quote Originally Posted by Mervin View Post
By the time we arrive the most of the coffee will have been drunk