/* makealbum programı bir dizin içinde bulunan tüm jpg dosyalarının listesini çıkararak html dosyalarını hazırlar. Bu şekilde birbirine linkli bir foto albumu oluştur. başlangıç html dosyasının adı komut satırı üzerinden alınabilir. eğer komut satırından dosya ismi girilmemişse ilk dosya adı olarak index.html alınır. Diğer dosyaların adları ise jpg dosyalarının adları ile aynıdır. 05/01/2002 Öztuğ Bildirici */ #include #include #include void html_ac(char *); void html_kapa(); FILE *fhtml; /*html dosyaları için dosya pointeri*/ void main(int argc, char *argv[]) /*komut satırından başlangıç dosyası adı alınması*/ { struct chrlist { char jpg[80]; /*jpg dosya*/ char html[80]; /*html dosya*/ int nkt; /*noktanın yeri örn 01.jpg de 3*/ }; char title[80]; struct chrlist flist[100]; int i=0,j=0,n=-1,ch='.'; FILE *fdirinf; /*bulunulan dizindeki jpg dosyalarının listesi dirinfo.txt dosyasına aktarılır*/ system("dir *.jpg /b >dirinfo.txt"); /*dirinfo.txt açılarak dosya adlarının diziye alınması*/ if ((fdirinf=fopen("dirinfo.txt","r"))!=NULL) { while( feof(fdirinf)==0) { n=n+1; if(n>99) exit(0); fscanf(fdirinf, "%s", title ); if(strlen(title)<=0) { printf("jpg dosya yok-->program sonu"); exit(0); } for(j=0;j<=79;j++) { if (title[j]=='.') { flist[n].nkt=j; break; } } strcpy(flist[n].jpg,title); if(n==0) { if(argc>1) strcpy(flist[n].html,argv[1]); /*arc>1 ise komut satırından değer alınmış demektir. İlk girilen string argv[1] de, buradan diziye alınıyor*/ if(argc<=1) strcpy(flist[n].html,"index.html"); /*girilen değer yoksa onun yerine index.html alınıyor*/ } else { title[j]='\0'; strcat(title,".html"); strcpy(flist[n].html,title); } } } n=n-1; /*döngü 1 kez fazla döndüğünden n bir eksiltiliyor, dosya kapanıp siliniyor*/ if(fclose(fdirinf)==0) system ("del dirinfo.txt"); if(n>=0) { for(i=0;i<=n;i++) { if ((fhtml=fopen(flist[i].html,"w"))!=NULL) { strcpy(title,flist[i].html); title[flist[i].nkt]='\0'; if(i==0)strcpy(title,"Albüm"); html_ac(title); fprintf(fhtml,"

resim%i

",flist[i].jpg,i); if(i>0) { fprintf(fhtml,"[Geri]  ",flist[i-1].html); } if(i[İleri]",flist[i+1].html); } fprintf(fhtml,"

[Başa Dön]

",flist[0].html); html_kapa(); } if(fclose(fhtml)!=0)printf("\nHATA"); } } printf("\nProgram Sonu"); } void html_ac(char *title) { /*html kodunun başlangıç kısmı title main den buraya gönderiliyor*/ fprintf(fhtml,"\n\n"); fprintf(fhtml,"\n"); fprintf(fhtml,"%s\n\n",title); fprintf(fhtml,"\n"); } void html_kapa() { /*html kodunun son kısmı*/ fprintf(fhtml,"\n\n"); }