2012-04-10 5 views
11

Ci sono dei set predefiniti in Delphi, per verificare se un carattere è una lettera?Controlla se il carattere è lettera in Delphi (Unicode)

a Cocoa ho usare qualcosa di simile

if ([[NSCharacterSet whitespaceCharacterSet] characterIsMember:character]) 

so di poter fare a Delfi

if c in ['A'..'Z'] then 

ma coprirà caratteri accentuati stranieri come A, A, U, E, ... .?

Quale sarebbe il modo più efficiente per controllare questo in Delphi. Devo controllare se una stringa è composta interamente da lettere.

risposta

17

Prova ad utilizzare i Character.TCharacter.IsLetter o Character.IsLetter funzioni

+0

di Bingo.That esattamente quello che needed.Thanks! –

+3

Questo può essere solo una parte della storia perché non tiene conto delle coppie surrogate. –

+2

TCharacter è una classe creata per funzionare con caratteri Unicode, UTF-16. IsLetter è una funzione dichiarata in questa classe. Dovrebbe gestire i caratteri di base e i caratteri elencati nella domanda. –