Die Applikationsklasse von ExchangeFileContents.   
 Mehr ...
#include <EfcApp.h>
 | 
| class   | EfcCallBackFileFount | 
|   | Klasse um gefundene Dateien zu bearbeite; wird an eut::FileHelper::iterateDirectory( const fs::path & rIterPath, bool bRecursive, CallBackFileDirFount & rProcessingObject ) übergeben.   Mehr ...
  | 
|   | 
 | 
|   | EfcApp (const std::vector< std::wstring > &rArgVector) | 
|   | 
| virtual  | ~EfcApp () | 
|   | 
| int  | exec () | 
|   | 
Die Applikationsklasse von ExchangeFileContents.  
 
◆ EfcApp() [1/3]
      
        
          | EfcApp::EfcApp  | 
          ( | 
          const std::vector< std::wstring > & |           rArgVector | ) | 
           | 
        
      
 
Konstruktor mit Parameterübergabe. 
- Parameter
 - 
  
    | [in] | rArgVector | Die der Applikation übergebenen Argumente (Parameter).  
 Aufbau:
- rArgVector[0] Die Datei, deren Inhalt geändert werden soll (z.B. 'c:/dir/filename.txt').
 
- rArgVector[1] Der Ausdruck, welcher in den Daten aus rArgVector[0] mit den Daten aus rArgVector[2] ausgetauscht werden soll.
 
 Format: Der Parameter rArgVector[1] muss immer mit 'text:' bzw. 't:', 'hex:' bzw. 'h:' oder 'file:' bzw. 'f:' beginnen.
- Wenn der Ausdruck mit 'text:' bzw. 't:' beginnt, wird der nachfolgende Text als auszutauschender Text genommen. Z.B. 'text:alter Text' ergibt'alter Text'.
 
- Wenn der Ausdruck mit 'hex:' bzw. 'h:' beginnt, wird der folgende Text nach 'hex:' bzw. 'h:' als Hexadezimalzahl-Folge interpretiert, der ausgetauscht werden soll. Die Hex-Werte müssen zweistellig, kommasepariert übergeben werden (z.B. "h:0D,0A").
 
- Wenn der Ausdruck mit 'file:' bzw. 'f:' beginnt, wird der Inhalt aus der Datei genommen, deren Bezeichnung auf 'file:' bzw. 'f:' folgt. Wenn z.B. 'file:D:/dir/filename.txt', wird der Inhalt aus der Datei 'D:/dir/filename.txt' als auszutauschender Text genommen.
 
 
 
- rArgVector[2] Der auszutauschende Inhalt.
 
 Format: Der Parameter rArgVector[2] muss immer mit 'text:' bzw. 't:' oder 'file:' bzw. 'f:' beginnen.
- Wenn der Ausdruck mit 'text:' bzw. 't:' beginnt, wird der nachfolgende Text als neuer Text genommen. Z.B. 'text:neuer Text' ergibt'neuer Text' als neuen Text.
 
- Wenn der Ausdruck mit 'hex:' bzw. 'h:' beginnt, wird der urspruengliche Inhalt (der zweite Parameter 'AlterInhalt') durch die Hexadezimalzahl- Folge nach 'hex:' bzw. 'h:' ersetzt. Die Hex-Werte müssen zweistellig, kommasepariert übergeben werden (z.B. "h:0D,0A").
 
- Wenn der Ausdruck mit 'file:' bzw. 'f:' beginnt, wird der Inhalt aus der Datei genommen, deren Bezeichnung auf 'file:' bzw. 'f:' folgt. Wenn z.B. 'file:D:/dir/filename.txt', wird der Inhalt aus der Datei 'D:/dir/filename.txt' als neuer Text genommen.
 
 
 
- rArgVector[3] Optional die Datei, in die der geänderte Inhalt aus rArgVector[0] gespeichert werden sollen.
 
- rArgVector[n] Desweiteren können folgende Parameter übergeben werden:
- -r Es werden auch Unter-Verzeichnisse rekursiv durchsucht.
 
- -v Zeigt an, ob und wie oft der Inhalt der Datei geändert wurde.
 
- -v+ Zeigt auch die übersprungenen Dateien an.
 
- -s Stoppt bei einem Fehler und wartet auf einen Tastendruck.
 
- -f Wenn Parameter [Zieldatei] gesetzt wird, wird eine vorhandene Zieldatei nur dann überschrieben, wenn dieser Parameter übergeben wird. Ansonsten keine Auswirkung.
 
- -nop Die Verarbeitung wird nur simuliert, es werden keine Dateien verändert oder angelegt.  
 
 
 
 
 | 
  
   
 
 
◆ ~EfcApp()
  
  
      
        
          | virtual EfcApp::~EfcApp  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
virtual   | 
  
 
Destruktor, der Speicher wird aufgeräumt.  
 
 
◆ EfcApp() [2/3]
Der Standard-Konstruktor steht nicht zur Verfügung.  
 
 
◆ EfcApp() [3/3]
  
  
      
        
          | EfcApp::EfcApp  | 
          ( | 
          const EfcApp & |            | ) | 
           | 
         
       
   | 
  
private   | 
  
 
Der Copy-Konstruktor steht nicht zur Verfügung.  
 
 
◆ exec()
Startet die Application. Es werden die Parameter geprüft und angepasst und dann eut::FileHelper::iterateDirectory(const fs::path &, bool, CallBackFileDirFount &) aufgerufen (u.a. mit Übergabe von einem EfcApp::EfcCallBackFileFount als Parameter). 
- Rückgabe
 - Eine Rückgabe < 0 zeigt einen Fehler an.  
 
 
 
◆ getFileNameAndExtension()
  
  
      
        
          | void EfcApp::getFileNameAndExtension  | 
          ( | 
          std::wstring & |           rsFileName,  | 
         
        
           | 
           | 
          std::wstring & |           rsExtension,  | 
         
        
           | 
           | 
          const fs::path & |           rFileSystemPath ) | 
         
       
   | 
  
private   | 
  
 
Liefert aus übergebenen Filesystem-Pfad den Dateinamen und die Extension. Diese Funktion gibt es, damit bei einerm Dateinamen == "*" auch eine Extension ".*" geliefert wirde. 
- Parameter
 - 
  
    | [in,out] | rsFileName | Der ermittelte Dateiname.  | 
    | [in,out] | rsExtension | Die ermittelte Extension-Bezeichnung.  | 
    | [in] | rFileSystemPath | Der Pfad, aus dem die Datei- und Extension-Bezeichnung ermittelt werden soll.   | 
  
   
 
 
◆ operator=()
Der Zuweisungsoperator steht nicht zur Verfügung.  
 
 
◆ showHelp()
  
  
      
        
          | void EfcApp::showHelp  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
private   | 
  
 
Zeigt die Befehlssyntax von efc an.  
 
 
◆ showResult()
  
  
      
        
          | void EfcApp::showResult  | 
          ( | 
          int |           iResultCode,  | 
         
        
           | 
           | 
          const std::string & |           rsCurrentFile ) | 
         
       
   | 
  
private   | 
  
 
Zeigt an, wie oft ein Austausch stattgefunden hat bzw. wenn ein Fehler aufgetreten ist, eine Fehlermeldung. 
- Parameter
 - 
  
    | [in] | iResultCode | Der Fehlercode.  | 
    | [in] | rsCurrentFile | Die Bezeichnung der aktuell bearbeiteten Datei.   | 
  
   
 
 
◆ m_bSimulate
Wenn true, wird die Verarbeitung nur simuliert, also keine Änderungen gespeichert (Voreinstellung ist 'false').  
 
 
◆ m_bStopOnError
  
  
      
        
          | bool EfcApp::m_bStopOnError | 
         
       
   | 
  
private   | 
  
 
Wenn true, wird bei Fehlern die Verarbeitung angehalten und auf einen Tastendruck gewartet (Voreinstellung ist 'false').  
 
 
◆ m_iVerboseMode
  
  
      
        
          | int EfcApp::m_iVerboseMode | 
         
       
   | 
  
private   | 
  
 
Der Ausgabemodus (Voreinstellung ist 0).
- 0 -> Nichts anzeigen
 
- 1 -> nur gefundene Dateien anzeigen
 
- 2 -> alles anzeigen (auch skipped)  
 
 
 
◆ m_ParaVector
  
  
      
        
          | std::vector<std::wstring> EfcApp::m_ParaVector | 
         
       
   | 
  
private   | 
  
 
Ein Vector mit den Parametern.  
 
 
◆ m_sFileExtensionFilter
  
  
      
        
          | std::wstring EfcApp::m_sFileExtensionFilter | 
         
       
   | 
  
private   | 
  
 
Der Dateiextension Filter kann auch Platzhalterzeichen ('*' und '?') beinhalten.  
 
 
◆ m_sFileNameFilter
  
  
      
        
          | std::wstring EfcApp::m_sFileNameFilter | 
         
       
   | 
  
private   | 
  
 
Der Dateinamen Filter kann auch Platzhalterzeichen ('*' und '?') beinhalten.  
 
 
◆ m_sLanguage
  
  
      
        
          | std::string EfcApp::m_sLanguage | 
         
       
   | 
  
private   | 
  
 
Die ermittelte Sprache (Voreinstellung ist "en" für englisch).  
 
 
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: