Uninstall Manager programı Pascal kaynak kodları

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.
umanager
[Yükleme bulunamadı.]

Diğer ödev programlar için eski siteme (okoca.cjb.net) bakabilirsiniz. Programın ana kod bloğu şöyle.

beginbtc(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('- Yardm');highvideo;tc(15);write('   F2');lowvideo;write('- Gncelle');highvideo;tc(15);write('   F3');lowvideo;write('- KarŸlaŸtr');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('Gncellenecek 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 gncelleniyor');            recsave(path);           tc(7+16);gtxy(32,13);write('Bir tuŸa basn . . .');        repeat         tus:=readkey;        until tus<>#0;        getscreen(crt1);       end;    27:exitprogram;   end; {case cikis of } until cikis=59;end.

Yazar: Özgür Koca

Yazar - Tankado.com

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.