let print_gradelist_html (hpr : string -> unit) (gl:student list) (padd:paddress) =
hpr "<center>\n<table width='90%%' frame='hsides' \nrules='groups' border='3' summary='Groupes' style='font-size:xx-small;'>\n<colgroup align='left' span='2'/>\n";
let pas = pa_to_string padd in
let thisbool = ref true in
hpr (Printf.sprintf "<tr>\n<th><a href='gradelist.html?sort=alpha&projnum=%s'>Nom</a></th><th>Pr\233nom</th>\n<th><a href='gradelist.html?sort=grade%s&projnum=%s'>Note</a></th></tr>\n\n"
pas pas pas);
List.iter (fun stu -> thisbool := not(!thisbool);
let gra = student_grade stu padd in
let sra = (if (gra >=0.) then (Printf.sprintf "%.1f" gra) else "") in
hpr (Printf.sprintf "<tr bgcolor='%s'><td>%s</td>\n<td>%s</td><td align='center'>%s</td></tr>\n" (if (!thisbool) then "#E6F1FF" else "#FFFFFF")
stu.name stu.pren sra)) gl;
hpr "</table>\n</center>"