Tuesday, April 7, 2015
Pseudocode - Read file from Navision
File Method:
FileName := 'D:\interface\';
FileRec.RESET;
FileRec.SETRANGE(Path,FileName);
FileRec.SETRANGE("Is a file",TRUE);
FileRec.SETFILTER(Name, '@*.TXT');
IF FileRec.FINDFIRST THEN
REPEAT
CLEAR(ImportFile);
ImportFile.TEXTMODE := TRUE;
ImportFile.WRITEMODE := FALSE;
ImportFile.OPEN(FileName + FileRec.Name);
FileSize := ImportFile.LEN;
CurrFilePos := ImportFile.POS;
WHILE(CurrFilePos <> FileSize) DO BEGIN
ImportFile.READ(TextLine);
FOR I := 1 TO STRLEN(TextLine) DO BEGIN
Chr := COPYSTR(TextLine,I,1);
MESSAGE(Chr);
END;
CurrFilePos := ImportFile.POS;
END;
ImportFile.CLOSE;
UNTIL FileRec.NEXT = 0;
Object:
OBJECT Codeunit 50051 Import Text - Stream Method
{
OBJECT-PROPERTIES
{
Date=08/04/15;
Time=[ 8:59:11 AM];
Modified=Yes;
Version List=MY.LAB;
}
PROPERTIES
{
OnRun=BEGIN
FileName := 'D:\interface\';
FileRec.RESET;
FileRec.SETRANGE(Path,FileName);
FileRec.SETRANGE("Is a file",TRUE);
FileRec.SETFILTER(Name, '@*.TXT');
IF FileRec.FINDFIRST THEN
REPEAT
CLEAR(ImportFile);
ImportFile.TEXTMODE := TRUE;
ImportFile.WRITEMODE := FALSE;
ImportFile.OPEN(FileName + FileRec.Name);
ImportFile.CREATEINSTREAM(StreamInText);
WHILE NOT (StreamInText.EOS()) DO BEGIN
StreamInText.READTEXT(TextLine);
FOR I := 1 TO STRLEN(TextLine) DO BEGIN
Chr := COPYSTR(TextLine,I,1);
MESSAGE(Chr);
END;
END;
ImportFile.CLOSE;
UNTIL FileRec.NEXT = 0;
END;
}
CODE
{
VAR
FileRec@1000000002 : Record 2000000022;
ImportFile@1000000001 : File;
FileName@1000000000 : Text[250];
TextLine@1000000005 : Text[1024];
FileSize@1000000004 : Integer;
CurrFilePos@1000000003 : Integer;
EntryNo@1000000007 : Integer;
Chr@1000000008 : Text[1];
I@1000000010 : Integer;
StreamInText@1000000009 : InStream;
BEGIN
END.
}
}
Stream Method:
FileName := 'D:\interface\';
FileRec.RESET;
FileRec.SETRANGE(Path,FileName);
FileRec.SETRANGE("Is a file",TRUE);
FileRec.SETFILTER(Name, '@*.TXT');
IF FileRec.FINDFIRST THEN
REPEAT
CLEAR(ImportFile);
ImportFile.TEXTMODE := TRUE;
ImportFile.WRITEMODE := FALSE;
ImportFile.OPEN(FileName + FileRec.Name);
ImportFile.CREATEINSTREAM(StreamInText);
WHILE NOT (StreamInText.EOS()) DO BEGIN
StreamInText.READTEXT(TextLine);
FOR I := 1 TO STRLEN(TextLine) DO BEGIN
Chr := COPYSTR(TextLine,I,1);
MESSAGE(Chr);
END;
END;
ImportFile.CLOSE;
UNTIL FileRec.NEXT = 0;
Object:
OBJECT Codeunit 50050 Import Text - File Method
{
OBJECT-PROPERTIES
{
Date=08/04/15;
Time=[ 8:59:01 AM];
Modified=Yes;
Version List=MY.LAB;
}
PROPERTIES
{
OnRun=BEGIN
FileName := 'D:\interface\';
FileRec.RESET;
FileRec.SETRANGE(Path,FileName);
FileRec.SETRANGE("Is a file",TRUE);
FileRec.SETFILTER(Name, '@*.TXT');
IF FileRec.FINDFIRST THEN
REPEAT
CLEAR(ImportFile);
ImportFile.TEXTMODE := TRUE;
ImportFile.WRITEMODE := FALSE;
ImportFile.OPEN(FileName + FileRec.Name);
FileSize := ImportFile.LEN;
CurrFilePos := ImportFile.POS;
WHILE(CurrFilePos <> FileSize) DO BEGIN
ImportFile.READ(TextLine);
FOR I := 1 TO STRLEN(TextLine) DO BEGIN
Chr := COPYSTR(TextLine,I,1);
MESSAGE(Chr);
END;
CurrFilePos := ImportFile.POS;
END;
ImportFile.CLOSE;
UNTIL FileRec.NEXT = 0;
END;
}
CODE
{
VAR
FileRec@1000000002 : Record 2000000022;
ImportFile@1000000001 : File;
FileName@1000000000 : Text[250];
TextLine@1000000005 : Text[1024];
FileSize@1000000004 : Integer;
CurrFilePos@1000000003 : Integer;
EntryNo@1000000007 : Integer;
Chr@1000000008 : Text[1];
I@1000000010 : Integer;
BEGIN
END.
}
}
Labels:
Navision
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment