Gambas/Referencia Rápida

Nota: Falta traducir algunas partes al español

Data Types

editar
  • Boolean True or false
  • Byte 0 to 255
  • Short -32.768 to +32.767
  • Integer -2.147.483.648 to +2.147.483.647
  • Long -9.223.372.036.854.775.808 to +9.223.372.036.854.775.807
  • Single Like the float datatype in C.
  • Float Like the double datatype in C.
  • Date Date and time, each stored in an integer.
  • String A variable length string of characters.
  • Variant Any datatype.
  • Object Anonymous reference to any object.
  • Pointer A memory address.

Comments

editar
 'All comments start with an apostrophe


Variable Declaration

editar

[STATIC] {PUBLIC|PRIVATE} Identifier [Static array declaration] AS Datatype [=Expression]

STATIC PUBLIC GridX AS Integer
STATIC PRIVATE bGrid AS Boolean
PUBLIC Name AS String
PRIVATE Control AS Object
PRIVATE Languages AS String[] = [ "fr", "it", "es", "de", "ja" ]
PRIVATE DefaultLanguage AS String = Languages[1]
'All DIM declarations must be in the FUNCTION or SUB before the first executable command.
DIM fTimeDiff2 AS Float
DIM iTest AS Integer
DIM iK[9] AS Integer 'ik[0] to ik[8]
DIM shX[3,3] AS Short
DIM date1 AS Date

[STATIC] {PUBLIC|PRIVATE} Identifier AS NEW Native Datatype [Array dimensions...]

PUBLIC CONST WORD_MAX AS Integer = 12
PRIVATE Words AS NEW String[WORD_MAX * 2]
PUBLIC Matrix AS NEW Float[3, 3] 

Class Declaration

editar

[STATIC] {PUBLIC|PRIVATE} Identifier AS NEW Class (Arguments...)

STATIC PRIVATE Tasks AS NEW List 
PRIVATE MyCollection AS NEW Collection(gb.Text) 


Constant Declaration

editar

{PUBLIC|PRIVATE} CONST Identifier AS Datatype = Constant value

'Constant datatype can be: Boolean, Integer, Long, Float or String.
PUBLIC CONST MAX_FILE AS Integer = 30
PRIVATE CONST DEBUG AS Boolean = TRUE
PRIVATE CONST MAGIC_HEADER AS String = "# Gambas form file" 


Assignment

editar
Destination = Expression
iVal = 1972
Name = "Gambas"
hObject.Property = iVal
cCollection[sKey] = Name 


Loop Control Structures

editar

FOR Variable = Expression TO Expression [STEP Expression] ... NEXT 'Counter loop.

FOR iCount = 1 TO 20 STEP 3
  PRINT iCount & " ";
NEXT

FOR EACH Variable IN Expression ... NEXT

'Enumeration loop. 
FOR EACH Element IN Dict
  PRINT Element;
NEXT

DO [WHILE Condition] ... [BREAK|CONTINUE] ... LOOP [UNTIL Condition]

'Infinite loop. 
DO WHILE a <= 5
  PRINT "Hello World"; a
  INC a
LOOP
' The same effect with UNTIL
DO
  PRINT "Hello World"; a
  INC a
LOOP UNTIL a = 6

REPEAT ... UNTIL Condition

'Loop with an exit test at the end. 
REPEAT
  PRINT Timer 'The repeat loop is always executed at least once, even if the UNTIL value is initially false. 
UNTIL Timer > 10

WHILE Condition ... WEND

'Loop with an exit test at the beginning
WHILE a \<= 10
  PRINT "Hello World"; a
  INC a
WEND 


Test Control Structures & Functions

editar

Value = Choose (Choice, Result1, Result2 [, ... ])

X = 3
PRINT Choose(X, "one", "two", "three", "four")	'three
PRINT IsNull(Choose(X * 2, "one", "two", "three", "four"))	'True

Value = IIf (bTest AS Boolean , vTrue , vFalse) Value = If (bTest AS Boolean , vTrue , vFalse)

PRINT If((X MOD 2) = 0, "even", "odd") 
PRINT "You have " & X & " message" & If(X <> 1, "s", "") & " waiting." 

IF Expression [{AND IF|OR IF} Expression ...] [THEN] ... [ELSE IF Expression [{AND IF|OR IF} Expression ...] [THEN] ...] [ELSE ...] ENDIF

FOR k = 1 TO 10
  IF k < 5 OR IF k > 5 THEN
    PRINT k;;
  ELSE
    PRINT "5 has been reached!"
  END IF
NEXT 

SELECT [CASE] Expression [CASE Expression [TO Expression2] [, ... ] ...] [CASE Expression [TO Expression2] [, ... ] ...] [{CASE ELSE|DEFAULT} ...] END SELECT

SELECT CASE w
  CASE 1
    a = a + 1
  CASE 2
    b = b + 1
  CASE 3
    c = c + 1
  CASE 4
    d = d + 1
  CASE 5
    e = e + 1
  CASE 6
    f = f + 1
  CASE ELSE
    PRINT "This is impossible!"
END SELECT 


Operators

editar

Arithmetic Operators

A = Number + Number 'Adds two numbers
A =- Number 'Computes the opposite sign of a number. Zero is the opposite of itself
A = Number – Number 'Subtracts two numbers
A = Number * Number 'Multiplies two numbers
A = Number / Number 'Divides two numbers. A Division By Zero (#26) error will occur if the value of the number to the right of the slash is zero
A = Number ^ Power 'Raises Number to the power Power.
A = Number \ Number
A = Number DIV Number 'Computes the quotient of the two Integer numbers, truncating the result. A Division By Zero (#26) error will occur if the value of the number to the right of the backslash is zero
A = Number MOD Number 'Computes the remainder of the quotient of the two numbers. A Division By Zero (#26) error will occur if the value of the number to the right of the operator MOD is zero

Comparison Operators

Number = Number 'Returns TRUE if two numbers are equal
Number <> Number 'Returns TRUE if two numbers are different
Number1 < Number2 'Returns TRUE if Number1 is strictly lower than Number2
Number1 > Number2 'Returns TRUE if Number1 is strictly greater than Number2
Number1 <= Number2 'Returns TRUE if Number1 is lower or equal than Number2
Number1 >= Number2 'Returns TRUE if Number1 is greater or equal than Number2
'If the result of a Comparison is assigned to an integer variable, then the result is either -1 (True) or 0 (False) 

Assignment Operators

Variable = Expression 'Direct assignment
Variable += Expression 'Assignment with addition. This is a synonymous for Variable = Variable + Expression
Variable -= Expression 'Assignment with substraction. This is a synonymous for Variable = Variable - Expression
Variable *= Expression 'Assignment with multiplication. This is a synonymous for Variable = Variable * Expression
Variable /= Expression 'Assignment with division. This is a synonymous for Variable = Variable / Expression
Variable \= Expression 'Assignment with integer division.This is a synonymous for Variable = Variable \ Expression
Variable &= Expression 'Assignment with string concatenation. This is a synonymous for Variable = Variable & Expression
Variable &/= Expression 'Assignment with path concatenation. This is a synonymous for Variable = Variable &/ Expression


Method Declaration

editar

Procedures

[STATIC] {PUBLIC|PRIVATE} {PROCEDURE|SUB} Identifier ( [[BYREF] Parameter AS Datatype [, ...]] [,] [OPTIONAL [BYREF] Optional Parameter AS Datatype [, ... ]] [,] [...] ) ... END

PUBLIC SUB Button1_Click()
  PRINT Calc(0);; Calc(0.5);; Calc(1)
END

Functions

[STATIC] {PUBLIC|PRIVATE} {FUNCTION|PROCEDURE|SUB} Identifier ( [[BYREF] Parameter AS Datatype [, ...]] [,] [OPTIONAL [BYREF] Optional Parameter AS Datatype [, ...]] [,] [...] ) AS Datatype ... RETURN Value 'In Gambas the RETURN value is passed as a parameter to the RETURN statement. In VB the RETURN value is assigned to the FUNCTION name: Solve1 = TRUE END

FUNCTION Calc(fX AS Float) AS Float
  RETURN Sin(fX) * Exp(- fX)
END


Error Management

editar
  • DEBUG Prints a debugging message.
  • FINALLY Executes a block of code in a function, even if there was an error.
  • CATCH Catches an error in a function.
  • Error The Error static class.
  • TRY Tries to execute a statement, without raising an error.
  • ERROR Returns if an error happened, or prints an error message. Returns TRUE if an error has happened. Use it just after a TRY instruction to know if the executed instructions failed.
'Prints a file to the screen
SUB PrintFile(FileName AS STRING)
  DIM hFile AS File
  DIM sLig AS STRING
  OPEN FileName FOR READ AS #hFile
  WHILE NOT EOF(hFile)
    LINE INPUT #hFile, sLig
    PRINT sLig
  WEND
FINALLY 'Always executed, even if a error is raised
  CLOSE #hFile
CATCH 'Executed only if there is an error
  PRINT "Cannot print file "; FileName
END


Functions

editar

String Functions

  • Asc Returns the ASCII code of a character in a string.
  • Chr$ Returns a character from its ASCII code.
  • Comp Compares two strings.
  • InStr Searches a string into another string.
  • LCase$ Converts a string to lowercase.
  • Left$ Returns the first characters of a string.
  • Len Returns the length of a string.
  • LTrim$ Strips white spaces from the left of a string.
  • Mid$ Returns a part of a string.
  • Replace$ Replaces in a string a substring by another one.
  • Right$ Returns the last characters of a string.
  • RInStr Searches a string into another string from its right.
  • RTrim$ Strips white spaces from the right of a string.
  • Scan Splits a string against a regular expression pattern.
  • Space$ Returns a string containing only space.
  • Split Splits a string into substrings.
  • String$ Returns the same string concatenated many times.
  • Subst$ Substitutes strings in a pattern.
  • Trim$ Strips white spaces from a string.
  • UCase$ Converts a string to uppercase.

Stream & Input/Output functions

  • CLOSE Closes a stream
  • Eof Returns if the end of file is reached.
  • ERROR Prints expressions to the error standard output.
  • ERROR TO Redirects the standard error output.
  • FLUSH Flushes the output of a buffered stream.
  • INPUT Reads strings from a text stream and converts them into values.
  • INPUT FROM Redirects the standard input.
  • LINE INPUT Reads lines from a text stream.
  • LOCK Locks an opened stream.
  • Lof Returns the length of a stream.
  • OPEN Opens a file for reading or writing and creates a stream for it.
  • OUTPUT TO Redirects the standard output.
  • PIPE Opens a named pipe for reading or writing and creates a stream for it.
  • PRINT Prints expressions to a stream.
  • READ Reads binary data from a stream.
  • SEEK Change the position of the stream file pointer.
  • Seek Gets the position of the stream file pointer.
  • UNLOCK Unlocks an opened stream.
  • WRITE Write binary data to a stream.

File & Directory Functions

  • Access Tests the access authorization of a file.
  • COPY Copy a file.
  • DFree Returns the free space on a device.
  • Dir Browses a directory.
  • Exist Checks if a specific file or directory exists.
  • IsDir Returns if a path points at a directory.
  • KILL Removes a file.
  • LINK Creates a symbolic link.
  • MKDIR Creates a directory.
  • MOVE Renames or moves a file or a directory.
  • RDir Browses a directory recursively.
  • RMDIR Removes an empty directory.
  • Stat Get information about a file.
  • Temp$ Makes temporary file names.

Arithmetical Functions

  • Abs Returns the absolute value of a number.
  • DEC Decrements a variable.
  • Fix Returns the integer part of a number.
  • Frac Returns the fractional part of a number.
  • INC Increments a variable.
  • Int Returns the mathematical integer part of a number.
  • Max Returns the maximum number.
  • Min Returns the minimum number.
  • Round Rounds a number.
  • Sgn Returns the sign of a number.

Logarithms & Exponentials Functions

  • Cbr Cubic root
  • Exp Exponential, e^x
  • Exp2 2^x
  • Exp10 10^x
  • Expm Exp(x) - 1
  • Log Neperian logarithm, base e logarithm
  • Log2 Base 2 logarithm
  • Log10 Decimal logarithm
  • Logp Log(1+x)
  • Sqr Square root

Trigonometric Functions

  • ACos Computes the arc cosine of an angle.
  • ACosh Computes the hyperbolic arc cosine of an angle.
  • Ang Computes the angle polar coordinate from two rectangular coordinates.
  • ASin Computes the arc sine of an angle.
  • ASinh Computes the hybperbolic arc sine of an angle.
  • ATan Computes the arc tangent of an angle.
  • ATan2 Computes the arc tangent of two numbers.
  • ATanh Computes the hyperbolic arc tangent of an angle.
  • Cos Computes the cosine of an angle.
  • Cosh Computes the hyperbolic cosine of an angle.
  • Deg Converts radians to degrees.
  • Hyp Calculate the hypotenuse of a triangle.
  • Mag Computes the distance polar coordinate from two rectangular coordinates.
  • Pi Returns π or a multiple of π.
  • Sin Computes the sine of an angle.
  • Sinh Computes the hyperbolic sine of an angle.
  • Tan Computes the tangent of an angle.
  • Tanh Computes the hyperbolic tangent of an angle.
  • Rad Converts degrees to radians.

Random Numbers Functions

  • RANDOMIZE Initializes the pseudo-random number generator.
  • Rnd Returns a pseudo-random number.

Date & Time Functions

  • Date Returns a date without its time component.
  • DateAdd Adds a period to a given date.
  • DateDiff Returns the period between two dates.
  • Day Returns the day of a Date value.
  • Hour Returns the hours of a Date value.
  • Minute Returns the minutes of a Date value.
  • Month Returns the month of a Date value.
  • Now Returns the current date and time.
  • Second Returns the seconds of a Date value.
  • Time Returns the time part of a Date value.
  • Timer Returns the number of elapsed seconds since the program started.
  • Week Returns the week number of a Date value.
  • WeekDay Returns the week day of a Date value.
  • Year Returns the year of a Date value.

Datatype Functions

  • IsBoolean Returns if an expression is a Boolean value.
  • IsByte Returns if an expression is a Byte value.
  • IsDate Returns if an expression is a Date value.
  • IsFloat Returns if an expression is a Float value.
  • IsInteger Returns if an expression is an Integer value.
  • IsLong Returns if an expression is a Long value.
  • IsNull Returns if an expression is NULL.
  • IsNumber Returns if an expression is a number.
  • IsObject Returns if an expression is an Object value.
  • IsShort Returns if an expression is a Short value.
  • IsSingle Returns if an expression is a Single value.
  • IsString Returns if an expression is a String value.
  • TypeOf Returns the type of the value of an expression.

Character Test Functions

  • IsAscii Tests if a string contains only ASCII characters.
  • IsBlank Tests if a string contains only blank characters.
  • IsDigit Tests if a string contains only digits.
  • IsHexa Tests if a string contains only hexadecimal digits.
  • IsLCase Tests if a string contains only lowercase letters.
  • IsLetter Tests if a string contains only letters.
  • IsPunct Tests if a string contains only printable non-alphanumeric characters.
  • IsSpace Tests if a string contains only space characters.
  • IsUCase Tests if a string contains only uppercase letters.

Localization and Translation Functions

  • Format$ Format a number or a date.
  • Str$ Converts a number or a date into a string.
  • Subst$ Substitutes strings in a pattern.
  • Tr$ Translate a string.
  • Val Converts a string into a number or a date.

Formatting functions

  • Bin$ Format a number in binary.
  • Format$ Format a number or a date.
  • Hex$ Format a number in hexadecimal.

Para mas información visita http://gambas.sourceforge.net/