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.
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 |
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. |
