Đọc và hiển thị nội dung file Bước 1 : Khai bỏo kiểu file được phộp tả

Một phần của tài liệu Hướng dẫn lập trình VC 6++ (Trang 52 - 54)

Chương 4 Đọc và hiển thị file Text

3.4.1.Đọc và hiển thị nội dung file Bước 1 : Khai bỏo kiểu file được phộp tả

Bước 1 : Khai bỏo kiểu file được phộp tải

static char BASED_CODE szFilter[]="Kiểu File1(..)|*.Kieu1| |Kiểu File2(…)|*.Kieu2|Kiểu File3|*.Kieu3|";

biến szFilter[ ] sẽ chứa cỏc định dạng file được khai bỏo tương ứng là

*.Kieu1,*.Kieu2,*.Kieu3….

Bước 2 : dựng lớp CFileDialog để mở ra hộp thoại lựa chọn file cần tải.Sự kiện mở file này cú thể thụng qua một nỳt bấm hay một tỏc vụ trờn thanh Menu .Trước đú khai bỏo một biến CString để lưu lại đường dẫn :

CString DuongDanFile;

Khai bỏo biến thuộc lớp CFileDialog :

CFileDialog pFile(TRUE,"*.Kieu1",DuongDanFile,

Cờ 1|Cờ 2,szFilter);

Trong đú “Cờ 1,Cờ 2” là cỏc cờ( nFlags) chỉ hoạt động của biến này . VD :

CFileDialog pFile(TRUE,"*.Kieu1", DuongDanFile

,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter);

một hộp thoại Open xuất hiện và “DuongDanFile” chớnh là tờn file mà ta gừ vào hoặc chọn 1 file trong hộp thoại tương ứng cú kiểu “*.nc” sau đú nếu chọn Ok trong hộp thoại thỡ cỏc thụng số về File đú sẽ được lấy :

if(pFile.DoModal( )==IDOK) {

// cỏc thao tỏc tiếp theo }

Bước 3: để hiển thị được nội dung file text ta quan niệm nú là một mảng cỏc kớ tự .Và đưa mảng kớ tự này lờn một cụng cụ hiển thị , chẳng hạn hiển thị lờn một static :

Nhưng trước tiờn cần khai bỏo một File để lưu File” đó được mở và một mảng cỏc kớ

tự để lưu cỏc kớ tự đọc được từ “File” :

FILE * FileDuocMo; char buffer[800001]; int ch,i;

CString m_show,str;

//chỉ số của mảng này phụ thuộc vào độ dài của văn bản

if (pFile.DoModal( )==IDOK) {

DuongDanFile=pFile.GetPathName( );

//Lấy đường dẫn File để cho thao tỏc mở file sau này đồng

//Kiểm tra xem đường dẫn cú khỏc rỗng hay khụng

{

// Mở file và đọc theo dũng

if( (FileDuocMo = fopen( DuongDan, "r")) == NULL ) exit( 0 );

ch = fgetc(FileDuocMo );// Đọc cỏc kớ tự của “File” cú đường //dẫn là “DuongDanFile” và gỏn cho biến ch

//Thiết lập vũng lặp và kiểm tra điều kiện đọc hết file hay chưa (adsbygoogle = window.adsbygoogle || []).push({});

for( i=0; (i < 800001 ) && ( feof(FileDuocMo ) == 0 ); i++ ) {

buffer[i] = (char)ch; ch = fgetc(FileDuocMo); }

//Đưa dấu hiệu kết thỳc mảng kớ tự

buffer[i] = '\0';

str.Format( "%s\n", buffer );

SetDlgItemText(IDC_STATIC1,str); //Hiển thị lờn static

m_show=str; //Lưu lại nội dung file để dựng khi cần

UpdateData(FALSE); //Cập nhật dữ liệu lờn màn hỡnh

fclose(FileDuocMo ); //Đúng file lại

} }

3.4.2.Ghi nội dung lờn file

3.4.2.1.Ghi nội dung lờn file cú sẵn

Thực hiện bước 1 như mục đọc file, đến phần sử dụng lớp CFileDialog thỡ đổi giỏ trị

BOOL TRUE thành FALSE để thực hiện chức năng save file.

Dữ liệu được ghi vào cũng như khi đọc là một mảng kớ tự (hay chuỗi kớ tự ) . Chẳng hạn chuỗi được ghi vào file được định nghĩa như sau :

CString str;

Str= “ Trường Đại Học Bỏch Khoa Hà Nội” ;

Hoặc chuỗi này cú thể được lấy từ một thành phần nào đú mà ta muốn lưu giữ nội dung của nú lại.

Khai bỏo một biến kiểu FILE : FILE *FileWrite;

Đầu tiờn phải kiểm tra đường dẫn cú rỗng hay khụng sau đú mở file với đường dẫn là “DuongDanFile” :

If(DuongDanFile!= “ ”) {

FileWrite = fopen(DuongDanFile, “w”); ………….

Dựng hàm fputs để ghi chuỗi kớ tự vào file sau đú đúng file lại : fputs(str,FileWrite);

fclose(FileWrite); }

Một phần của tài liệu Hướng dẫn lập trình VC 6++ (Trang 52 - 54)