Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Język CA-Clipper komendy - import z *.txt do kolumny w *.dbf

04 Aug 2008 19:00 3934 4
  • Level 16  
    Witam!!!

    chciałbym zaimportować dane z pliku opis.txt
    do kolumny lista w pliku adresy.dbf

    plik OPIS.TXT zawiera dane w takiej formie:


    , boski307 <boski307(małpa)wp.pl>
    , biuro <biuro(małpa)elmer.krakow.pl>
    , biuro <biuro(małpa)wp.pl>
    , besthand <besthand(małpa)wp.pl>
    , belata <belata(małpa)onet.pl>
    , at89c2051 <at89c2051(małpa)onet.pl>


    program .prg nie wykonuje tej funkcji
    gdzie jest błąd.

    Kod:
    Code:


    use MAIL
    APPEND FROM OPIS TYPE SDF
    QUIT
    USE





    proszę o pomoc

    pozdrawiam!!
  • Level 16  
    Format dbase to nie to samo co .txt
  • Level 16  
    witam
    Program język clipper /harbour tworzenie nowego rekordu z zapisem zmiennej

    Program wykonuje zapis zmiennej "NUM" do bazy plik base.dbf pole "numer" ;(n)5;
    mam probem z tą procedurą ponieważ do pola numer są wpisywane tylko liczby całkowite
    a to co po przecinku ułmki dziesietne i setne brak .
    jakiej użyc procedury .

    Code:


    function main()

    test()

    procedure test()
    local NUMER := 1126.55

    NUM=NUMER

    Use base

    DO WHILE .T.
    @ 6,0 SAY "CZY POPR(T/N)" GET NUM PICTURE '9999.99'

    READ
    TAK='T'

    @ 10,0 SAY " CZY POPRAWNE(T/N)" GET TAK


    READ
    IF UPPER(TAK)="T"
    APPEND BLANK
    REPLACE NUMER WITH STR(NUM)

    EXIT
    ENDIF
    ENDDO

    Close All

    USE
    return



    proszę o pomoc
    pozdrawiam

    Code:
  • Helpful post
    Level 11  
    ekspert100 wrote:
    witam
    Program język clipper /harbour tworzenie nowego rekordu z zapisem zmiennej

    Program wykonuje zapis zmiennej "NUM" do bazy plik base.dbf pole "numer" ;(n)5;
    mam probem z tą procedurą ponieważ do pola numer są wpisywane tylko liczby całkowite
    a to co po przecinku ułmki dziesietne i setne brak .
    jakiej użyc procedury .

    Code:


    function main()

    test()

    procedure test()
    local NUMER := 1126.55

    NUM=NUMER

    Use base

    DO WHILE .T.
    @ 6,0 SAY "CZY POPR(T/N)" GET NUM PICTURE '9999.99'

    READ
    TAK='T'

    @ 10,0 SAY " CZY POPRAWNE(T/N)" GET TAK


    READ
    IF UPPER(TAK)="T"
    APPEND BLANK
    REPLACE NUMER WITH STR(NUM)

    EXIT
    ENDIF
    ENDDO

    Close All

    USE
    return



    proszę o pomoc
    pozdrawiam

    Code:


    REPLACE NUMER WITH STR(NUM) // w tej linii jest błąd nie może być str(num) skoro w bazie masz wg. opisu pole numeric 5 . Powinno być :
    REPLACE NUMER WITH NUM // to po pierwsze primo ;-)

    po drugie primo w bazie którą zostawiłeś deklaracja pola wygląda tak : NUMER - Numeric - 4 - 2 czyli dwie liczby po przecinku i jedna przed. generalnie wielkość pola typu numeric w bazie wylicza się tak : ilość miejsc przed przecinkiem +1 (na przecinek)+ilość miejsc po przecinku. Tak wyliczoną wartość wpisujesz w WIDTH a ilość miejsc po przecinku wpisujesz w DEC i to wszystko