Văn Bản Điện Tử Là Văn Bản Dưới Dạng Thông Điệp Dữ Liệu Được Tạo Lập Hoặc Được Số Hóa Từ / Top 9 # Xem Nhiều Nhất & Mới Nhất 2/2023 # Top View | Bac.edu.vn

Định Dạng Số Dưới Dạng Văn Bản

Nếu bạn muốn Excel điều trị một số loại số như văn bản, bạn có thể sử dụng định dạng văn bản thay vì định dạng số. Ví dụ, nếu bạn đang dùng số thẻ tín dụng hoặc các mã số khác có chứa 16 chữ số trở lên, bạn phải sử dụng định dạng văn bản. Đó là vì Excel có tối đa 15 chữ số của độ chính xác và sẽ làm tròn bất kỳ số nào theo dõi số thứ 15 xuống bằng không, vốn có thể không phải là điều bạn muốn xảy ra.

Thật dễ dàng để thông báo cho bạn biết một số được định dạng như văn bản, vì nó sẽ được căn trái thay vì căn phải căn phải trong ô.

Chọn ô hoặc phạm vi ô có chứa các số mà bạn muốn định dạng là văn bản. Cách chọn ô hoặc phạm vi.

Mẹo: Bạn cũng có thể chọn các ô trống, rồi nhập số sau khi bạn định dạng các ô ở dạng văn bản. Những số này sẽ được định dạng là văn bản.

Trên tab trang đầu, trong nhóm số , bấm vào mũi tên bên cạnh hộp định dạng số , rồi bấm văn bản.

Lưu ý: Nếu bạn không nhìn thấy tùy chọn văn bản , hãy sử dụng thanh cuộn để cuộn đến cuối danh sách.

Mẹo:

Để dùng các vị trí thập phân trong các số được lưu trữ dưới dạng văn bản, bạn có thể cần bao gồm các dấu thập phân khi bạn nhập các số.

Khi bạn nhập một số bắt đầu bằng 0 – ví dụ: Mã sản phẩm – Excel sẽ xóa bỏ bằng không theo mặc định. Nếu đây không phải là điều bạn muốn, bạn có thể tạo định dạng số tùy chỉnh để giữ lại Excel để giữ nguyên phần 0 đứng đầu. Ví dụ, nếu bạn đang nhập hoặc dán mã sản phẩm mười chữ số trong trang tính, Excel sẽ thay đổi các số như 0784367998 vào 784367998. Trong trường hợp này, bạn có thể tạo định dạng số tùy chỉnh bao gồm mã 0000000000, trong đó lực lượng Excel Hiển thị tất cả mười chữ số của mã sản phẩm, bao gồm cả số 0 đứng đầu. Để biết thêm thông tin về sự cố này, hãy xem tạo hoặc xóa định dạng số tùy chỉnh và giữ số không đứng đầu trong mã số.

Đôi khi, các số có thể được định dạng và lưu trữ trong các ô dưới dạng văn bản, sau này có thể gây ra sự cố với các phép tính hoặc tạo ra các đơn hàng sắp xếp khó hiểu. Đôi khi này sẽ xảy ra khi bạn nhập hoặc sao chép số từ một cơ sở dữ liệu hoặc nguồn dữ liệu khác. Trong trường hợp này, bạn phải chuyển đổi các số được lưu dưới dạng văn bản trở lại số. Để biết thêm thông tin, hãy xem chuyển đổi số được lưu trữ dưới dạng văn bản thành số.

Bạn cũng có thể sử dụng hàm TEXT để chuyển đổi một số thành văn bản theo định dạng số cụ thể. Đối với ví dụ về kỹ thuật này, hãy xem giữ số không đứng đầu trong mã số. Để biết thông tin về cách sử dụng hàm TEXT, hãy xem hàm Text.

Văn Bản Điện Tử Là Gì?

Theo quy định tại Khoản 7 Điều 3 Nghị định 78/2015/NĐ-CP về đăng ký doanh nghiệp thì Văn bản điện tử được hiểu như sau:

Văn bản điện tử là dữ liệu điện tử được tạo trực tuyến hoặc được quét (scan) từ văn bản giấy theo định dạng “.doc” hoặc “.pdf” và thể hiện chính xác, toàn vẹn nội dung của văn bản giấy.

Ngoài ra, Nghị định này còn quy định một số định nghĩa khác như:

1. Đăng ký doanh nghiệp là việc người thành lập doanh nghiệp đăng ký thông tin về doanh nghiệp dự kiến thành lập, doanh nghiệp đăng ký những thay đổi hoặc dự kiến thay đổi trong thông tin về đăng ký doanh nghiệp với cơ quan đăng ký kinh doanh và được lưu giữ tại Cơ sở dữ liệu quốc gia về đăng ký doanh nghiệp. Đăng ký doanh nghiệp bao gồm đăng ký thành lập doanh nghiệp, đăng ký thay đổi nội dung đăng ký doanh nghiệp và các nghĩa vụ đăng ký, thông báo khác theo quy định của Nghị định này.

3. Cổng thông tin quốc gia về đăng ký doanh nghiệp là cổng thông tin điện tử để các tổ chức, cá nhân thực hiện đăng ký doanh nghiệp qua mạng điện tử; truy cập thông tin về đăng ký doanh nghiệp; công bố nội dung đăng ký doanh nghiệp và phục vụ công tác cấp Giấy chứng nhận đăng ký doanh nghiệp của cơ quan đăng ký kinh doanh.

4. Cơ sở dữ liệu quốc gia về đăng ký doanh nghiệp là tập hợp dữ liệu về đăng ký doanh nghiệp trên phạm vi toàn quốc. Thông tin trong hồ sơ đăng ký doanh nghiệp và tình trạng pháp lý của doanh nghiệp lưu giữ tại Cơ sở dữ liệu quốc gia về đăng ký doanh nghiệp có giá trị pháp lý là thông tin gốc về doanh nghiệp.

5. Đăng ký doanh nghiệp qua mạng điện tử là việc người thành lập doanh nghiệp hoặc doanh nghiệp thực hiện việc đăng ký doanh nghiệp thông qua Cổng thông tin quốc gia về đăng ký doanh nghiệp.

Trân trọng!

Những Loại Văn Bản Nào Sẽ Được Gửi, Nhận Điện Tử Không Kèm Văn Bản Giấy Từ Tháng 2/2020?

Trên cơ sở báo cáo của Văn phòng Chính phủ tại hội nghị sơ kết 1 năm triển khai Quyết định 28 ngày 12/7/2018 của Thủ tướng Chính phủ về gửi, nhận văn bản điện tử giữa các cơ quan trong hệ thống hành chính nhà nước, ngày 26/12/2019, Phó Thủ tướng Vũ Đức Đam đã có ý kiến chỉ đạo các bộ, ngành, địa phương về việc gửi, nhận văn bản điện tử.

Bản ghi nhớ; Bản thỏa thuận; Giấy ủy quyền; Giấy mời; Giấy giới thiệu; Giấy nghỉ phép; Phiếu gửi; Phiếu chuyển; Phiếu báo; Thư công; Văn bản gửi đến các đơn vị đã đáp ứng điều kiện, kỹ thuật liên thông gửi, nhận văn bản điện tử; Văn bản điện tử đã bao gồm chữ ký số, bảo đảm tính xác thực theo quy định pháp luật (Thông tư 41 ngày 19/12/2017 của Bộ TT&TT quy định sử dụng chữ ký số cho văn bản điện tử trong cơ quan nhà nước).

Trục liên thông văn bản quốc gia được khai trương, đưa vào vận hành từ ngày 12/3/2019.

Trục liên thông văn bản quốc gia – tiền đề của nền tảng tích hợp dữ liệu phục vụ xây dựng Chính phủ điện tử, hướng tới Chính phủ số, nền kinh tế số được chính thức khai trương, đưa vào vận hành chính thức kể từ ngày 12/3/2019. Hệ thống này ra đời cũng nhằm góp phần đổi mới phương thức làm việc của Chính phủ và các cơ quan hành chính các cấp, hướng tới Chính phủ không giấy tờ, tiết kiệm thời gian, chi phí, nâng cao hiệu lực, hiệu quả trong xử lý văn bản, công việc trên môi trường điện tử.

Thông tin từ Văn phòng Chính phủ cho hay, đến nay đã có 95/95 cơ quan nhà nước đã thực hiện gửi, nhận văn bản điện tử trên Trục liên thông văn bản quốc gia, trong đó 64/94 bộ, ngành, địa phương, cơ quan đã thực hiện gửi nhận văn bản điện tử 3 cấp chính quyền. Theo thống kê, sau gần 9 tháng đưa vào vận hành, đã có hơn 1 triệu văn bản, gồm 300.000 văn bản gửi và 700.000 văn bản nhận, trên Trục liên thông văn bản quốc gia.

Đặc biệt, tính toán sơ bộ của Văn phòng Chính phủ cho thấy, chỉ tính riêng việc gửi nhận văn bản điện tử theo 2 cấp hành chính giữa các bộ, ngành, địa phương đã giúp cắt giảm trên 1.200 tỷ đồng mỗi năm từ việc giảm chi phí sao chụp văn bản và gửi văn bản qua dịch vụ bưu chính. Cùng với đó, việc gửi, nhận văn bản điện tử giữa các cơ quan nhà nước còn giúp nâng cao năng suất lao động, giảm thời gian xử lý công việc, nâng cao chất lượng, hiệu quả hoạt động của các cơ quan nhà nước, phục vụ người dân và doanh nghiệp ngày càng tốt hơn; giúp lãnh đạo Chính phủ, các bộ, ngành, địa phương biết được tình trạng xử lý văn bản, hồ sơ, công việc để có thể chỉ đạo kịp thời.

Trong năm 2019, về thực hiện gửi nhận văn bản điện tử, Văn phòng Chính phủ đánh giá cao nỗ lực của các Bộ: TN&MT, TT&TT, Nội vụ, Ban Cơ yếu Chính phủ… và các tỉnh Quảng Ninh, Sơn La, Long An, An Giang, Kon Tum, Cần Thơ, Hà Giang, Tây Ninh, Vĩnh Long và Quảng Ngãi.

Theo Đề án Trục liên thông văn bản quốc gia đã được phê duyệt đầu tháng 8/2019, mục tiêu đặt ra trong năm nay là giảm 80% thời gian gửi, nhận văn bản giữa các bộ, ngành, địa phương; đến tháng 6/2020, các hệ thống quản lý văn bản và điều hành nội bộ của các bộ, ngành, địa phương sẽ liên thông, kết nối với nhau, kết nối tới hệ thống Trục liên thông văn bản quốc gia và phấn đấu 100% văn bản điện tử liên thông gửi, nhận 4 cấp chính quyền. Đồng thời, hình thành cơ sở hạ tầng, kỹ thuật, ứng dụng, bảo mật thông tin phục vụ gửi, nhận văn bản điện tử hướng tới hình thành nền tảng tích hợp, chia sẻ dữ liệu quốc gia.

Vân Anh

Dữ Liệu Kiểu Tệp: Tệp Văn Bản

Trong Turbo Pascal có một kiểu tệp được định nghĩa trước, đó là tệp văn bản được định nghĩa với từ chuẩn Text

Ví dụ : khai báo các biến tệp F1, F2 có kiểu Text :

Var

F1, F2 : Text ;

Các phần tử của tệp kiểu text là các kí tự song Text File khác với File Of Char ở chỗ Text File được tổ chức thành từng dòng với độ dài mỗi dòng khác nhau nhờ có thêm các dấu hết dòng ( End Of Line) hay dấu chấm xuống dòng. Đó là cặp kí tự điều khiển : CR (Carriage Return : nhảy về đầu dòng, mã ASCII = 13) và LF (Line Feed: nhảy thẳng xuống dòng tiếp theo, mã ASCII = 10). Chúng được nhận dạng để ngăn cách giữa hai dãy kí tự tuơng ứng với hai dòng khác nhau. Dấu CR và LF được màn hình cũng như máy in dùng làm kí tử điều khiển việc xuống đầu dòng tiếp theo.

Ví dụ : đoạn văn bản sau :

vi du van ban

1234

het

được hiểu là máy sẽ chứa trong tệp văn bản thành một dãy như sau :

vi du van ban CR LF 1234 CR LF het EOF

Mặc dù tệp văn bản chứa các kí tự nhưng các thủ tục Read(ln) và Write(ln) có những khả năng đặc biệt để ghi và đọc được cả những số nguyên, số thực, Boolean hoặc String nhờ sự chuyển đổi thích hợp giữa các giá trị này với các dãy kí tự.

A. GHI VÀO TỆP VĂN BẢN:

Chúng ta có thể ghi các giá trị kiểu Integer, Real, Boolean, String vào tệp văn bản bằng lệnh Write hoặc Writeln. Cách ghi này cho phép chuyển các giá trị bằng số sang dạng kí tự tức là dạng đọc được một cách tường minh như trên trang giấy, cho phép viết các bảng dữ liệu… với quy cách mong muốn.

Các cách viết :

Write ( FileVar, Item1, Item2,… ItemN ) ; Writeln ( FileVar, Item1, Item2,… ItemN ) ;

Writeln ( FileVar ) ;

_ Thủ tục Write( FileVar, Item1, Item2,… ItemN ) sẽ viết các giá trị của Item, là các biến, các hằng, hoặc biểu thức có kiểu đơn giản như Integer, Real, Char, Boolean, String vào biến tệp FileVar. Các Item không nhất thiết phải cùng kiểu.

Ví dụ :

Var

I, J : Integer ;

X : Real ;

B : Boolean ;

S5 : String [5] ;

Ta có thể viết :

Write ( FileVar, ‘ Vi du ‘, I, J, X, B, S5, 6, X + I ) ;

_ Thủ tục Write để ghi vào tệp văn bản sẽ không chấp nhận Item là các biến có cấu trúc ( Array, Set, Record và File ).

Ví dụ không thể viết :

vì Nguoi là một biến có cấu trúc.

Cách viết này chỉ được chấp nhận khi FileVar không phải biến tệp mà là tệp chứa các bản ghi NhanSu như ta đã thấy ở các phần trước.

_ Thủ tục Writeln( FileVar, Item1, Item2,… ItemN ) ; sẽ thực hiện việc đưa thêm dấu hiệu hết dòng vào tệp sau khi đã viết hết các giá trị các biến.

_ Thủ tục Writeln( FileVar ) sẽ chỉ thực hiện việc đưa thêm dấu hiệu hết dòng ( cặp kí tự điều khiển CR và LF ) vào tệp, tức là đưa dấu cách dòng vào tệp.

* Cách viết có quy cách tùy vào từng kiểu dữ liệu mà cách viết có khác nhau đôi chút :

_ Nếu VI là biểu thức nguyên :

+ Write ( FileVar, VI ) ; sẽ viết vào tệp FileVar giá trị nguyên VI với đúng số chữ số cần thiết.

+ Write ( FileVar, VI : n ) ; sẽ bố trí n chỗ cho giá trị nguyên VI và căn lề bên phải.

Giả sử VI có giá trị bằng 12345

Write ( FileVar, VI, VI ); cho ra 1234512345

_ Nếu VR là một biểu thức thực

+ Write ( FileVar, VR : n ); cho ra cách biểu diễn số thực dạng có số mũ E tức là dạng viết khoa học của dấu phẩy động, với n chỗ được căn lề bên phải. Số chữ số từ chữ E trở đi luôn luôn là 4 kí tự ( kí tự E rồi đến dấu + hoặc –, cuối cùng là 2 chữ số ). Bên cạnh đó là một chỗ cho dấu chấm và một chữ số trước dấu chấm. Tổng số chỗ bắt buộc phải có là 6. Số còn lại trong quy cách viết này là n – 6 chỗ được dành cho các chữ số sau dấu chấm, còn gọi là các chữ số có nghĩa.

Ví dụ:

VR = 123. 123456

+ Write( FileVar, VR : n : m ) ; máy sẽ bố trí n chỗ cho số thực trong đó có m chỗ giành cho phần thập phân ( m chữ số sau dấu chấm ) và căn lề bên phải. Nếu m = 0, máy sẽ chỉ đưa ra phần nguyên của VR.

Ví dụ :

VR = 123.123456

Write ( FileVar, VR : 15 : 9 ) ; cho ra __123.123456000

_ Nếu VC là một kí tự ( Char )

Ví dụ :

CH = ‘H’ ;

Write ( FileVar, VC : 1 ) ; cho ra H

Write ( FileVar, VC : 2 ) ; cho ra _H

_ Nếu VS là một biểu thức kí tự hoặc String

+ Write ( FileVar, VS : n ) ; cho ra giá trị của VS với n chỗ được căn lề bên phải. Nếu n < độ dài của String thì máy sẽ cắt bớt các chữ cuối của String đi.

Ví dụ :

Write ( FileVar, ‘Hello’ : 1 ) ; cho ra H

Write ( FileVar, ‘Hello’ : 3 ) ; cho ra Hel

Ví dụ tổng hợp :

Var

Ketqua : Text ;

A : Integer ;

B : Real ;

C : String [ 20 ] ;

D : Boolean ;

BEGIN

A : = 34 ;

B : = 3.14 ;

C : = ‘ END. ‘ ;

D := True ;

Assign ( Ketqua,’ chúng tôi ‘ ) ;

Rewrite ( Ketqua ) ;

Write ( Ketqua,’ Ket qua la : ‘ ) ;

Writeln ( Ketqua, A : 10, B : 10 : 4, C ) ;

Writeln ( ‘ Dong 2 ‘ : 10, D ) ;

Close ( Ketqua ) ;

END.

Kết quả hiện ra trong file Ketqua.txt :

Mặc dù A là một số nguyên nhưng thủ tục Write sẽ tự động chuyển sang dạng kí tự tức là dạng đọc được. Máy sẽ dành cho A 10 chỗ, vì A chỉ có 2 chữ số nên 8 chỗ còn lại đều là khoảnh trắng. Tương tự B được viết ra trong khuôn khổ 10 chỗ với 4 chỗ dành cho phần thập phân. Còn D là biến Boolean nên máy sẽ tự động in ra các từ ‘TRUE’ hoặc ‘FALSE’ tương ứng.

B) ĐỌC DỮ LIỆU TỪ TỆP VĂN BẢN:

Chúng ta có thể đọc không những các kí tự từ tệp văn bản mà còn có thể đọc lại các số nguyên, các số thực, Bolean từ tệp văn bản thông qua thủ tục :

Read ( FileVar, Var1, Var2,… VarN ) ;

Readln ( FileVAr, Var1, Var2,… VarN ) ;

Readln ( FileVar ) ;

Trong đó Var1, Var2,… VarN là các biến thuộc kiểu Char, String, Integer, Real, Boolean và muốn đọc cho đúng thì trong tệp văn bản các kí tự tương ứng từ vị trí đọc (vị trí cửa sổ) cũng phải diễn tả đúng các kiểu dữ liệu cần đọc trên.

Thủ tục Readln (FileVar, Var1, Var2,… VarN); sẽ đưa cửa sổ tệp sang đầu dòng tiếp theo sau khi đã lần lượt đọc các biến tương ứng.

Thủ tục Readln (FileVar) sẽ đưa cửa sổ tệp sang đầu dòng đầu tiên mà không đọc gì cả.

Hàm chuẩn kiểu Boolean EOLN( F ) sẽ phát hiện ra dấu hết dòng EOLN(End Of Line) của tệp F, tránh sai sót khi đọc quá dòng. Khi EOF = True thì EOLN cũng bằng True.

Việc đọc văn bản có thể chia làm hai loại :

+ Xử lý văn bản, các kí tự.

+ Đọc dữ liệu số nguyên, số thực từ tệp văn bản.

Ví dụ về xử lý văn bản :

Hãy lập một chương trình đếm số chữ trong một tệp văn bản F.

Program DEM_CHU ;

Var

F : Text ;

Ch : Char ;

I : Integer ;

FileName : String [ 30 ] ;

BEGIN

Write ( ‘ Ten tep : ‘ ) ; Readln ( FileName ) ;

Assign ( F, FileName ) ;

Reset ( F ) ;

I : = 0 ; (* I : Biến đếm *)

Begin

While Not Eoln ( F ) Do

Begin

Read ( F, Ch ) ;

I := I +1 ;

End ;

Readln ( F ) ;

End ;

Writeln (‘ So chu la : ‘, I ) ;

Close ( F ) ;

END.

* Khi đọc dữ liệu số nguyên, số thực từ tệp văn bản, thủ tục Read và Readln sẽ tự động biến đổi một xâu kí tự thích hợp trong tệp văn bản sang các số nguyên và số thực. Dấu cách được xem là dấu ngăn cách giữa các số.

Ví dụ: với I là số nguyên và J là số thực thì để đọc giá trị của I, J từ tệp F, ta dùng lệnh:

Read ( F, I, J ) ;

* Thủ tục Seek, hàm FileSize, FilePos không áp dụng cho tệp văn bản vì Text được tính theo đơn vị là dòng (kí tự) với độ dài dòng thay đổi, chúng ta không thể tính toán vị trí đặt con trỏ. Tuy nhiên, Turbo Pascal có hai hàm xử lý Text :

SeekEoln ( FileVar ) :

Hàm kiểu Boolean, tương tự như hàm Eoln song trước khi thử Eoln nó nhảy qua các dấu cách Space và Tab.

SeekEof ( FileVar ) :

Hàm kiểu Boolean, tương tự như hàm Eof song trước khi thử Eof nó nhảy qua các dấu cách Space, Tab và các dấu cách dòng.

Như vậy thủ tục Read và Readln đối với tệp văn bản có thể đọc được nhiều kiểu biến khác nhau ghi trong tệp văn bản ( Integer, Real, Boolean, Char, String ).

Ví dụ ứng dụng :

Giả sử rằng chúng ta cần lưu trữ và xử lý các tham số là nhiệt độ (số nguyên), áp suất (số thực), độ ẩm (số nguyên) của nhiều ngày trong tháng (cần ghi rõ cả ngày). Sau đó các dữ liệu này được xử lý bằng một chương trình độc lập khác. Bạn có thể tạo ra một tệp văn bản chứa các dữ liệu với các quy định như sau :

_ Dòng 1 chứa tên

_ Dòng 2 chứa đường gạch nét cho đẹp và rõ ràng.

_ Từ dòng 3 trở đi cho hết tệp : chứa dữ liệu với thứ tự : ngày của tháng, nhiệt độ, áp suất, độ ẩm.

Chúng ta có thể tổ chức dữ liệu thành tệp các Record như sau :

Type

Du_lieu = Record

Ngay : byte;

Nhietdo : Integer ;

ApSuat : Real ;

DoAm : Integer ;

End ;

Var

F : File Of Du_lieu ;

Nhược điểm của phương pháp cất dữ liệu dưới dạng văn bản là số ô nhớ chiếm nhiều hơn. Ví dụ khi NhietDo là 1656, nếu dùng mã Integer thì luôn luôn mất 2 byte, nếu dùng mã kí tự thì mất 4 byte chứa các kí tự ‘1’ ‘6’ ‘5’ ‘6’. Song nhược điểm này chỉ là phụ. Tuy nhiên chúng ta nên dùng tệp văn bản để xử lý. Ưu điểm của việc dùng tệp văn bản chứa dữ liệu là ta có thể dùng các chương trình soạn thảo văn bản ( các Editor như Editor của Turbo Pascal ) và sau đó có thể xem bằng mắt, sửa, cập nhật các dữ liệu một cách dễ dàng. Chắc bạn sẽ thắc mắc thêm : tại sao không đưa dữ liệu vào qua bàn phím lúc chạy chương trình ? Nếu làm như vậy bạn sẽ không mất chỗ trên đĩa từ song có hai nhược điểm lớn sau : nếu số liệu gõ vào sai thì bạn không sửa lại được nữa và nếu chương trình có sai sót nào đó thì bạn sẽ phải sửa chương trình và cho chạy lại chương trình với việc nhập dữ liệu mới ( qua bàn phím ). Điều này thực sự mất rất nhiều thời gian nếu số liệu có nhiều.

Sau khi quy định cách viết văn bản chứa dữ liệu, chúng ta phải tuân thủ quy định về dòng để đọc lại dữ liệu khi cần xử lý. Các dữ liệu trong một dòng cách nhau bằng dấu cách (Space) với số lượng khônh hạn chế, chủ yếu là do cách trình bày. Giả sử tệp văn bản có tên là chúng tôi được tạo ra với nội dung như sau :

Dòng 1 THOI TIET THANG 6 NAM 2002

Dòng 2 ……………………………………………….

Dòng 3 1 30 298.5 45

Dòng 4 2 35 100.8 24

…………. ……………………………………………….

Sau khi xử lý số liệu, chúng ta có thể thông báo số ngày (tương ứng với số dòng chứa số liệu).

Program DOC_DU_LIEU ;

Var

F : Text ;

NhietDo, DoAm : Integer ;

Ngay : Byte ;

ApSuat : Real ;

SoNgay : Byte ;

BEGIN

Assign ( F, ‘ chúng tôi ‘ ) ;

Reset ( F ) ;

Readln ( F ) ; (* nhảy qua dòng 2 *)

SoNgay := 0 ;

While Not SeekEoln ( F ) Do

Begin

(* Đọc số liệu từng ngày một *)

Readln ( F, Ngay, NhietDo, ApSuat, DoAm ) ;

SoNgay := SoNgay + 1 ;

(* Xử lý dữ liệu tùy theo yêu cầu của bài toán *)

End ;

Writeln ( ‘ Ket qua xu ly cua ‘, SoNgay,’ ngay la : ‘ ) ;

Close ( F ) ;

END.

Var

VanBan : Array [1.. 700] Of String [80] ;

F :Text ;

I, SoDong : Integer ;

Name : String [30] ;

BEGIN

(* Đọc tệp văn bản vào mảng *)

Name := ‘Vidu.txt’ ;

Assign ( F, Name ) ;

Reset ( F ) ;

I := 1 ;

While Not Eof ( F ) Do

Begin

Readln ( F, VanBan [ I ] ) ; (* Đọc một dòng vào một chuỗi *)

I := I + 1 ;

End;

SoDong := I – 1 ;

Close ( F ) ;

(* Xử lý văn bản trên mảng VanBan *)

(* Cất lại vào tệp nếu muốn. Xin giành cho bạn đọc *)

END.

·Lưu ý : số dòng và số chữ của một dòng trong khai báo VanBan ở trên bị hạn chế vì trên máy tính, bộ nhớ cho khai báo các biến bị chặn trên là 64 KB. Muốn mở rộng, bạn cầ tham khảo biến động và con trỏ ở chương sau.

Việc xử lý các dữ liệu ít khi làm thẳng với tệp (không chỉ là tệp văn bản mà cả với tệp kiểu khác nữa) do tốc độ ghi / đọc của đĩa từ chậm hơn tốc độ ghi/ đọc của bộ nhớ trong. Người lập trình nên tổ chức các cấu trúc dữ liệu khác ( mảng, tập… ) là các kiểu dữ liệu nằm trong bộ nhớ trong của máy.

Nhiều vấn đề còn nảy sinh ra khi làm việc với tệp như: khi dùng Reset( F ) liệu tệp F đã tồm tại chưa, khi ghi vào tệp F thì liệu trên đĩa có còn đủ chỗ chứa thêm dữ liệu mới của F hay không ? Turbo Pascal cung cấp lời hướng dẫn ( directive ) cho chương trình dịch để đóng/mơû ( bật/tắt ) việc kiểm tra lỗi sai trong quá trình vào ra tệp :

{$I+} mở việc kiểm tra. Khi gặp lỗi vào/ra chương trình sẽ báo lỗi và dừng lại. Đây là chế độ ngầm định (by default), nghĩa là chương trình dịch luôn luôn thực hiện chế độ nếu không được báo rõ.

Program OpenInputFile ;

Var

OK : Boolean ;

FileName : String ;

F : Text ;

BEGIN

Repeat

Write ( ‘ Ten tep : ‘ ) ;

Readln ( FileName ) ;

Assign ( F, FileName ) ;

{$I-} (* chuyển việc kiểm tra vào / ra cho người dùng *)

Reset ( F ) ;

OK := IOResult = 0 ;

{$I+} (* Sau khi dùng IOResult ta có thể chuyển thành $I+ *)

If not OK Then Write (‘ Khong mo tep voi ten nay duoc ‘) ;

Until OK ;

END.

Toàn bộ các lỗi sai khi vào ra được liệt kê trong phần phụ lục dưới dạng một thủ tục IOCheck. Mặt khác bạn cũng cần lưu ý {$I-} và IOResult được dùng không chỉ với thủ tục Reset mà còn với các thủ tục khác như Erase, Rename, Write, Read…

Đỗ Trung Thành @ 10:37 13/09/2009 Số lượt xem: 3390