home *** CD-ROM | disk | FTP | other *** search
/ PC & Mediji 1997 April / PCM_9704.iso / bralci / st / glavni1.~pa < prev    next >
Text File  |  1997-02-27  |  13KB  |  398 lines

  1. unit glavni1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, FileCtrl, Menus, ExtCtrls, Buttons;
  8.  
  9. type
  10.   Tmain = class(TForm)
  11.     srcFileBox: TFileListBox;
  12.     srcDirBox: TDirectoryListBox;
  13.     srcDriveBox: TDriveComboBox;
  14.     brisi: TButton;
  15.     trgFileBox: TFileListBox;
  16.     trgDirBox: TDirectoryListBox;
  17.     trgDriveBox: TDriveComboBox;
  18.     menu: TMainMenu;
  19.     Izhod1: TMenuItem;
  20.     Oprogramu1: TMenuItem;
  21.     Panel1: TPanel;
  22.     Label1: TLabel;
  23.     Label2: TLabel;
  24.     Label4: TLabel;
  25.     Label3: TLabel;
  26.     mnuOstalo: TMenuItem;
  27.     Prstornadisku1: TMenuItem;
  28.     VelikostDiska: TMenuItem;
  29.     Edit2: TEdit;
  30.     Button1: TButton;
  31.     Label5: TLabel;
  32.     Button2: TButton;
  33.     IconBar: TPanel;
  34.     SpeedButton1: TSpeedButton;
  35.     SpeedButton2: TSpeedButton;
  36.     SpeedButton3: TSpeedButton;
  37.     Button3: TButton;
  38.     SpeedButton4: TSpeedButton;
  39.     SpeedButton5: TSpeedButton;
  40.     procedure izhod(Sender: TObject);
  41.     procedure srcFileOnClick(Sender: TObject);
  42.     procedure brisiClick(Sender: TObject);
  43.     procedure Oprogramu1Click(Sender: TObject);
  44.     procedure srcFileBoxMouseDown(Sender: TObject; Button: TMouseButton;
  45.       Shift: TShiftState; X, Y: Integer);
  46.     procedure Prstornadisku1Click(Sender: TObject);
  47.     procedure VelikostDiskaClick(Sender: TObject);
  48.     procedure trgFileBoxDragOver(Sender, Source: TObject; X, Y: Integer;
  49.       State: TDragState; var Accept: Boolean);
  50.     procedure Button1Click(Sender: TObject);
  51.     procedure Button2Click(Sender: TObject);
  52.     procedure srcDirBoxChange(Sender: TObject);
  53.     procedure Button3Click(Sender: TObject);
  54.     procedure srcDirBoxMouseDown(Sender: TObject; Button: TMouseButton;
  55.       Shift: TShiftState; X, Y: Integer);
  56.     procedure trgDirBoxDragOver(Sender, Source: TObject; X, Y: Integer;
  57.       State: TDragState; var Accept: Boolean);
  58.     procedure trgDirBoxDragDrop(Sender, Source: TObject; X, Y: Integer);
  59.     procedure trgFileBoxDragDrop(Sender, Source: TObject; X, Y: Integer);
  60.     procedure FormCreate(Sender: TObject);
  61.   private
  62.     { Private declarations }
  63.   public
  64.     { Public declarations }
  65.   end;
  66.  
  67. var
  68.   main: Tmain;
  69.   KlikOK: Boolean;
  70. implementation
  71.  
  72. uses oprg, kop_bris;
  73.  
  74. {$R *.DFM}
  75.  
  76.  
  77. procedure Tmain.izhod(Sender: TObject);
  78. begin
  79.      Application.Terminate;
  80. end;
  81.  
  82. procedure Tmain.srcFileOnClick(Sender: TObject);
  83. begin
  84.      Label1.Caption:=srcFileBox.FileName;
  85.      srcFileBox.FileEdit:= Edit2;
  86.      if (trgDirBox.Directory = 'D:\') or  (trgDirBox.Directory='C:\') then
  87.          Label5.Caption:= trgDirBox.Directory + Edit2.Text
  88.      else
  89.          begin
  90.          Label5.Caption:= trgDirBox.Directory + '\' + Edit2.Text;
  91.          end;
  92. end;
  93.  
  94. procedure Tmain.brisiClick(Sender: TObject);
  95. var
  96. i: integer;
  97. srcFile:string;
  98. begin
  99.      for i:=0 to srcFileBox.Items.Count - 1 do begin
  100.          if srcFileBox.Selected[i] then
  101.          begin
  102.             srcFile:=srcFileBox.Items.Strings[i];
  103.             DataModule1.delete(srcFile);
  104.          end;
  105.      end;
  106.      srcFileBox.Update;
  107.      trgFileBox.Update;
  108. end;
  109.  
  110. procedure Tmain.Oprogramu1Click(Sender: TObject);
  111. begin
  112.      vizitka.Show;
  113.      main.hide;
  114. end;
  115.  
  116. procedure Tmain.srcFileBoxMouseDown(Sender: TObject; Button: TMouseButton;
  117.   Shift: TShiftState; X, Y: Integer);
  118. begin
  119.      if Button=mbLeft then
  120.      with Sender as TFileListBox do
  121.      begin
  122.      if ItemAtPos(Point(X, Y), True) >= 0 then
  123.         BeginDrag(False);
  124.      end;
  125.  
  126. end;
  127.  
  128. procedure Tmain.trgFileBoxDragDrop(Sender, Source: TObject; X, Y: Integer);
  129. var
  130. iz, trgFile, trgDir, srcFile, v: string;
  131. begin
  132.      trgDir:=trgDirBox.Directory;
  133.      iz:=Edit2.Text;
  134.      srcFile:=srcFileBox.FileName;
  135.      if (trgDir= 'D:\') or (trgDir='C:\') then
  136.         trgFile:= trgDir + iz
  137.      else
  138.          begin
  139.          trgFile:=trgDir + '\' + iz;
  140.          end;
  141.      DataModule1.copy(srcFile,trgFile);
  142.      srcFileBox.Update;
  143.      trgFileBox.Update;
  144. end;
  145.  
  146. procedure Tmain.Prstornadisku1Click(Sender: TObject);
  147. var
  148. DiskFreeSpace: integer;
  149. DiskFreeSpaceString: string;
  150. begin
  151.      DiskFreeSpace:=DataModule1.ProstorNaDisku(0);
  152.      DiskFreeSpaceString:= IntToStr(DiskFreeSpace div 1024);
  153.      ShowMessage('Na disku ' + srcDriveBox.Drive + ': je Üe: ' + DiskFreeSpaceString + ' KB prostora');
  154. end;
  155.  
  156. procedure Tmain.VelikostDiskaClick(Sender: TObject);
  157. var
  158. VelikostInteger: integer;
  159. begin
  160.      VelikostInteger:= DataModule1.VelikostDiska(0);
  161.      ShowMessage('Disk ' + srcDriveBox.Drive + ': je velik '+ IntToStr(VelikostInteger div 1024)  + ' KB.')
  162. end;
  163.  
  164. procedure Tmain.trgFileBoxDragOver(Sender, Source: TObject; X, Y: Integer;
  165.   State: TDragState; var Accept: Boolean);
  166. begin
  167.      If Source is TFileListBox then
  168.      Accept:=True;
  169.      If source is TDirectoryListBox then
  170.      Accept:=False;
  171. end;
  172.  
  173.  
  174. procedure Tmain.Button1Click(Sender: TObject);
  175. var
  176. i:integer;
  177. srcFile: string;
  178. trgFile: string;
  179. begin
  180.      for i:=0 to srcFileBox.Items.Count - 1 do begin
  181.          if srcFileBox.Selected[i] then
  182.          begin
  183.             if (srcDirBox.Directory = 'D:\') or (srcDirBox.Directory = 'C:\') or (srcDirBox.Directory = 'A:\') or (srcDirBox.Directory = 'B:\') or (srcDirBox.Directory = 'F:\')then
  184.                begin
  185.                     srcFile:=srcDirBox.Directory + srcFileBox.Items.Strings[i];
  186.                     if (trgDirBox.Directory='C:\') or (trgDirBox.Directory='D:\') then
  187.                        begin
  188.                             trgFile:=trgDirBox.Directory + srcFileBox.Items.Strings[i];
  189.                        end
  190.                     else
  191.                        begin
  192.                             trgFile:=trgDirBox.Directory + '\' + srcFileBox.Items.Strings[i];
  193.                        end;
  194.                     DataModule1.copy(srcFile,trgFile);
  195.                end
  196.             else
  197.                begin
  198.                     srcFile:=srcDirBox.Directory + '\' + srcFileBox.Items.Strings[i];
  199.                     if (trgDirBox.Directory='C:\') or (trgDirBox.Directory='D:\') then
  200.                        begin
  201.                             trgFile:=trgDirBox.Directory + srcFileBox.Items.Strings[i];
  202.                        end
  203.                     else
  204.                        begin
  205.                             trgFile:=trgDirBox.Directory + '\' + srcFileBox.Items.Strings[i];
  206.                        end;
  207.                     DataModule1.copy(srcFile,trgFile);
  208.                end;
  209.          end;
  210.      end;
  211.      srcFileBox.Update;
  212.      trgFileBox.Update;
  213. end;
  214.  
  215. procedure Tmain.Button2Click(Sender: TObject);
  216. var
  217. dirpart, dir:string;
  218. begin
  219.      KlikOK:=InputQuery('Ustvarjanje novega direktorija', 'VpiÜi ime direktorija:', dirpart);
  220.      if KlikOK = True then
  221.      begin
  222.           if (srcDirBox.Directory='C:\') or (srcDirBox.Directory='D:\') then
  223.              dir:=srcDirBox.Directory + dirpart
  224.           else
  225.           begin
  226.                dir:=srcDirBox.Directory + '\' + dirpart;
  227.           end;
  228.           CreateDir(dir);
  229.           srcDirBox.Update;
  230.           trgDirBox.Update;
  231.      end;
  232. end;
  233.  
  234. procedure Tmain.srcDirBoxChange(Sender: TObject);
  235. begin
  236.      main.Caption:= Application.Title + ' - ' + srcDirBox.Directory;
  237. end;
  238.  
  239. procedure Tmain.Button3Click(Sender: TObject);
  240. var
  241. deldir: string;
  242. i:integer;
  243. j:integer;
  244. srcDirsOnly:string;
  245. begin
  246.      for i:=0 to srcDirBox.Items.Count -1 do
  247.      begin
  248.           if srcDirBox.Selected[i] then
  249.           begin
  250.                if not ((srcDirBox.Directory = 'C:\') or (srcDirBox.Directory = 'D:\')) then
  251.                   begin
  252.                        for j:=1 to i do
  253.                        begin
  254.                             if j=1 then
  255.                             begin
  256.                                  srcDirsOnly:=srcDirBox.Items.Strings[j];
  257.                             end
  258.                             else
  259.                             begin
  260.                                  srcDirsOnly:=srcDirsOnly + '\'+ srcdirBox.Items.Strings[j];
  261.                             end;
  262.                        end;
  263.                   end
  264.                   else
  265.                   begin
  266.                        srcDirsOnly:=srcDirBox.Items.Strings[i];
  267.                   end;
  268.                deldir:=srcDirBox.Items.Strings[0] + srcDirsOnly + '\';
  269.                srcDirBox.Directory:=srcDirBox.Drive + ':\';
  270.                trgDirBox.Directory:=srcDirBox.Drive + ':\';
  271.                RemoveDir(deldir);
  272.                srcDirBox.Update;
  273.                trgDirBox.Update;
  274.                break;
  275.           end;
  276.      end;
  277. end;
  278.  
  279. procedure Tmain.srcDirBoxMouseDown(Sender: TObject; Button: TMouseButton;
  280.   Shift: TShiftState; X, Y: Integer);
  281. begin
  282.      if Button=mbLeft then
  283.      with Sender as TDirectoryListBox do
  284.      begin
  285.      if ItemAtPos(Point(X, Y), True) >= 0 then
  286.         BeginDrag(False);
  287.      end;
  288. end;
  289.  
  290. procedure Tmain.trgDirBoxDragOver(Sender, Source: TObject; X, Y: Integer;
  291.   State: TDragState; var Accept: Boolean);
  292. begin
  293.      If Source is TDirectoryListBox then
  294.      Accept := True;
  295.      If Source is TFileListBox then
  296.      Accept := True;
  297. end;
  298.  
  299. procedure Tmain.trgDirBoxDragDrop(Sender, Source: TObject; X, Y: Integer);
  300. var
  301. i:integer;
  302. j:integer;
  303. k:integer;
  304. srcDirsOnly:string;
  305. trgPoint:TPoint;
  306. pos:integer;
  307. trgDir:string;
  308. srcFile:string;
  309. begin
  310.      if Source = srcDirBox then
  311.      begin
  312.           for i:=0 to srcDirBox.Items.Count -1 do
  313.           begin
  314.                if srcDirBox.Selected[i] then
  315.                begin
  316.                   if not ((srcDirBox.Directory = 'C:\') or (srcDirBox.Directory = 'D:\')) then
  317.                   begin
  318.                        for j:=1 to i do
  319.                        begin
  320.                             if j=1 then
  321.                             begin
  322.                                  srcDirsOnly:=srcDirBox.Items.Strings[j];
  323.                             end
  324.                             else
  325.                             begin
  326.                                  srcDirsOnly:=srcDirsOnly + '\'+ srcdirBox.Items.Strings[j];
  327.                             end;
  328.                        end;
  329.                   end
  330.                   else
  331.                   begin
  332.                        srcDirsOnly:=srcDirBox.Items.Strings[i];
  333.                   end;
  334.                   srcDirBox.Directory:=srcDirBox.Drive + ':\' + srcDirsOnly + '\';
  335.                   srcFileBox.Update;
  336.                   trgPoint.X:=X;
  337.                   trgPoint.Y:=Y;
  338.                   pos:=trgDirBox.ItemAtPos(trgPoint,False);
  339.                   if pos = 0 then
  340.                   begin
  341.                        trgDir:=trgDirBox.Items.Strings[0] + srcDirsOnly + '\';
  342.                        ForceDirectories(trgDir);
  343.                   end
  344.                   else
  345.                   begin
  346.                        trgDir:=trgDirBox.Items.Strings[0] + trgDirBox.Items.Strings[pos] + '\'+ srcDirsOnly + '\';
  347.                        ForceDirectories(trgDir);
  348.                   end;
  349.                   if not (srcFileBox.Items.Count = 0) then
  350.                   begin
  351.                        for k:=0 to srcFileBox.Items.Count -1 do
  352.                        begin
  353.                             DataModule1.copy(srcDirBox.Directory + '\' + srcFileBox.Items.Strings[k], trgDir + srcFileBox.Items.Strings[k]);
  354.                        end;
  355.                   end;
  356.                   srcDirBox.Update;
  357.                   trgDirBox.Update;
  358.                   Break;
  359.              end;
  360.           end;
  361.      end;
  362.      if Source = srcFileBox then
  363.      begin
  364.           trgPoint.X:=X;
  365.           trgPoint.Y:=Y;
  366.           srcFile:=srcFileBox.FileName;
  367.           for i:=0 to trgDirBox.Items.Count -1 do
  368.           begin
  369.                if  trgDirBox.Selected[i] then
  370.                begin
  371.                     if (trgDirBox.Directory = 'C:\') or (trgDirBox.Directory = 'D:\') then
  372.                     begin
  373.                          trgDir:=trgDirBox.Drive + ':\' + trgDirBox.Items.Strings[i];
  374.                     end
  375.                     else
  376.                     begin
  377.                          for j:=1 to trgDirBox.Items.Count -1 do
  378.                          begin
  379.                               trgDir:=trgDirBox.Drive + ':\' + trgDirBox.Items.Strings[j];
  380.                          end;
  381.                     end;
  382.                end;
  383.                ShowMessage(srcFile);
  384.                ShowMessage(trgDir);
  385.           end;
  386.           srcFileBox.Update;
  387.           trgDirBox.Update;
  388.      end;
  389. end;
  390.  
  391.  
  392. procedure Tmain.FormCreate(Sender: TObject);
  393. begin
  394.      main.Caption:=Application.Title;
  395. end;
  396.  
  397. end.
  398.