je croyais avoir fait une bonne petite fonction me generant un mot de passe unique par jour

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
unit MdpUnit;
 
interface
 
uses SysUtils, DateUtils;
 
function Generermotdepasse(L : Word) : String;
 
implementation
 
function Generermotdepasse(L : Word) : String;
var Feed,motdp : String;
    aa,mm,jj : word;
    rdnum,r :integer;
begin
Feed:='ABCDEFGHIJKLMNPQRSTUVWXYZ';   // lettres autorisées
Feed:=Feed+'123456789';              // chiffres
decodedate(date,aa,mm,jj);
rdnum:=aa mod 100*DayOfTheYear(Date)*(length(Feed)+L); // initialisation random
motdp:='';
for mm:=1 to L do
  begin
   r:=random(rdnum) mod length(feed);
   motdp:=Motdp+Copy(Feed,r,1);
  end;
result:=motdp;
end;
 
end.
Testé avec 2 petits programmes j'obtenait bien pour un meme jour la meme valeur (sur un PC different ?)

las j'utilise cette meme routine dans un plus gros projet et
celui la me fourni une valeur différente à chaque fois

pourquoi , je ne suis pas un pro du random , y'aurait t-il une initialisation manquante ?