none
Læse/skrive tekstfil med tabulator som feltadskiller. RRS feed

Svar

  • Hej Morten

    Se hjælpefilen under WRITE specielt:

    Ved skrivning af tekst-fil benyttes variablen &OUTFLDDEL som felt-skilletegn og variablen &OUTRECDEL som post-skilletegn.

    Standardværdien af disse variabler er:

    · For &OUTFLDDEL " "
    · For &OUTRECDEL "\r\n"

    så du burde kunne sætte &OUTFLDDEL til "\t"

    WRITE

    Top  Previous  Next

     

    Microsoft Dynamics C5 2012

    Kommandoen WRITE anvendes til at oprette poster i fremmede kartoteker.

    Syntaksen for kommandoen WRITE er:

    WRITE <udtryk> AS <fil-type> FROM '('{<udtryk> | ','}')'

     

    For denne syntaksbeskrivelse gælder:

    WRITE Signal om at udskrive en post til et fremmed kartotek.

     

    <udtryk> Navnet på det fremmede kartotek, hvortil posten ønskes udskrevet.

     

    AS Signal om, at det efterfølgende nøgleord specificerer formatet på det fremmede kartotek.

     

    <fil-type> Formatet på det fremmede kartotek.

     

    FROM Signal om, at efterfølgende liste af udtryk skal evalueres og værdierne tildeles felter i den post, som oprettes.

     

    () Listen af udtryk omgives af et sæt af parenteser.

     

    <udtryk> Et vilkårligt udtryk.

     

    , Udtrykkene i listen adskilles med et eller flere kommaer.

     

    Inden for den samme kørsel er det muligt at oprette flere poster i det samme kartotek, ligesom man kan oprette poster i flere kartoteker.

    Måden, hvorved man styrer hvilket kartotek en post skal oprettes i, er gennem navnet på den fil, i hvilken kartoteket findes. For hvert nyt filnavn, der forekommer i WRITE-kommandoerne, oprettes der en nyt fremmed kartotek.

     

    På trods af at man skal specificere formatet (dvs. fil-typen) for det fremmede kartotek i hver WRITE-kommando, anvendes denne information kun første gang, der oprettes en post i hver af de ny fremmede kartoteker. De efterfølgende gange ignoreres informationen af systemet. Hvis man i to forskellige WRITE-kommandoer skriver poster til det samme kartotek, men specificerer forskellige formater for kartoteket, vil kartoteket få det format, som specificeres i den først udførte WRITE-kommando.

     

    Udlægningen af felter i poster, der oprettes med en WRITE-kommando, kan være dynamisk, dvs. at felterne ikke udlægges ens i alle poster. Udlægningen af felterne til hver post er direkte afhængig af listen af udtryk, der specificeres i den WRITE-kommando, som har oprettet posten.

     

    Indeholder listen af udtryk tomme pladser, vil den post, som oprettes af denne kommando, ligeledes indeholde et tomt felt. Typen af dette felt er afhængig af formatet på kartoteket. En liste af udtryk har tomme pladser, hvis der findes kommaer, hvorimellem der ikke er specificeret udtryk.

     

    I det følgende eksempel gennemløbes et Medarbejder-kartotek, og for hver post udskrives medarbejderens nummer og navn til en kommafil ved navn "medarb.kom":

    { Skriv nummer og navn på Medarbejdere som poster i en komma fil }

    SEARCH Medarbejder SEQ

    WRITE "Empl.com" AS COMMA

    FROM (Medarbejder.Nummer,Medarbejder.Navn)

    END

     

    I dette eksempel gennemløbes Medarbejder-kartoteket sekventielt. For hver medarbejder oprettes en post i et fremmed kartotek, der indeholder medarbejdernes nummer og navn.

    Skrivning af tekst-filer

    Ved skrivning af tekst-fil benyttes variablen &OUTFLDDEL som felt-skilletegn og variablen &OUTRECDEL som post-skilletegn.

    Standardværdien af disse variabler er:

    · For &OUTFLDDEL " "
    · For &OUTRECDEL "\r\n"

     

    Det følgende er et eksempel på læsning og skrivning af en tekst-fil:

    STR 20 &Str1

    STR 20 &Str2

    SET &INFLDDEL = "FFF"

    SET &OUTFLDDEL = "RRR"

    SET &OUTFLDDEL = ","

    SET &OUTRECDEL = "\r\n"

    READ "infile.txt" AS TEXT INTO (&Str1, &Str2)

    WRITE "outfile" AS TEXT FROM (&Str1, &Str2)

    SET &OUTFLDDEL = "fff"

    END

    Hvis filen "indfil" indeholder:

     

    11FFF2RRRaaFFFbb

     

    Vil kørslen danne filen "udfil" med følgende indhold:

    11,2

     

    aafffbb

     

    Skrivning til SQL database ikke mulig

    Hvor det ved hjælp af kommandoen READ er muligt at indlæse fra en SQL database, er der ikke mulighed for at skrive til en SQL database.

    Skrivning til/Fra ODBC database


    Venlig Hilsen Henrik Hansen Senior Software Engineer Microsoft Dynamics SCM

    30. juli 2018 05:35
    Ejer