[パスカル – TUT] 投稿 10: パスカルのファイル – ファイルタイプ
1 ファイルの概念:
[qads]
Type Arr = array[1..100] of integer; {dinh nghia mang Arr} TArr = FILE of Arr; {dinh nghia tep TArr co cac phan tu la mang Arr} TStr = FILE of String[50]; {tep TStr co cac phan tu la chuoi co do dai 50 ky tu} SinhVien = Record Msv, Hoten : String[50]; Diem : real; end; TSv = FILE of SinhVien; {tep TSv gom cac phan tu la kieu SinhVien} Var T1 : TArr; T2 : TStr; T3 : TSv;
- 直接変数宣言の変数定義ファイル
Var T4 : FILE of array[1..100] of real; T5 : FILE of SinhVien;
1. 入力したテキストファイルにエクスポート
ファイルへのアクセスは、ファイルにデータを入力すると解釈され, 外部記憶装置に記録されたデータ, 画面またはプリンタのデータを読み出し、それを処理する.
ファイルを操作する前に、我々は割り当てる手順を使用する必要があります(bientep, tentep). この手順では、ディスク·ファイルを割り当てることを目的と (tentep) RAM内のファイルのための変数名 (bientep).
- レコードに新しいファイルを開きます。:
Assign(bientep, tentep); Rewrite(bientep);
手順 リライト ディスク上のファイルが名前に一致した場合に割り当てファイルを割り当てると、コマンドの書き換えを使用してファイルを開くlieu.Khiデータを取得するためにそれを開くために変数名に割り当てられたディスク·ファイル名を作成します. コマンド·リライトを使用してファイルを開くときは注意してください.
- ファイルを開くには入れています:
Assign(bientep, tentep); Append(bientep);
- データを読むためにファイルを開きます:
Assign(bientep, tentep); Reset(bientep);
注目: あなたがリセットを使用してファイルを開くと、ディスク上にファイルがエラーになりません場合は、.
CLOSE(bientep);
次のようにFile型の変数に関するデータの入力にのみ行われます:
– 手順を使用してファイルからデータを読み込む Readln(bientep,はい);
– ディスクにデータを書き込む: プロシージャの使用 のwriteln(bientep,はい);
例:
uses crt; var t : Text; str : string; BEGIN clrscr; assign(t, 'inputText.txt'); {gan ten bien tep cho tep} rewrite(t); {mo tep de ghi du lieu} writeln(t, 'nguyenvanquan'); writeln(t, '7826'); reset(t); {mo tep de doc du lieu} writeln('Data of file inputText.txt:'); {trong khi con tro tep chua den cuoi tep thi cu doc} while not eof(t) do begin readln(t, str); writeln(str); end; append(t); {mo tep de ghi them du lieu} writeln(t, 'test'); close(t); reset(t); writeln; writeln('Data of file inputText.txt after change:'); {trong khi con tro tep chua den cuoi tep thi cu doc} while not eof(t) do begin readln(t, str); writeln(str); end; close(t); {dong tep} readln; END.
2. ファイルタイプ
我々は、すべてのファイルタイプのテキスト入力を知っていて、そのような読み取り等の記録データに問題を引き起こすとして, 記録されたデータ 1 学生は非常に複雑にする必要があります. 私たちは、より単純なファイルタイプを処理することができます.
読み書き :
– ファイルへの書き込み: 書く(bientep,property.1、bien2 ...); bien1、bien2で、...変数ファイルと同じ型の変数である.
– ファイルを読む: リード(bientep,property.1、bien2 ...);
注目:
テキストファイルとは異なり, 書き込み、ストリームにデータを書き込まないことを意味のwritelnコマンドまたはファイルタイプreadlnを使用していないファイルタイプを読む. ファイルの種類の要素は、メモリセルのみ終了シンボルEOFファイルに連続して記録されている. 我々は、ファイル要素を読んだり、書き終えたときに、カーソルが自動的に次の位置に移動します.
ファイルのi番目の要素へのアクセス: 求める(bientep,で); I = 0,1,2、...
手続きには、ファイルのi番目の位置にカーソルを配置するために求める.
ファイルハンドラ:
* ファイルサイズ(bientep) ファイル内の要素の数を示す
* FILEPOS(bientep) 前記ファイルポインタの現在位置
* EOF(Bientep) 値がtrueの場合、ファイルの場所の最後にファイルポインタ, 偽後方
例:
uses crt; Type SinhVien = Record MSv, Hoten : String; Diem : real; end; Var TSv : FILE of SinhVien; sv : SinhVien; i : integer; BEGIN clrscr; assign(TSv, 'SV.dat'); rewrite(TSv); for i:= 1 to 3 do {ghi du lieu 3 sinh vien vao tep} begin {nhap du lieu} write('Nhap ma sinh vien thu ', i, ' : '); readln(sv.MSv); write(' Nhap ten sinh vien: '); readln(sv.Hoten); write(' Nhap diem cua sinh vien: '); readln(sv.diem); {ghi du lieu vao tep} write(TSv, sv); end; close(TSv); reset(TSv); {mo tep de doc} writeln; writeln('Thong tin sinh vien thu 2 trong tep:'); seek(TSv, 2); read(TSv, sv); writeln('MSV: ', sv.MSv); writeln('Ho ten: ', sv.Hoten); writeln('Diem: ', sv.diem:3:2); close(TSv); readln; END.
あなたがファイルを開くと、それがそのテキストではなくバイナリ形式で書かれてではなく、情報がまだ正確でされると、それが目的の情報を見つけることがSV.datができません.
記事の中で参照:
codepascal.blogspot.com
z15.invisionfree.com
ああ、私はアイン・クアン聞いてみよう:ファイルのデータの一部を削除する方法?
実はそのはよく考え抜かれない実行しようとしますが、ファイルを読み込むことで行うことができません, その後、必要に応じてどのファイルを記録.
夜の先生はあなたに感謝します!
上のブログの記事をありがとう
しかし、私は年生です 8 そしてそれは彼が、ファイルの内容と理解しやすいとシンプルについて何をすべきかを私に言うことができないので、情報の専門家を実装していない準備します
あなたが知っているすべては裸WHIP.
彼が出て、どこか別のファイル対INP
入力ファイルINP (入力)
ouputをファイルアウト (出力)
プログラムがあることではないから出るときに、ファイル内のデータが削除され、彼
ジャイブ削除されていません.
eは、ファイルの種類を尋ねたどのように宣言されていません?
私は、上記の手順を持っていたあなたを得ました.
私はから順にエクスポートします 1 へ 3 , 各競技者は、 1 行;
私のコードは、 :……
リセット(TSV);
I = 3行うにはI = 1のために
スタート
書く(sv.Msv,’ 「);
書く(sv.Hoten,’ 「);
writeln(sv.Diem);
より;
クローズ(TSV);
readln;
しかし、それだけで、出力の最後の出場者のàを行います ?
彼らは、ファイルコマンドに何の記録をしなければならない恐れていません.
プログラムTaptin;
CRTを使用しています;
タイプ
thisinh =記録
脅威:文字列[10];
シン:整数;
Diemthi: リアル;
出力:(trungbinh,KHA,クリーム,gioi);
より;
MTS : thisinhのファイル;
で:整数;
SV:thisinh;
スタート
clrscr;
割り当てます(MTS,「Thisinh.dat」);
リライト(MTS);
私のために:= 1〜 2 の
スタート
書く(「名前生まれコレクタを入力します」,で,':');
readln(sv.Hoten);
書く(「インポート男の子:');
readln(sv.Namsinh);
書く(「コンテストのエントリーポイント:');
readln(sv.Diemthi);
書く(「結果を入力します。:');
readln(sv.Ketqua);
書く(MTS,SV);
より;
クローズ(MTS);
リセット(MTS);
writeln;
writeln;
私のために:= 1〜 2 の
スタート
書く(sv.Hoten,’ 「);
書く(sv.Namsinh,’ 「);
書く(sv.Diemthi:3:2,’ 「);
writeln(sv.Ketqua);
より;
クローズ(MTS);
readln;
より.
コードは、「ここで電子 . 一見それとE
なぜCMTの先生を削除 ? 順番にファイルをエクスポートする方法についての電子のみの質問 ??
私は基本的なコードを設置しました, 茶は言います, プロセッサはまた、方法がわかりません. あまりビューそれはまた、どのように記述しなければなりません, 何かを, 大丈夫ミスアウト.
私は、なぜ人に聞いてみよう
シーク(TSV, 2);
読む(TSV, SV);
キッズ・マシンへの場合 0 それは、レコードを検索します 1; もし 1 それは、レコードを検索します 2. すなわち、それは増加します 1 彼のポストとは異なり見つけるために 2 それアウト 2.
子供のための部屋が常に尋ねます. 彼の例の先生の一部ので、フォーマットされた部分のコードを取る方法?
私はを参照したいです 1 Webページ.
Webユーザーは、自分のワードプレスを行います, それは、プラグイン.
あなたはこの記事を参照してください: https://cachhoc.net/2014/06/18/wordpess-hien-thi-code-tren-wordpress-voi-syntax-highlighted-posting-source-code-on-wordpress-with-syntax-highlighted/
Webユーザーは、自分のワードプレスを行います, それは、プラグイン.
あなたはこの記事を参照してください: https://cachhoc.net/2014/06/18/wordpess-hien-thi-code-tren-wordpress-voi-syntax-highlighted-posting-source-code-on-wordpress-with-syntax-highlighted/
かわいいです, E結果DJKサーなしで永遠に行います:
プログラムKhoang_Cach;
ここで、d:リアル;
F: テキスト;
X,と: 整数;
ベギン
割り当てます(F,’ TRAI.TXT ");
リセット(F);
EOFはないが、(F) の
ベギン
リード(F,X,と);
D:= SQRT(X * X + Yの* yを);
のwriteln(‘ 距離:', D:10:2)
終わり;
閉じる(F)
Readln;
終わり.
フォワード広告ヘルプの修正のバグとヘルプ電子対電子を探して
これは、あなたが持っていないデータファイルで見るべきです. どのようにデバッグは、それを表示してみてください?
閉じる(F) 不足している兆候 ;
muốn mở tiệp ra và ghi giá trị vào cuối cùng của biến có kiểu thì sao? Không sử dụng đc Append?
thế làm sao để đọc dữ liệu văn bản trong tệp
ở trên anh mới hướng dẫn đọc dữ liệu số thôi
Có đọc text ở trên rồi mà 🙂
Em phải xem tệp TRAI.TXT có nhập dữ liệu vào chưa? Đúng quy cách không?
電子尋ねます: BTVN của e như sau: tính 1/1+2 +1/2+3 + 1/3+4 +…+1/(-1)+N, e viết chương trình như sau:
program tinh;
CRTを使用しています;
var i,N: 整数;
S: リアル;
スタート
clrscr;
書く(‘Nhap so n: 「); Readln(N);
S:= 0;
fori:=1 to n do if i mod 2 0 then S:= S+1/((iは、1)+で);
writeln(‘ トンラ: 「,S + 2018 :5:0);
readln
より.
このようなプログラムを作成しますが、任意の数値を入力すると、結果が生成されます 2019 以上
何が問題なのかを確認できるようにお手伝いします?
助けて
なぜ修正されたのか 2018 出力で?