Udostępnij za pośrednictwem


Ciągi MOF

Ciąg to typ danych, który zawiera ciąg znaków zwykle przeznaczony jako tekst czytelny dla człowieka. MoF opisuje dwa typy ciągów, które służą do przechowywania pojedynczych lub wielu znaków. MoF ma również szereg reguł opisujących użycie cudzysłowów w ciągu.

W poniższej tabeli wymieniono typy danych ciągów dla moF.

Typ danych Typ automatyzacji Opis
char16 VT_I2 Pojedynczy 16-bitowy znak Unicode w formacie uniwersalnym zestawu znaków 2 (UCS-2)
ciągu VT_BSTR Ciąg znaków Unicode

Podczas pisania ciągów dla moF należy użyć następujących wskazówek:

  • Otaczaj stałe jednoznaczne pojedynczymi cudzysłowami.

    Jeśli nie używasz pojedynczych cudzysłowów ze stałymi pojedynczymi znakami, musisz użyć reprezentacji całkowitej wartości znaku Unicode. Opcjonalnie można określić znak dosłownie z \x sekwencji ucieczki z amerykańskiego standardu National Standards Institute (ANSI) C, jak pokazano:

    char16  TestChar1 = '\x4133';
    char16  Testchar2 = 'A';
    

    Ponieważ moF jest oparty na standardzie Unicode, można również określić wartości 16-bitowe.

    Należy pamiętać, że stałe jednoznaczne w formacie ANSI C są otoczone podwójnymi cudzysłowami.

  • Otaczaj ciągi znaków podwójnymi cudzysłowami.

    DTime    = "19940107140332.000000-300";
    
  • Połącz kolejne ciągi cudzysłowu z co najmniej jednym białymi spacjami.

    DString = "This" "becomes a long string";
    
  • Użyj sekwencji ucieczki rozpoczynającej się od ukośnika odwrotnego, aby osadzić cudzysłowy w ciągu.

    DMyString = "This is an \"embedded quote\" example."
    

W poniższym przykładzie opisano sposób inicjowania właściwości ciągu i parametru ciągu:

class  StringDataClass
{
    [key]  String    Dstring;
    DateTime         DTime;
    char16           CharVal1;
    char16           CharVal2;
    sint32 DiskMethod ([in, Id(0)] string Description = "Disk 1");
};

instance of StringDataClass
{
    Dstring = "this can go on for " " some time"
       " before it is complete";
    DTime    = "19940107140332.000000-300";
    CharVal1 = '\x16';
    CharVal2 = '\x32';
};