Sunteți pe pagina 1din 1

TMask ( VCL )

(Borland Builder C++)

VCL contine o clasa extrem de slab documentata, TMask, care permite compararea sirurilor
folosind wildcardurile. TMask lucreaza in mod similar ca la mastile fisierelor, dar adauga ceva
flexibilitate in plus si lucreaza in mod direct cu sirurile AnsiString.

Un exemplu ar fi mai edificator...presupunand ca avem deja un AnsiString numit SomeString, vreti


sa aflati daca incepe cu "foo" si se termina cu "bar", cu oricate caractere intre "foo" si "bar". Puteti
folosi TMask in felul urmator:

#include "masks.hpp" // pentru clasa TMask


AnsiString SomeString;
bool Matches;

TMask* foobarMask = new TMask("foo*bar");


SomeString = "foobar";
Matches = foobarMask->Matches(SomeString); // Matches este adevarat
SomeString = "fooXXXbar";
Matches = foobarMask->Matches(SomeString); // Matches este adevarat
SomeString = "fobar";
Matches = foobarMask->Matches(SomeString); // Matches este fals
delete foobarMask;

Dupa cum vedeti, '*' completeaza 0 sau mai multe caractere. Puteti folosi '?' pentru exact un
caracater; "[a-c]" pentru a gasi exact unul din caracterele a,b sau c; "[!a-c] pentru orice alt caracter
in afara de a,b si c.

S-ar putea să vă placă și