Sử dụng biến

Phần theo đây diễn tả cách sử dụng cơ bản các biến trong mã Basic của LibreOffice.

Quy ước đặt tên cho bộ nhận diện biến

Một tên biến có chiều dài tối đa là 255 ký tự. Ký tự đầu của tên biến phải là chữ cái (A-Z, a-z). Tên biến cũng có thể chứa chữ số, nhưng không cho phép chứa dấu chấm câu hoặc ký tự đặc biệt, trừ dấu gạch dưới (_). Trong mã Basic của LibreOffice, các bộ nhận diện biến không phân biệt chữ hoa/thường. Tên biến có thể chứa dấu cách, nhưng chỉ được chứa trong dấu ngoặc vuông.

Mẫu thí dụ về các bộ nhận diện khác nhau :


    MyNumber=5      'Correct'
    MyNumber5=15    'Correct'
    MyNumber_5=20   'Correct'
    My Number=20    'Not valid, variable with space must be enclosed in square brackets'
    [My Number]=12  'Correct'
    DéjàVu=25       'Not valid, special characters are not allowed'
    5MyNumber=12    'Not valid, variable may not begin with a number'
    Number,Mine=12  'Not valid, punctuation marks are not allowed'

Khai báo biến

Trong mã Basic của LibreOffice, bạn không cần phải khai báo biến một cách dứt khoát. Có thể khai báo một biến bằng câu lệnh Dim. Cũng có thể khai báo nhiều biến đồng thời, bằng định giới các biến bằng dấu phẩy. Để xác định kiểu biến, dùng hoặc một dấu khai báo kiểu phía sau tên, hoặc từ khoá thích hợp.

Mẫu thí dụ cho lời khai báo biến:


    Dim a$               'Declares the variable "a" as a String'
    Dim a As String      'Declares the variable "a" as a String'
    Dim a$, b As Integer 'Declares one variable as a String and one as an Integer'
    Dim c As Boolean     'Declares c as a Boolean variable that can be TRUE or FALSE'
Biểu tượng Cảnh báo

Một khi bạn khai báo một biến có kiểu cụ thể, không thể khai báo cùng biến dưới cùng tên với kiểu khác.


Ép buộc khai báo biến

Để ép buộc khai báo biến, dùng câu lệnh này:


Option Explicit

Câu lệnh Tùy chọn dứt khoát phải là dòng đầu của mô-đun, phía trước trình con đầu tiên. Nói chung, chỉ mảng cần được khai báo dứt khoát. Các biến khác được khai báo tùy theo ký tự khai báo kiểu, không có thì có kiểu mặc định Đơn.

Kiểu biến

Mã Basic của LibreOffice hỗ trợ bốn hạng biến:

Biến số nguyên

Biến số nguyên nằm trong phạm vi (-32768 ... 32767). Nếu bạn gán một giá trị chấm động cho một biến số nguyên, các chữ số thập phân được làm tròn thành số nguyên gần nhất. Biến số nguyên được tính nhanh trong các thủ tục thì thích hợp với biến đếm trong vòng lặp. Một biến số nguyên chỉ chiếm 2 byte bộ nhớ. Ký tự khai báo kiểu là « % ».


Dim Variable%
Dim Variable As Integer

Biến số nguyên dài

Biến số nguyên dài nằm trong phạm vi (-2147483648 ... 2147483647). Nếu bạn gán một giá trị điểm động cho một biến số nguyên dài, các chữ số thập phân được làm tròn thành số nguyên gần nhất. Biến số nguyên dài được tính nhanh trong thủ tục thì thích hợp với biến đếm trong vòng lặp với giá trị lớn. Một biến số nguyên dài chiếm 4 byte bộ nhớ. Ký tự khai báo kiểu là « & ».


Dim Variable&
Dim Variable As Long

Biến thập phân

BIến thập phân chấp nhận cả con số dương, con số âm và số không (độ chính xác đến 29 chữ số).

Bạn có thể sử dụng dấu cộng (+) hoặc dấu trừ (-) làm tiền tố cho số thập phân (có dấu cách hay không, cũng được).

Gán một số thập phân cho một biến số nguyên thì LibreOffice Basic làm tròn giá trị.

Biến đơn

Single variables can take positive or negative values ranging from 3.402823 x 10E38 to 1.401298 x 10E-45. Single variables are floating-point variables, in which the decimal precision decreases as the non-decimal part of the number increases. Single variables are suitable for mathematical calculations of average precision. Calculations require more time than for Integer variables, but are faster than calculations with Double variables. A Single variable requires 4 bytes of memory. The type-declaration character is "!".


Dim Variable!
Dim Variable As Single

Biến đôi

Double variables can take positive or negative values ranging from 1.79769313486232 x 10E308 to 4.94065645841247 x 10E-324. Double variables are floating-point variables, in which the decimal precision decreases as the non-decimal part of the number increases. Double variables are suitable for precise calculations. Calculations require more time than for Single variables. A Double variable requires 8 bytes of memory. The type-declaration character is "#".


Dim Variable#
Dim Variable As Double

Biến tiền tệ

Biến kiểu tiền tệ được cất giữ nội bộ dưới dạng con số 64-bit (8 Byte) và được hiển thị dưới dạng con số thập phân cố định với 15 lần số nguyên và 4 chữ số thập phân. Các giá trị nằm trong phạm vi (-922337203685477.5808 ... +922337203685477.5807). Biến tiền tệ được dùng để tính giá trị tiền tệ với độ chính xác cao. Ký tự khai báo kiểu là « @ ».


Dim Variable@
Dim Variable As Currency

Literals for integers

Numbers can be encoded using octal and hexadecimal forms.


  xi = &o13 '    8 + 3
  ci = &h65 ' 6*16 + 5
  MAX_Integer =  &o77777 '  32767 = &h7FFF
  MIN_Integer = &o100000 ' -32768 = &h8000
  MAX_Long = &h7fffffff '  2147483647 = &o17777777777
  MIN_Long = &h80000000 ' -2147483648 = &o20000000000

Biến chuỗi

Biến chuỗi có thể chứa chuỗi ký tự chứa đến 65 535 ký tứ. Mỗi ký tự được cất giữ dưới dạng giá trị Unicode tương ứng. Biến chuỗi thích hợp với chức năng xử lý từ bên trong chương trình, và để cất giữ tạm thời bất cứ ký tự không thể in nào có chiều dài đến 64 KB. Bộ nhớ cần thiết để cất giữ biến chuỗi sẽ phụ thuộc vào số ký tự nó chứa. Ký tự khai báo kiểu là « $ ».


Dim Variable$
Dim Variable As String

Biến lôgic

Biến lôgic chứa chỉ một của hai giá trị: ĐÚNG hoặc SAI. Số không được tính là SAI, mà các giá trị khác được tính là ĐÚNG.


Dim Variable As Boolean

Biến ngày

Biến kiểu ngày tháng thì chỉ chứa được các giá trị ngày tháng và thời gian được cất giữ theo một định dạng nội bộ. Giá trị được gán cho biến Ngày Dateserial, Datevalue, Timeserial hoặc Timevalue được tự động chuyển đổi sang định dạng nội bộ. Các biến ngày tháng được chuyển đổi sang số bình thường dùng hàm Ngày, Tháng, Năm hoặc Giờ, Phút, Giây. Định dạng nội bộ hiệu lực chức năng so sánh các giá trị ngày/giờ bằng cách tính hiệu của hai con số. Những biến này chỉ có thể được khai báo bằng từ khoá Date (Ngày).


Dim Variable As Date

Giá trị biến đầu tiên

Một khi biến được khai báo thì nó được tự động đặt thành giá trị « Null » (vô giá trị). Ghi chú về những quy ước này:

Biến Thuộc Số được khai báo thì tự động nhận giá trị « 0 » .

Các biến ngày tháng được gán nội bộ giá trị 0; tương đương với chuyển đổi giá trị sang 0 dùng hàm Ngày, Tháng, Năm hoặc Giờ, Phút, Giây.

Một Biến kiểu chuỗi được khai báo thì cũng được gán một chuỗi rỗng ( ).

Mảng

LibreOffice Basic nhận ra các mảng kiểu một chiều hoặc đa chiều, được xác định theo một kiểu biến đã ghi rõ. Mảng là thích hợp với công việc chỉnh sửa danh sách và bảng trong chương trình. Cũng có thể đặt địa chỉ của mỗi thành phần riêng của một mảng, dùng một chỉ mục thuộc số.

Mảng phải được khai báo dùng câu lệnh Dim. Có vài cách khác nhau để khai báo phạm vi chỉ mục của một mảng:


    Dim Text$(20)       '21 elements numbered from 0 to 20'
    Dim Text$(5,4)      '30 elements (a matrix of 6 x 5 elements)'
    Dim Text$(5 To 25)  '21 elements numbered from 5 to 25'
    Dim Text$(-15 To 5) '21 elements (including 0), numbered from -15 to 5'

Phạm vi chỉ mục có thể chứa con số dương, cũng như số âm.

Hằng số

Hằng số có giá trị cố định. Chỉ xác định mỗi hằng số một lần trong chưng trình, không thể xác định lại sau :


Const ConstName=Expression

Please support us!