phc テーブルを txtfile の情報に置き換えようとしていますが、画面に情報が表示されません。
re は、値を置き換えたいテーブルです txtcabecalho は、人々が選択しなければならないインポートされたファイルです reciboc は、txt ファイルからの値を保存するために作成したカーソルです。 sre はテーブル re の画面です。
Local txtcabecalho
Use re
Delete all
txtcabecalho=getfile("txt")
Create cursor reciboc(rno n(10), rdata d(10), moeda c(3), no n(10), nome c(2), ccusto c(20), intid c(10), clbanco c(20), total float(19), totalmoeda float(19), ndoc n(3))
append from (txtcabecalho) delimited with tab
select reciboc
goto top
scan for !empty(reciboc.rno)
select re
append blank
replace re.rno with reciboc.rno
replace re.rdata with reciboc.rdata
replace re.moeda with reciboc.moeda
replace re.no with reciboc.no
replace re.nome with reciboc.nome
replace re.ccusto with reciboc.ccusto
replace re.intid with reciboc.intid
replace re.clbanco with reciboc.clbanco
replace re.total with reciboc.total
replace re.totalmoeda with reciboc.totalmoeda
replace re.ndoc with reciboc.ndoc
select re
endscan
sre.refresh()
ありがとう!
更新しました
したがって、これは、たとえばタブで選択した区切り記号で自分のファイルを作成すると、実際に機能します。このことは、インポートする必要があるファイルがスペースホルダーとしてスペースを使用するようなものであり、互いに区切りがないことです。もっとよく説明しましょう。たとえば、最初の 3 つのフィールド rno と rdata と moeda です。
txtファイルは次のようになります22014-12-23EUR
2 は rno ですが、後ろに 9 個のスペースがあり、より大きな数のプレースホルダーのように機能して rno(10) になります。 moeda wich は EUR で、ここでも区切りなしで、moeda(3) です。
多くのフィールドは空白になり、txt ファイルにはフィールド全体を占めるスペースが含まれています。基本的にはフィールドの長さで区切られ、空の場合はスペースで埋められます。
あなたは正しく理解しましたか?申し訳ありませんが、私は英語のネイティブではありません。
アップデート
heresはtxtファイルの一部です22014-11-27EUR 208 799,00 799,00 00
最初の数字 2 の前に 9 個のスペースがあることに注意してください。ありがとう!
2014-11-27 で埋められる rdata フィールドは rdata d(10) です
編集済み
現在のコード:
Local txtcabecalho, fileconvert
Use re
zap
txtcabecalho=getfile("txt")
Create cursor reciboc(rno n(10), rdata d(10), moeda c(3), no n(10), nome c(2), ccusto c(20), intid c(10), gg c(20), chq c(20), clbanco c(20), total float(19), totalmoeda float(19), ndoc n(3))
fileconvert = filetostr(txtcabecalho)
chrtran(fileconvert,'-','')
strtofile(fileconvert, txtcabecalho)
append from (txtcabecalho) type sdf
scan
select re
append blank
replace rno with reciboc.rno
replace rdata with reciboc.rdata
replace moeda with reciboc.moeda
replace no with reciboc.no
replace nome with reciboc.nome
replace ccusto with reciboc.ccusto
replace intid with reciboc.intid
replace clbanco with reciboc.clbanco
replace total with reciboc.total
replace totalmoeda with reciboc.totalmoeda
replace ndoc with reciboc.ndoc
select re
endscan
select reciboc
browse title "resultado"
reindex
sre.refresh()
私が得るものこれは私が得るもの
まだ理解しようとしていますが、本当にわかりません。
例: 最初の行は次のようになります。
RNO 2 RDATA 2014-11-27 NO 208
編集済み
実際、これはそれをああしました
fileconvert = filetostr(txtcabecalho)
fileconvert2 = strtran(fileconvert,'-','')
strtofile(fileconvert2, txtcabecalho)
さらに助けが必要な場合は、質問を更新します! どうもありがとうございました!
編集済み
txtファイルの浮動小数点数からカーソルへの変換に問題があるかどうか知っていますか?
たとえば 799,20 を取得しましたが、799 として表示されます。データ型は totalmoeda f(19) に設定されています。これはかなり単純なはずですが、見つかりません!