Just keep an array of all the cards (which I'm sure you already have). To shuffle, generate a random number[1-52 or 0-51 depending on if you use the 0 as the first element of your arrays]. The random number represents the index to your card array. Now place that number on a stack data structure. The stack will be used to select each card during play. Keep getting random number you have all 52 card indexes.
*Be sure to seed the random number generator [The rnd() function] by placing the line
randomize timer()
at the beginning of your shuffle loop, or the start of the game.
Now you need to decide how you want to handle duplicate results from the random generator. I used a "brute force" method before and it really doesn't take to much time. Just keep track of the numbers already selected and if the rnd() function returns an index already selected, code an if condtion that looks for the closest "lowest" index number not selected. If there is no "lower" number have it either check for "higher" values or just have the search wrap around to the higher numbers.
There are other methods that are more efficient or complex, but I find the above works well enough that it's a non-issue.