Newsgroup: it.comp.lang.visual-basic
Titolo: comparestring

Nella funzione Api CompareString, il primo argomento si chiama Locale, e può
essere LOCALE_SYSTEM_DEFAULT o LOCALE_USER_DEFAULT. in MSDN c'è scritto che
rappresenta "the locale used for the comparison". ma di che si tratta?? cosa
è un "locale" ????????
Un'ultima cosa. in VB esiste la funzione StrComp. che differenza c'è fra le
due? e quando e perchè conviene usare l'Api? solo per la velocità, nel caso
si debbano eseguire più operazioni di confronto?
MarioH

 ha scritto nel messaggio
news:94g2mu$dk53n$1...@ID-70152.news.dfncis.de...


passare all'api per capire che questa ti dà più possibilità di confronti
Esatto. Praticamente sulla stessa macchina potrebbero esserci 2 utenti
che lavorano con formati per la data, per la valuta, per l'ora
differenti e queste 2 possibilita' si riferiscono a quello predefinito
per il sistema oppure a quello dell'utente attuale.
Saluti.
-- 
      Gianni "bugbarbeq" Rondinini, 25, RA, 242, 152
  VBR - Vero Birro Romagnolo®, diffidate dalle imitazioni!
 Opel/ECC Calibrezio EVO-IV --- Kawasaki "Gas Gas" ZZ-R 1100
 ICQ# 36893168 - IRCNet: bugbarbeq, @ on #linux-it & #NetBSD

vabbe io metto quella di sistema e taglio la testa al toro... (zac!!)

ok, ma spiegatemi una cosa, il valore del primo parametro (Locale) puo
essere una delle due costanti, giusto? cosě sembra emergere dalle
spiegazioni trovate su MSDN, VBApi, Allapi.
poi c'č questo esempio su Allapi:
Dim hTL As Long
    'get the calling thread's current locale
    hTL = GetThreadLocale()
    'compare
    Const Str1 As String = "Hello"
    Const Str2 As String = "hellO"
    Select Case CompareString(hTL, NORM_IGNORECASE, Str1, Len(Str1), Str2,
Len(Str2))
nel primo parametro non mette nessuna costante, ma un valore completamente
diverso...
innanzitutto, cosa rappresenta quel GetThreadLocale? e poi se io metto la
costante relativa alle impostazioni del sistema non dovrebbe andare bene lo
stesso? finora per le prove che ho fatto sembra funzionare, ma misono
preoccupato perche in tutti gli esempi che ho trovato c'č sempre questa
GetThreadLocale...
grazie
MarioH

 GetThreadLocale...
Allora, sintetizzando di brutto, diciamo che
con GetSystemDefaultLCID accedi alle impostazioni locali del sistema, che
sono quelle che il sistema operativo legge nel registro al boot della
macchina.
Se alla macchina accedono piu' utenti, ognuno avra' le proprie impostazioni,
la cui locale e' reperibile con GetUserDefaultLCID e che, come sai, puo
benissimo essere diversa da quella di default di sistema.
La localizzazione delle eventuali modifiche apportate nel frattempo al
pannello di controllo viene invece identificata con GetThreadLocale
Quindi, se vuoi andare sul sicuro, usa GetThreadLocale perche' hai la
localizzazione effettivamente usata in quel momento.
Ciao
Aldo


tutto chiarissimo, ma se io invece voglio "forzare" l'utente a non
smanettare e quindi metto sempre le imopstazioni di sistema...? e' poco
liberale..., lo so... ::))))) e in ogni caso si tratta di confrontare nomi
di file per metterli in ordine, tutto qui...
grazie
mario

 wrote in message
news:94ld52$dm16t$1...@ID-70152.news.dfncis.de...

Significa che dovresti modificare le impostazioni di sistema ed aggiornare,
ma mi sembra un lavoro da UCAS (uff. complic. aff. semplici). Inoltre, tanto
per fare un esempio, l' utente potrebbe avere dei buoni motivi per avere il
separatore ore-minuti con i due punti. Perche' forzarglielo al punto ?
Ciao
Aldo