Preview:
contract ReceiveEther {

	function takeMoney() public payable {

	}

	function myBalance() public view returns (uint256) {
		return address(this).balance;
	}
}

contract SendMoney {

	constructor() payable {

	}

	function sendMoney(address receiveEtherContract) public payable {
		uint256 amount = myBalance();
		(bool ok, ) = receiveEtherContract.call{value: amount}(abi.encodeWithSignature("takeMoney()"));
		require(ok, "transfer failed");
	}

	function myBalance() public view returns (uint256) {
		return address(this).balance;
	}
}
downloadDownload PNG downloadDownload JPEG downloadDownload SVG

Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!

Click to optimize width for Twitter