Tìm trong:Webe-CHÍP

Bộ gõ (kiểu Vni/Telex/Viqr)Tắt (Alt+T)Mở (Alt+M)

 
Trang chủ ĐÓ HỎI, ĐÂY TRẢ LỜI TT 331

Tách chuỗi thành nhiều từ trong Visual FoxPro

Đó hỏi: Em đang học Visual FoxPro. Xin e-CHÍP chỉ giúp cho em bài tập này nhé: tách một chuỗi đã cho thành nhiều từ. Em xin cảm ơn.

<duchanh1421976@>

Đây trả lời: Để tách một chuỗi thành nhiều từ riêng lẻ, cần thực hiện theo các nguyên tắc sau:
- Mỗi từ trong một chuỗi bao gồm các ký tự liền nhau không chứa ký tự trắng.
- Đếm số từ có trong chuỗi cần tách để xác định kích thước (số lượng phần tử) bản dãy (array) chứa các từ sau khi tách.
- Chứa các từ tách được vào bản dãy, mỗi phần tử tương ứng một từ.
Ví dụ sau đây sử dụng một hàm tách chuỗi, kết quả tách được chứa vào bản dãy sTu (được khai báo PUBLIC trước khi sử dụng hàm, với kích thước ban đầu chỉ có 1 phần tử, vì không thể biết trước chuỗi cần tách có bao nhiều từ). Hàm trả kết quả về cho chương trình đã gọi nó: các từ tách được (thông qua bản dãy sTu) và số lượng từ tách được (thông qua biến nSoTu).
Bạn soạn thảo chương trình như đoạn mã 1, đặt tên là TachChuoi.PRG và chạy thử chương trình để kiểm tra kết quả.

Đoạn mã 1
cChuoi = "Echip - Tin hoc nhu com binh dan, de nhu an chao"
PUBLIC ARRAY sTu(1) && Chưa biết trước số từ
nSoTu = TachChuoiThanhTu(cChuoi)
CLEAR && In ra kiểm tra
FOR I = 1 TO nSoTu
     ? sTu(I)
ENDFOR
FUNCTION TachChuoiThanhTu
     PARAMETERS cChuoiCanTach
     LOCAL cChuoiTam, nSoTu, I
     ** Đếm số từ trong chuỗi
     cChuoiTam = ALLTRIM(cChuoiCanTach)
     nSoTu = 0
     DO WHILE AT(" ", cChuoiTam) > 0
          nSoTu = nSoTu + 1 && Thêm một từ nữa
          cChuoiTam = ALLTRIM(RIGHT(cChuoiTam, LEN(cChuoiTam) - ;
                    AT(" ", cChuoiTam)))
     ENDDO
     nSoTu = nSoTu + 1 && Từ sau cùng
     ** Tách từ khỏi chuỗi
     DIMENSION sTu(nSoTu)
     cChuoiTam = ALLTRIM(cChuoiCanTach)
     I = 0
     DO WHILE AT(" ", cChuoiTam) > 0
          I = I + 1 && Tách từ thứ I
     sTu(I) = LEFT(cChuoiTam, AT(" ", cChuoiTam) - 1)
     cChuoiTam = ALLTRIM(RIGHT(cChuoiTam, LEN(cChuoiTam) - ;
                    AT(" ", cChuoiTam)))
     ENDDO
     I = I + 1 && Tách từ cuối cùng
     sTu(I) = ALLTRIM(cChuoiTam)
RETURN nSoTu
CHƯƠNG CAN CHÍP

Cách xuống hàng trong trang blog

Đó hỏi: Khi tôi edit lại một entry của blog Yahoo thì các dòng lại bị cách xuống một hàng. Mặc dù trong entry ban đầu thì không để cách hàng giữa các dòng. Không biết đây là lỗi gì và khắc phục thế nào để không bị tình trạng cách dòng khi edit lại entry trong blog Yahoo.
<myuyen@>
Đây trả lời: Thật ra đây không phải là lỗi mà là cách thức hiển thị cơ bản của trang web, mặc định khi soạn thảo trang web thì các đoạn (paragraph) sẽ cách nhau hơi xa (chứ không phải là nhảy xuống thêm 1 hàng). Nếu không thích bị tình trạng này thì khi xuống dòng, thay vì nhấn phím Enter hãy nhấn tổ hợp phím Shift+Enter để chỉ xuống dòng mà không tạo thành đoạn mới.

Cài chung Windows XP với Linux

Đó hỏi: Tôi muốn cài chung Windows XP với Linux, xin hỏi e-CHÍP tôi có thể chọn bản phân phối nào có giao diện GUI, hỗ trợ tốt phần cứng và dễ sử dụng? <nguyenvu@>

Đây trả lời: Thật ra hiện nay các bản phân phối Linux đều có giao diện đồ họa, phần cứng được hỗ trợ rất tốt và cũng đều rất dễ sử dụng. Tuy nhiên, nếu bạn đã quen dùng Windows XP thì có thể lựa chọn một trong các bản Linux dưới đây, chúng có ưu điểm là tự động quản lý luôn cả phân vùng Windows, do đó phải cài Linux sau Windows XP:
- Fedora Core: đây là phiên bản dành cho người dùng desktop của Redhat Linux.
- Mandrake Linux (tên mới là Mandriva): một trong số những hệ điều hành đầu tiên hỗ trợ tiếng Việt, được nhiều người biết đến và sử dụng nhất.
- SUSE Linux: hệ điều hành do Sun phân phối, có giao diện cực đẹp và gần giống với Windows XP nhất. Ngoài ra, đây còn là hệ điều thành có rất nhiều tính năng được thiết lập tự động cho phép người dùng vô cùng thuận tiện trong sử dụng.
TRẦN ANH VŨ

[Đầu trang]