Write a Pascal program that generates a random maze using a specified algorithm (e.g. depth-first search) and finds the shortest path from a designated start point to an end point using the A* algorithm. The program should allow for the customization of maze size and complexity, as well as the ability to visualize the maze and its solution in a user-friendly manner. The code should be well-documented and follow standard programming conventions.
This prompt doesn't seem malicious.