Advertisement
Guest User

rwd-tool

a guest
Oct 14th, 2014
316
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 6.09 KB | None | 0 0
  1. unit uROBOTERDOKUTOOL;
  2.  
  3. {$mode objfpc}{$H+}
  4.  
  5. interface
  6.  
  7. uses
  8.   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  9.   ComCtrls, Buttons, Zipper, ComObj, lclproc;
  10.  
  11. type
  12.  
  13.   { TMainForm }
  14.  
  15.   TMainForm = class(TForm)
  16.     bButtonSearch: TButton;
  17.     bbDokumentationErstellen: TBitBtn;
  18.     bStammverzeichnisWahl: TButton;
  19.     bGeneriereKukaKoadn: TButton;
  20.     bErstelleScreenshots: TButton;
  21.     bAusgabeVerzeichnisWahl: TButton;
  22.     bWVA: TButton;
  23.     bVorlagenverzeichnisWahl: TButton;
  24.     cbVorlageAuswahl: TComboBox;
  25.     eEditFeldAusgabeOrdner: TEdit;
  26.     eEditFeldORDNER: TEdit;
  27.     eEditFeldOrdnerVorlage: TEdit;
  28.     gbQUELLDATEN: TGroupBox;
  29.     gbLASTDATEN: TGroupBox;
  30.     gbVorlage: TGroupBox;
  31.     gbAusgabe: TGroupBox;
  32.     lbROBOTERLISTE: TListBox;
  33.     lLastdatenErklaerung2: TLabel;
  34.     lLastdatenErklaerung: TLabel;
  35.     ProgressBar1: TProgressBar;
  36.     SelectDirectoryDialogAusgabe: TSelectDirectoryDialog;
  37.     SelectDirectoryDialogVorlage: TSelectDirectoryDialog;
  38.     SelectDirectoryDialogStammverzeichnis: TSelectDirectoryDialog;
  39.     procedure bAusgabeVerzeichnisWahlClick(Sender: TObject);
  40.     procedure bbDokumentationErstellenClick(Sender: TObject);
  41.     procedure bButtonSearchClick(Sender: TObject);
  42.     procedure bErstelleScreenshotsClick(Sender: TObject);
  43.     procedure bGeneriereKukaKoadnClick(Sender: TObject);
  44.     procedure bStammverzeichnisWahlClick(Sender: TObject);
  45.     procedure bWVAClick(Sender: TObject);
  46.     procedure bVorlagenverzeichnisWahlClick(Sender: TObject);
  47.  
  48.   private
  49.     { private declarations }
  50.   public
  51.     { public declarations }
  52.   end;
  53.  
  54. var
  55.   MainForm: TMainForm;
  56.   stammverzeichnis: string;
  57.   varWdApp: oleVariant;      // Reserviert Speicher für die Programmsteuerung
  58.   varDokument: oleVariant;   // Reserviert Speicher für die Steuerung des Worddokuments
  59.  
  60. implementation
  61.  
  62. {$R *.lfm}
  63.  
  64. { TMainForm }
  65.  
  66. procedure ListeZIPs(Pfad: string; DateiListe: TStrings);
  67. var
  68.   SR: TSearchRec;
  69. begin
  70.   if FindFirst(Pfad + '\' + '*.zip', faAnyFile, SR) = 0 then
  71.   begin
  72.     repeat
  73.       if (SR.Attr <> faDirectory) then
  74.       begin
  75.         DateiListe.Add(SR.Name);
  76.       end;
  77.     until FindNext(SR) <> 0;
  78.     FindClose(SR);
  79.   end;
  80. end;
  81.  
  82. procedure ListeVorlagen(Pfad2: string; VorlagenListe: TStrings);
  83. var
  84.   SR: TSearchRec;
  85. begin
  86.   if FindFirst(Pfad2 + '\' + '*.doc*', faAnyFile, SR) = 0 then
  87.   begin
  88.     repeat
  89.       if (SR.Attr <> faDirectory) then
  90.       begin
  91.         VorlagenListe.Add(SR.Name);
  92.       end;
  93.     until FindNext(SR) <> 0;
  94.     FindClose(SR);
  95.   end;
  96. end;
  97.  
  98. procedure TMainForm.bGeneriereKukaKoadnClick(Sender: TObject);
  99. begin
  100.   SysUtils.ExecuteProcess(UTF8ToSys('"C:\Program Files (x86)\Kuka Roboter GmbH\Kuka.Load 5\Bin\KukaLoadGUI.exe"'), '', []);
  101. end;
  102.  
  103. procedure TMainForm.bStammverzeichnisWahlClick(Sender: TObject);
  104. begin
  105.   if SelectDirectoryDialogStammverzeichnis.execute then
  106.      begin
  107.        eEditFeldORDNER.Caption:='"' + SelectDirectoryDialogStammverzeichnis.FileName + '" wurde als Stammverzeichnis gewählt';
  108.        lbROBOTERLISTE.Items.Clear;
  109.        ListeZIPs(SelectDirectoryDialogStammverzeichnis.FileName, lbROBOTERLISTE.Items);
  110.      end;
  111. end;
  112.  
  113. procedure TMainForm.bWVAClick(Sender: TObject);
  114. begin
  115.   try
  116.     varWdApp := CreateOleObject('Word.Application'); // erstellt das Wordobjekt
  117.   except
  118.     WriteLn('MS Word kann nicht gestartet werden.'); // Fehlerbehandlung
  119.   end;
  120.   try
  121.   ShowMessage(varWdApp.Version);
  122.   except
  123.   end;
  124. end;
  125.  
  126. procedure TMainForm.bVorlagenverzeichnisWahlClick(Sender: TObject);
  127. begin
  128.   if SelectDirectoryDialogVorlage.execute then
  129.      begin
  130.        eEditFeldOrdnerVorlage.Caption:='"' + SelectDirectoryDialogVorlage.FileName + '" wurde als Vorlageverzeichnis gewählt';
  131.        cbVorlageAuswahl.Items.Clear;
  132.        ListeVorlagen(SelectDirectoryDialogVorlage.FileName, cbVorlageAuswahl.Items);
  133.      end;
  134.   end;
  135.  
  136. procedure TMainForm.bErstelleScreenshotsClick(Sender: TObject);
  137. begin
  138.   SysUtils.ExecuteProcess(UTF8ToSys('C:\Windows\System32\SnippingTool.exe'), '', []);
  139. end;
  140.  
  141. procedure TMainForm.bButtonSearchClick(Sender: TObject);
  142. begin
  143.   lbROBOTERLISTE.Items.Clear;
  144.        ListeZIPs(SelectDirectoryDialogStammverzeichnis.FileName, lbROBOTERLISTE.Items);
  145. end;
  146.  
  147. procedure TMainForm.bAusgabeVerzeichnisWahlClick(Sender: TObject);
  148. begin
  149.     if SelectDirectoryDialogAusgabe.execute then
  150.      begin
  151.        eEditFeldAusgabeOrdner.Caption:='"' + SelectDirectoryDialogAusgabe.FileName + '" wurde als Ausgabeverzeichnis gewählt';
  152.      end;
  153. end;
  154.  
  155. procedure TMainForm.bbDokumentationErstellenClick(Sender: TObject);
  156.   var
  157.      UnZippen: TUnZipper;
  158.      i: integer;
  159.      j: string;
  160.      lbROBOTERLISTEstrings: TStrings;
  161. begin
  162.   //Erstellen der geforderten Verzeichnisstruktur
  163.               CreateDir(SelectDirectoryDialogAusgabe.FileName + '/Backups');
  164.               CreateDir(SelectDirectoryDialogAusgabe.FileName + '/Lastdaten');
  165.               CreateDir(SelectDirectoryDialogAusgabe.FileName + '/Profinet');
  166.               CreateDir(SelectDirectoryDialogAusgabe.FileName + '/RefListen');
  167.               CreateDir(SelectDirectoryDialogAusgabe.FileName + '/Temp');
  168.               CreateDir(SelectDirectoryDialogAusgabe.FileName + '/Topologie');
  169.               CreateDir(SelectDirectoryDialogAusgabe.FileName + '/Vorlage');
  170.   //Entpacken der Dateien
  171.               UnZippen := TUnZipper.Create;
  172.  
  173.               try
  174.                        UnZippen.FileName := SelectDirectoryDialogStammverzeichnis.FileName + '/' + lbROBOTERLISTE.Items.Strings [lbROBOTERLISTE.ItemIndex ] ;
  175.                        UnZippen.OutputPath := SelectDirectoryDialogAusgabe.FileName + '/Temp/' + lbROBOTERLISTE.Items.Strings [lbROBOTERLISTE.ItemIndex ] ;
  176.                        UnZippen.Examine;
  177.                        UnZippen.UnZipAllFiles;
  178.                finally
  179.                   UnZippen.Free;
  180.                end;
  181.  
  182.   //Word initialisieren
  183.          try
  184.            varWdApp := CreateOleObject('Word.Application'); // erstellt das Wordobjekt
  185.          except
  186.            ShowMessage('MS Word kann nicht gestartet werden. Ist es installieret?'); // Fehlerbehandlung
  187.          end;
  188. end;
  189.  
  190.  
  191. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement