#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <dir.h>
#include <dos.h>
void tut(){sound(200);delay(80);nosound();}
void main(void){
FILE   *d;
struct ffblk dat;
char   l1[1000][13],l2[1000][13],l3[13]={"Img000.JPG"};
unsigned  date= 0x2355; //21.10.97
unsigned  time= 0x0;    //00:00:00
int    done,x,i,i1,anz=0,tmp,z1,z2,z3;
clrscr();
 //**** Get all Files ********
 done=findfirst("*.jpg",&dat,0x2F);  //Hole Erste Pfad bzw. Dateinamen
 if(done) {printf("Keine Datei gefunden\n");tut();goto ENDE;}
 while(!done){                    //Über Alle Namen im aktuellen Pfad
 for(i=0;i<13;i++) l1[anz][i]=dat.ff_name[i]; anz++;
 if(anz>999) {printf("zu viele Dateien\n");tut();goto ENDE;}
  done = findnext(&dat);}        //nächste Datei
 //**** Dateien ordnen Sort Random ************
 randomize();
 for(i=0,tmp=anz;i<anz;i++,tmp--){x=random(tmp);
  for(i1=0;i1<13;i1++) l2[i][i1]=l1[x][i1];
  for(i1=0;i1<13;i1++) l1[x][i1]=l1[tmp-1][i1];}
 //**** Umbenennen und Datum Setzen
 for(i=0,z1=0,z2=0,z3=0;i<anz;i++){
 l3[3]=z1+48; l3[4]=z2+48; l3[5]=z3+48; z3++;
 if(z3==10){z3=0;z2++;} if(z2==10){z2=0;z1++;}
 if(rename(l2[i],l3)) {printf("Error beim Umbennenen\n");tut();goto ENDE;}
 //****** Set Datum
 if ((d = fopen(l3, "r+")) == NULL){printf("Error Set Time");tut();goto ENDE;}
 _dos_setftime(fileno(d), date, time);fclose(d);}
ENDE:;}
 

/*
 ft_hour     ft_min    ft_tsec
 15.....11 10........5 4.......0
ÌÍÑÍÑÍÑÍÑÍÎÍÑÍÑÍÑÍÑÍÑÍÎÍÑÍÑÍÑÍÑ͹
ÈÍÏÍÏÍÏÍÏÍÊÍÏÍÏÍÏÍÏÍÏÍÊÍÏÍÏÍÏÍÏͼ
  Stunden   Minuten   Sekunden/2
          4.8.89
unsigned  date= 0x1288; //12.12.97

  ft_year   ft_month   ft_day
 31.........25 24...21 20.....16
ÌÍÑÍÑÍÑÍÑÍÑÍÑÍÎÍÑÍÑÍÑÍÎÍÑÍÑÍÑÍÑ͹
ÈÍÏÍÏÍÏÍÏÍÏÍÏÍÊÍÏÍÏÍÏÍÊÍÏÍÏÍÏÍÏͼ
 Jahr - 1980    Monat     Tag
*/