- 20.07.2015
- 5 minute de citit
-
-
K
-
v
-
n
-
n
-
m
-
In acest articol
Aceasta pagina de ajutor discuta despre modul in care Visual Basic foloseste informatiile despre cultura pentru a efectua conversii si comparatii de siruri.
Cand se utilizeaza siruri specifice culturii
De obicei, ar trebui sa utilizati siruri specifice culturii pentru toate datele prezentate si citite de la utilizatori si sa utilizati siruri de cultura invariante pentru datele interne ale aplicatiei dvs.
De exemplu, daca aplicatia dvs. cere utilizatorilor sa introduca o data ca sir, ar trebui sa se astepte ca utilizatorii sa formateze sirurile in functie de cultura lor, iar aplicatia ar trebui sa converteasca sirul in mod corespunzator. Daca aplicatia dvs. prezinta data respectiva in interfata sa de utilizator, ar trebui sa o prezinte in cultura utilizatorului.
Cu toate acestea, daca aplicatia incarca data pe un server central, ar trebui sa formateze sirul in conformitate cu o cultura specifica, pentru a preveni confuzia intre formate de date potential diferite.
Functii sensibile la cultura
Toate functiile de conversie de siruri Visual Basic (cu exceptia functiilor Str si Val) utilizeaza informatiile despre cultura aplicatiei pentru a va asigura ca conversiile si comparatiile sunt adecvate culturii utilizatorului aplicatiei.
Cheia utilizarii cu succes a functiilor de conversie a sirurilor in aplicatii care ruleaza pe computere cu diferite setari de cultura este sa intelegeti ce functii utilizeaza o setare specifica de cultura si care utilizeaza setarea curenta de cultura. Observati ca setarile de cultura ale aplicatiei sunt, in mod implicit, mostenite din setarile de cultura ale sistemului de operare. Pentru mai multe informatii, consultati functiile Asc, AscW, Chr, ChrW, Format, Hex, Oct si Type.
Functiile Str (converteste numerele in siruri) si Val (convertesc sirurile in numere) nu folosesc informatiile de cultura ale aplicatiei la conversia intre siruri si numere. In schimb, ei recunosc doar punctul (.) Ca separator zecimal valid. Analogii constienti din punct de vedere cultural al acestor functii sunt:
-
Conversii care utilizeaza cultura actuala. Functiile CStr si Format convertesc un numar intr-un sir, iar functiile CDbl si CInt convertesc un sir intr-un numar.
-
Conversii care utilizeaza o cultura specifica. Fiecare obiect numeric are o metoda ToString (IFormatProvider) care converteste un numar intr-un sir si o metoda Parse (String, IFormatProvider) care converteste un sir intr-un numar. De exemplu, tipul Double ofera metodele ToString (IFormatProvider) si Parse (String, IFormatProvider).
Pentru mai multe informatii, consultati Str si Val.
Folosirea unei culturi specifice
Imaginati-va ca dezvoltati o aplicatie care trimite o data (formatata ca un sir) catre un serviciu Web. In acest caz, aplicatia dvs. trebuie sa utilizeze o cultura specifica pentru conversia sirului. Pentru a ilustra de ce, luati in considerare rezultatul utilizarii metodei ToString () a datei: daca aplicatia dvs. foloseste acea metoda pentru formatarea datei 4 iulie 2005, acesta va returna „4/07/2005 12:00:00 AM” atunci cand este rulat cu Cultura engleza (en-US) a Statelor Unite, dar returneaza „04.07.2005 00:00:00” atunci cand se executa cu cultura germana (de-DE).
Cand trebuie sa efectuati o conversie sir intr-un anumit format de cultura, ar trebui sa utilizati clasa CultureInfo care este incorporata in .NET Framework. Puteti crea un nou obiect CultureInfo pentru o cultura specifica trecand numele culturii la constructorul CultureInfo. Numele culturii acceptate sunt listate in pagina de ajutor a clasei CultureInfo.
Alternativ, puteti obtine o instanta a culturii invariante din proprietatea CultureInfo.
incestos lesbicos tuporn
maduras gordibuenas lesbianas scat
revistas xxx porno sub
pornoxxxxx hentai audio español
torrent porno vidiosxxx
maduras por dinero xxx españa
maduras.com porno parejas
sione cooper xxxabuelas
tragando semen xxx chicas haciendo el amor
incestos jovencitas orgias xxx
mamas incestuosas tetonas en la playa
se folla al porno español jovencita
folladas salvajes moras follando
se follan a mi mujer maduras españolas camara oculta
me corro en la boca de mama sexo romantico
travestis maduras coños gordos
compartiendo novia cine xxx
gallega porno videos porno gratis caseros
culos gordos jovencitas masturbandose
bbw abuelas triple anal
InvariantCulture. Cultura invarianta se bazeaza pe cultura engleza, dar exista unele diferente. De exemplu, cultura invarianta specifica un ceas de 24 de ore in loc de un ceas de 12 ore.
Pentru a converti o data in sirul culturii, treceti obiectul CultureInfo la metoda ToString a obiectului de data (IFormatProvider). De exemplu, urmatorul cod afiseaza „07/04/2005 00:00:00”, indiferent de setarile culturii aplicatiei.
Dim d As Date = # 7/4/2005 # MsgBox (d.ToString (System.Globalization.CultureInfo.InvariantCulture))
Nota
Literalele de data sunt intotdeauna interpretate in conformitate cu cultura engleza.
Compararea sirurilor
Exista doua situatii importante in care sunt necesare comparatii de siruri:
-
Sortarea datelor pentru afisare catre utilizator. Utilizati operatiuni bazate pe cultura curenta, astfel incat sirurile sa fie sortate corespunzator.
-
Determinarea daca doua siruri de aplicatii interne se potrivesc exact (de obicei in scopuri de securitate). Folositi operatiuni care nu respecta cultura actuala.
Puteti efectua ambele tipuri de comparatii cu functia Visual Basic StrComp. Specificati argumentul optional Comparare pentru a controla tipul de comparatie: Text pentru majoritatea intrarilor si iesirilor Binar pentru determinarea potrivirilor exacte.
Functia StrComp returneaza un numar intreg care indica relatia dintre cele doua siruri comparate pe baza ordinii de sortare. O valoare pozitiva pentru rezultat indica faptul ca primul sir este mai mare decat al doilea sir. Un rezultat negativ indica faptul ca primul sir este mai mic, iar zero indica egalitatea dintre siruri.
‘Defineste variabile. Dim testStr1 As String = “ABCD” Dim testStr2 As String = “abcd” Dim testComp As Integer ‘Cele doua siruri sorteaza in mod egal. Returneaza 0. testComp = StrComp (testStr1, testStr2, CompareMethod.Text) ‘testStr1 sorteaza inainte de testStr2. Returneaza -1. testComp = StrComp (testStr1, testStr2, CompareMethod.Binary) ‘testStr2 sorteaza dupa testStr1. Returneaza 1. testComp = StrComp (testStr2, testStr1, CompareMethod.Binary)
De asemenea, puteti utiliza partenerul .NET Framework al functiei StrComp, metoda String.Compare. Aceasta este o metoda statica, supraincarcata a clasei de siruri de baza. Urmatorul exemplu ilustreaza modul in care este utilizata aceasta metoda:
Dim myString As String = “Alfabetic” Dim secondString As String = “Order” Dim result As Integer result = String.Compare (myString, secondString)
Pentru un control mai bun asupra modului in care sunt efectuate comparatiile, puteti utiliza suprasarcini suplimentare ale metodei Comparare. Cu metoda String.Compare, puteti utiliza argumentul comparisonType pentru a specifica ce tip de comparatie sa utilizati.
Valoare pentru comparatie Argument tip Tip de comparatie Cand se foloseste comparatie ordinala bazata pe octeti componenti ai sirurilor. Utilizati aceasta valoare atunci cand comparati: identificatori sensibili la majuscule, setari legate de securitate sau alti identificatori non-lingvistici in care octetii trebuie sa se potriveasca exact. OrdinalIgnoreCase Comparatie bazata pe octetii componentelor sirurilor.
OrdinalIgnoreCase foloseste informatiile de cultura invariante pentru a determina cand doua caractere difera numai in majuscule.
Utilizati aceasta valoare atunci cand comparati: identificatori care nu fac sensibilitate la majuscule, setari legate de securitate si date stocate in Windows. CurrentCulture sau CurrentCultureIgnoreCase Comparatie bazata pe interpretarea sirurilor in cultura curenta. Utilizati aceste valori atunci cand comparati: datele care sunt afisate utilizatorului, majoritatea datelor introduse de utilizator si alte date care necesita interpretare lingvistica. InvariantCulture sau InvariantCultureIgnoreCase Comparatie bazata pe interpretarea sirurilor in cultura invarianta.
Acest lucru este diferit de Ordinal si OrdinalIgnoreCase, deoarece cultura invarianta trateaza caracterele din afara gamei acceptate ca caractere invariante echivalente.
Utilizati aceste valori numai atunci cand comparati date persistente sau afisati date relevante din punct de vedere lingvistic care necesita o ordine de sortare fixa.
Consideratii de securitate
Daca aplicatia dvs. ia decizii de securitate pe baza rezultatului unei operatii de comparatie sau schimbare de caz, atunci operatiunea ar trebui sa utilizeze metoda String.Compare si sa treaca Ordinal sau OrdinalIgnoreCase pentru argumentul comparisonType.
Vezi si
- CultureInfo
- Introducere in siruri in Visual Basic
- Tastati functiile de conversie








