Lise yıllarında (1998) Pascal’da yazdığım uninstall manager programı. Herşeyin kodla yapıldığı dönemlerde yazdığım umutsuz programlardan birisi daha. Ardı gelmedi. Gelemedi. Windows’a geçtik. Programın öne çıkan teknik özellikleri şöyle; tab ile kontrol edilebilen metin kutusu düğme ve dosya listeleme nesnesi. Dizin içeriği özetini dosya türlerine göre özetleme. Program çalışması mantığı şöyle. Mevcut bir dizini alt dizinleri ile beraber kaydettikten sonra, dizine eklenen yeni dosya ve dizinleri tespit ederek silinmesi için seçenek sunuyor. MSDOS işletimi sisteminiz yoksa programı çalıştırmak için DOSBox’a ihtiyacınız var.
[Yükleme bulunamadı.]
Diğer ödev programlar için eski siteme (okoca.cjb.net) bakabilirsiniz. Programın ana kod bloğu şöyle.
begin btc(0,15);window(1,1,80,25);clrscr; lowvideo; rectang(50,5,65,22,'t');rectang(68,5,79,22,'t'); rectang(1,1,80,3,'t');rectang(1,4,47,22,'t'); gtxy(3,25); highvideo;tc(15);write('F1');lowvideo;write('- Yardm'); highvideo;tc(15);write(' F2');lowvideo;write('- Gncelle'); highvideo;tc(15);write(' F3');lowvideo;write('- KarŸlaŸtr'); highvideo;tc(15);write(' ENTER');lowvideo;write('- Listele'); highvideo;tc(15);write(' ESC');lowvideo;write('- €kŸ'); highvideo;gtxy(50,4);write('Dosya');gtxy(68,4);write('Hacim'); gtxy(3,21);tc(7);write('UnInstall Menager v1.0 OK - EKIM 98'); privateKey:=[#27,#13]; privateKey0:=[#59,#60,#61,#77,#75,#72,#80]; for f1:=6 to 19 do begin fname[f1]:='';;fsize[f1]:=0;end; getdir(0,path); path:=path+'\*.*'; repeat cikis:=inputboxSTR(3,2,75,0,0,15,15,privateKey0,privateKey,path,path); case cikis of 13:begin boxclear;boxclear2; coff; degsifirla; window(1,1,80,25); ordinat:=6; counter:=6; findfirst(path,archive+hidden+readonly+systems,privates); error:=DosError; while error=0 do begin error:=DosError; if keypressed then begin tus:=readkey; if tus=#27 then exitprogram; if tus in [#3,#8,#79] then error:=1; end; if counter>=21 then begin boxclear2; btc(0,15);gtxy(5,6);write('Listeleniyor . . .'); delay(25); coff; bc(1);window(51,6,64,21);clrscr; window(69,6,78,21);clrscr; window(1,1,80,25); for f1:=6 to 21 do begin sizef:=fsize[f1]; if fsize[f1]=21 } name:= privates.name; size:= privates.size; procount(name,size); allsize:=allsize+privates.size; findnext(privates); counter:=counter+1; if counter>21 then begin for f1:=7 to 21 do begin fname[f1-1]:=fname[f1]; fsize[f1-1]:=fsize[f1]; end; fname[21]:=privates.name; fsize[21]:=privates.size; end { counter>21 then} else begin fname[counter]:=privates.name; fsize[counter]:=privates.size; end; { counte>21 else} end; { while do} if fsize[7]=0 then begin tc(11);beep(510,510); gtxy(51,6);write('Bulunamad...'); gtxy(77,6);write('-'); end else begin if counter begin boxclear2; btc(0,15);gtxy(5,6);write('Listeleniyor . . .'); delay(600); bc(1);window(51,6,64,21);clrscr; window(69,6,78,21);clrscr; window(1,1,80,25); for f1:=7 to counter do begin sizef:=fsize[f1]; if fsize[f1] else begin birim:=true; sizef:=round(fsize[f1]/1000); end; tc(11);gtxy(51,f1-1);write(fname[f1]); tc(10);gtxy(69,f1-1);write(sizef:8); tc(11);if birim then write(' K') else begin tc(15);write(' B');end; end; { for f1 6 to 21} end; { if counter<=21} end; boxclear2; prowrite(allsize); end;{ case cikis=13} 60:begin savescreen(crt1); btc(0,15); effectrectang(10,2,70,15,15); gtxy(13,4);write('Gncellenecek Olan:'); gtxy(16,6);write(path); path2:=path; for f1:=length(path2) downto 1 do begin if path2[f1]<>'\' then delete(path2,f1,1) else f1:=1; end; btc(0,15);window(13,8,69,8);clrscr; write(path2); findfirst(path,archive+hidden+readonly+systems,privates); coff; dosay:=0; dosize:=0; doserror:=0; btc(0,15);window(13+length(path2),8,69,8);clrscr; error:=doserror; recdeg0; while error=0 do begin filename[dosay]:=privates.name; filesize[dosay]:=privates.size; error:=doserror; dosay:=dosay+1; if keypressed then begin tus:=readkey; if tus in [#3,#8,#79,#27] then error:=1; end; dosize:=dosize+privates.size; clrscr;write(privates.name); findnext(privates); end; window(1,1,80,25);btc(0,15); gtxy(16,10); tc(15);write(dosay); tc(11);write(' Adet Dosyada Toplam '); tc(15);write(dosize); tc(11);write(' Byte gncelleniyor'); recsave(path); tc(7+16);gtxy(32,13);write('Bir tuŸa basn . . .'); repeat tus:=readkey; until tus<>#0; getscreen(crt1); end; 27:exitprogram; end; {case cikis of } until cikis=59; end.
