Microsoft_MVP_banner

Retrieving/Picking files from Directory through X++

Following piece of code to pick all files from a directory.



static void
readFromDirectory(Args _args)
{
    #Evat_NL
    #File
   
    // variable declration to retrieve files from folder
   
Filename            baseFolder;
   
Filename            pdfFilename;
   
Filename           
foundBaseFileName;
   
Filename            foundFileName;
   
    container           mainFolder, subFolder,
fileContainer;
    boolean             filesFoundMainFolder = true;
    boolean             filesFoundSubFolder = true;
   
    int                 apiResult;   
    int                 startTime, endTime,
fileCounter;
   
   
RecordInsertList    recordList = null;
    int setCurrentFolder (Filename _filename = )
    {
        ;
        return
WinAPI::setCurrentDirectory(_filename);
    }
    ;  
   
   
baseFolder = @”C:Testinvoices”;
// Reading all pdf invoices from a directory
   
apiResult           =
setCurrentFolder(SysTreeNode::duplicatePathDelimiters(baseFolder));
   
mainFolder          =
WinAPI::findFirstFile(“*.pdf*”);
   
foundBaseFileName   = conpeek(mainFolder, 2);   
    startTime
= WinAPI::getTickCount();
    while (filesFoundMainFolder)
    {
        if (foundBaseFileName != #currentFolder
&& 

            foundBaseFileName != #upFolder && 
            foundBaseFileName != )
        {
            // Concatenating each file with base folder to get full
path
            // For example; C:TestinvoicesInvoice1.pdf
           
pdfFilename = baseFolder + foundBaseFileName;
           
fileCounter++;
        }
       
apiResult            =
setCurrentFolder(SysTreeNode::duplicatePathDelimiters(baseFolder));
       
foundBaseFileName    = WinAPI::findNextFile(conpeek(mainFolder, 1));
       
filesFoundMainFolder =
foundBaseFileName ? true : false;
    }
    endTime =
WinAPI::getTickCount();
    info(strFmt(‘It took
%1 minutes to read %2 pdf files’
, ((endTime – startTime)/1000)/60,
fileCounter));
}

Share:

Send Us A Message

Leave a Reply

Your email address will not be published. Required fields are marked *

FaisalFareed@2025. All rights reserved

Design by T3chDesigns