Page d'Accueil

Cordes

 

Cordes 

 

Introduction

La corde est les valeurs le plus régulièrement utilisées d'une application. Nous avons vu dans le passé qu'une variable de corde pourrait être déclarée en utilisant le type de données de corde. Après la déclaration d'une variable de corde, elle est initialisée comme vide. Vous pouvez également l'initialiser avec de la n'importe quelle corde de votre choix. Voici un exemple :

Private Sub cmdString_Click()
    Dim strValue As String
    
    strValue = "République d'Afrique du Sud"
    MsgBox strValue
End Sub

Ceci produirait :

La longueur d'une corde

Dans beaucoup d'opérations, vous voudrez savoir que le nombre de caractères qu'une corde se compose. Pour obtenir la taille d'une corde, vous pouvez appeler la fonction de Len (). Sa syntaxe est :

Len(strValue As String) As Integer

La fonction de Len () prend un argument, qui est la corde que vous considérez. La fonction renvoie le nombre de caractères de la corde. Voici un exemple :

Private Sub cmdString_Click()
    Dim strValue As String
    Dim iLen As Integer
    
    strValue = "République d'Afrique du Sud"
    iLen = Len(strValue)
    MsgBox "The length of """ & strValue & """ Is " & _
            CStr(iLen) & " characters."
End Sub

Ceci produirait :

La fonction de corde ()

L'one-way que vous pouvez initialiser une corde est de le remplir de certain caractère de votre choix. Pour faire ceci, vous pouvez appeler la fonction de corde (). Sa syntaxe est :

String(number, character) As String

Le deuxième argument à cette fonction est un caractère que vous voulez répéter dans la corde. Le premier argument à cette fonction est le nombre d'occurrences que vous voulez que le deuxième argument soit répété dans la corde. La fonction de corde () renvoie une valeur de corde. Voici un exemple :

Private Sub cmdString_Click()
    Dim strValue As String
    
    strValue = String(18, "#")
    MsgBox strValue
End Sub

Ceci produirait :

L'objet de corde

 

Cordes et les espaces vides

La corde la plus simple est probablement une que vous avez déclarée et avez initialisée. Dans quelques autres cas, vous pouvez travailler avec de la corde que vous devez d'abord examiner. Par exemple, pour quelque raison, une corde peut contenir un espace vide vers sa gauche ou vers sa droite. Si vous commencez simplement à effectuer une certaine opération là-dessus, l'opération peut échouer. Une des premières mesures que vous pouvez prendre sur une corde se en composerait supprimer les espaces vides, si de ses côtés.

Pour enlever tous les espaces vides du côté gauche d'une corde, vous pouvez appeler la fonction de LTrim (). Sa syntaxe est :

LTrim(string) As String

Pour enlever tous les espaces vides du bon côté d'une corde, vous pouvez appeler la fonction de RTrim (). Sa syntaxe est :

RTrim(string) As String

Pour enlever les espaces vides des deux côtés d'une corde, vous pouvez appeler la fonction d'équilibre (). Sa syntaxe est :

Trim(string) As String

D'une part, si vous voulez inclure ou ajouter les espaces vides dans une corde, vous pouvez appeler la fonction de l'espace (). Sa syntaxe est :

Space(number) As String

Puisque toutes ces fonctions renvoient une corde, elles peuvent être écrites comme LTrim$, RTrim$, Trim$, et Space$.

Comparaisons de cordes

Pour comparer deux cordes, vous pouvez appeler la fonction de StrCmp(). Sa syntaxe est :

StrComp(string1, string2, compare)

Les premiers et deuxièmes arguments à cette fonction sont des cordes et tous les deux sont exigés. Après que la fonction ait effectué la comparaison, elle retourne

  • -1 si string1 est moins que string2
  •   0 si string1 et string2 sont égaux
  •   1 si string1 est string2 plus grand que

Le troisième argument te permet d'indiquer la comparaison dans la mise en forme de texte binaire ou. Cet argument peut avoir une des valeurs suivantes :

Constant Valeur Description
vbBinaryCompare 0 Effectuer une comparaison binaire
vbTextCompare 1 Effectuer une comparaison textuelle

Voici un exemple :

Private Sub cmdCreate_Click()
    Dim strValue1 As String
    Dim strValue2 As String
    Dim iComparisonValue
    
    strValue1 = "République d'Afrique du Sud"
    strValue2 = "Republic of South Africa"
    iComparisonValue = StrComp(strValue1, strValue2, vbTextCompare)
    
    MsgBox "Comparing """ & strValue1 & """ with """ & _
           strValue2 & """ produces " & CStr(iComparisonValue)
End Sub

Ceci produirait :

Renverser une corde

Une fois qu'une corde a été initialisée, une des opérations que vous pouvez effectuer là-dessus se compose le renverser. Pour faire ceci, vous pouvez appeler la fonction de StrReverse (). Sa syntaxe est :

StrReverse(string) As String

Cette fonction prend comme argument la corde qui doit être renversée. Après avoir effectué son opération, la fonction renvoie une nouvelle corde faite de caractères à l'envers l'ordre.  Voici un exemple :

Private Sub cmdCreate_Click()
    Dim strValue As String
    Dim strRev As String
    
    strValue = "République d'Afrique du Sud"
    strRev = StrReverse(strValue)
    
    MsgBox strValue
    MsgBox strRev
End Sub

Ceci produirait :

Puisque la fonction de StrReverse () renvoie une corde, vous pouvez l'écrire comme StrReverse$.

Les cas de caractère d'une corde

 

Introduction

Chaque lettre dans l'anglais a deux représentations : minuscule et majuscule. Les caractères en minuscules sont : a, b, c, d, e, f, g, h, I, j, k, l, m, N, o, p, q, r, s, t, u, v, W, x, y, et Z. Leurs caractères équivalents dans majuscule sont représentés comme A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, et des caractères de Z. utilisés pour compter s'appellent les caractères numériques ; chacun de eux s'appelle un chiffre. Ils ont 0, 1, 2, 3, 4, 5, 6, 7, 8, et 9 ans. Il y a d'autres caractères employés pour représenter des choses dans des applications informatiques, des mathématiques, et d'autres. Certains de ces caractères, également appelé des symboles sont ~ ! @ # $ % ^ et * () _ + {} « | = [] \ : « ;  » < > ? . /Ces caractères sont employés pour différentes raisons et sous différentes circonstances. Par exemple, certains d'entre eux sont employés comme opérateurs dans les mathématiques ou dans la programmation d'ordinateur. Indépendamment de, qu'un caractère soit facilement identifiable ou pas, tous ces symboles sont des types de caractère.

Convertir une corde en majuscule

Pour convertir une minuscule en majuscule, vous pouvez employer la fonction d'UCase (). Sa syntaxe est :

UCase(strValue As String) As String

Cette fonction prend simplement un argument, la corde qui doit être convertie. Chaque lettre de la corde qui est déjà dans majuscule demeurerait dans majuscule. Chaque lettre de la corde qui est en minuscules serait convertie en majuscule. Chaque caractère de non-lettre de l'argument ne serait pas converti. Cette fonction renvoie une valeur de corde. Voici un exemple :

Private Sub cmdString_Click()
    Dim strValue As String
    
    strValue = "République d'Afrique du Sud"
    MsgBox strValue
    strValue = UCase(strValue)
    MsgBox strValue
End Sub

Ceci produirait :

Puisque la fonction d'UCase () renvoie une corde, vous pouvez également l'écrire comme UCase$.

Convertir une corde en lettre minuscule

Pour convertir une corde en lettre minuscule, vous pouvez appeler la fonction de LCase (). Sa syntaxe est :

LCase(strValue As String) As String

Ceci prend un argument comme corde au converti. N'importe quelle lettre en minuscules dans l'argument demeurerait en minuscules. N'importe quelle lettre dans majuscule serait convertie en lettre minuscule. Les caractères de non-lettre de l'argument seraient maintenus « réels ».

Depuis LCase () la fonction produit une corde, vous peut également l'écrire comme LCase$.

Conversion en cas approprié

Les LCase$ () et les fonctions d'UCase$ () sont employés pour traiter la corde entière. Une alternative à ces deux fonctions se compose appeler la fonction de StrConv (). Sa syntaxe est :

StrConv(string, conversion As vbStrConv, LocalID As Long) As String

Cette fonction prend deux arguments exigés. Le premier argument est la corde qui sera considérée pour la conversion. Le deuxième argument te permet d'indiquer comment la conversion serait exécutée. Cet argument peut avoir une des valeurs suivantes :

Constant Valeur Description
vbUpperCase 1 Convertit les lettres minuscules de la corde en majuscule
vbLowerCase 2 Convertit les lettres majuscules de la corde en lettre minuscule
vbProperCase 3 Convertit la première lettre de chaque mot de la corde en majuscule
vbWide 4 Convertit des caractères d'étroit (simple-byte) dans la corde en caractères larges (de double-byte)
vbNarrow 8 Convertit les caractères larges (de double-byte) dans la corde en caractères étroits (de simple-byte)
vbKatakana 16 Pour le Japon, caractères de Hiragana de convertis dans la corde aux caractères de katakanas
vbHiragana 32 Pour le Japon, caractères de katakanas de convertis dans la corde aux caractères de Hiragana. 
vbUnicode 64 Convertit la corde en Unicode en utilisant la page de code de défaut du système.
vbFromUnicode 128 Convertit la corde d'Unicode en page de code de défaut du système

Voici un exemple :

Private Sub cmdCreate_Click()
    Dim strValue As String
    Dim strConversion As String
    
    strValue = "republic of south africa"
    strConversion = StrConv(strValue, vbProperCase)
    
    MsgBox strValue
    MsgBox strConversion
End Sub

Ceci produirait :

Sous-chaînes

 

Introduction

Une sous-chaîne est une corde qui est créée ou recherchée d'une corde existante. De nouveau, la bibliothèque de base visuelle de Microsoft fournit différentes techniques de la créer. Celles-ci incluent obtenir des caractères de la gauche, de la droite, ou de n'importe quelle partie à l'intérieur de la corde.

Créer une sous-chaîne

() La fonction gauche peut être employée pour obtenir un certain nombre de caractères du côté gauche d'une corde. La syntaxe de cette fonction est :

Left(string, length) As String

Cette fonction prend deux arguments exigés. Le premier argument est la corde sur laquelle l'opération sera effectuée. Le deuxième argument, un nombre entier constant, est le nombre de caractères à rechercher du premier argument. Voici un exemple :

Private Sub cmdCreate_Click()
    Dim strValue As String
    Dim strLeft As String
    
    strValue = "République d'Afrique du Sud"
    strLeft = Left(strValue, 10)
    
    MsgBox strValue
    MsgBox strLeft
End Sub

Ceci produirait :

Puisque () la fonction gauche produit une corde, vous pouvez également l'écrire pendant que Left$ avec le signe de $ indiquant qu'il renvoie une corde. Comme son nom le suggère, () la fonction gauche crée une nouvelle corde en utilisant des caractères du côté gauche de la corde considérée. Si vous voulez que votre sous-chaîne contienne des caractères du bon côté d'une corde, vous pouvez appeler la bonne () fonction. Sa syntaxe est :

Right(string, length) As String

Cette fonction suit les mêmes règles que () la fonction gauche sauf que cela fonctionne du bon côté. Voici un exemple :

Private Sub cmdCreate_Click()
    Dim strValue As String
    Dim strRight As String
    
    strValue = "République d'Afrique du Sud"
    strRight = Right(strValue, 14)
    
    MsgBox strValue
    MsgBox strRight
End Sub

Ceci produirait :

Comme mentionné pour () la fonction gauche, vous pouvez écrire la bonne () fonction comme Right$ pour indiquer qu'il renvoie une corde.

Tandis que les Left$ () et les fonctions de Right$ () travaillent aux deux côtés d'une corde, vous pouvez vouloir employer des caractères commençant n'importe quelle position de votre choix pour créer une sous-chaîne. Cette opération est soutenue par la mi () fonction. Sa syntaxe est :

Mid(string, start[, length) As String

Cette fonction prend deux exigés et un des arguments facultatifs. Le premier argument, qui est exigé, est la corde sur laquelle l'opération sera portée. Le deuxième argument, également exigé, est la position d'où commencer la sous-chaîne à l'intérieur de l'argument de corde. Voici un exemple :

Private Sub cmdCreate_Click()
    Dim strValue As String
    Dim strMid As String
    
    strValue = "République d'Afrique du Sud"
    strMid = Mid(strValue, 14)
    
    MsgBox strValue
    MsgBox strMid
End Sub

Ceci produirait :

Comme vous pouvez voir, si vous omettez le troisième argument, la sous-chaîne de renvoi commencent la position de début de l'argument de corde jusqu'à l'extrémité de la corde. Si vous préférez, vous pouvez créer une sous-chaîne qui s'arrête avant l'extrémité. Pour faire ceci, vous pouvez passer le nombre de caractères comme troisième argument. Voici un exemple :

Private Sub cmdCreate_Click()
    Dim strValue As String
    Dim strMid As String
    
    strValue = "République d'Afrique du Sud"
    strMid = Mid(strValue, 14, 7)
    
    MsgBox strValue
    MsgBox strMid
End Sub

Ceci produirait :

Étude pratique : Employer () la fonction gauche

  1. Commencer le Microsoft Access et ouvrir la gestion de propriété de Solas que vous avez commencée dans la leçon précédente
  2. Sous les formes sectionner, droit-cliquer les factures et cliquer la vue de conception
  3. Tandis que la forme est dans la vue de conception, cliquer la boîte des textes de ContractorPhoneNumber pour la choisir
  4. Dans l'étiquette d'événements de la fenêtre de propriétés, double-cliquer sur LostFocus et cliquer son bouton de points de suspension
  5. Mettre en application l'événement de LostFocus () comme suit :
     
    Private Sub ContractorPhoneNumber_LostFocus()
    On Error GoTo ErrorOccurred
        If Left(Me.ContractorPhoneNumber, 3) = "202" Then
            Me.ContractorState = "DC"
        ElseIf Left(Me.ContractorPhoneNumber, 3) = "301" Then
            Me.ContractorState = "MD"
        ElseIf Left(Me.ContractorPhoneNumber, 3) = "703" Then
            Me.ContractorState = "VA"
        End If
        Exit Sub
        
    ErrorOccurred:
        MsgBox "An error occurred while processing this invoice." & vbCrLf & _
               "Please call the database developer (if he is not sleeping " & _
               "at this time) and report the error as follows:" & vbCrLf & _
               "Error #:     " & Err.Number & vbCrLf & _
               "Description: " & Err.Description
        Resume Next
    End Sub

Conclusion d'un caractère ou d'une sous-chaîne dans une corde

Si vous avez une corde et voulez trouver un caractère ou une sous-chaîne dans elle, vous pouvez appeler la fonction d'InStr (). Sa syntaxe est :

InStr([start, ]string1, string2[, compare])

Le premier argument indique la position de la corde où commencer à rechercher. Cet premier argument n'est pas exigé. Le deuxième argument est exigé et indique la corde pour examiner. Le troisième argument indique le caractère ou la corde pour rechercher dans le deuxième argument. Le quatrième argument, qui est facultatif, indique si le critère serait binaire ou texte a basé.

Voici un exemple :

Private Sub cmdCreate_Click()
    Dim strValue As String
    Dim iPos As Integer
    
    strValue = "Republic of South Africa"
    iPos = InStr(1, strValue, "South")
    
    MsgBox "In """ & strValue & """, " & " South can be found at " & CStr(iPos)
End Sub

Ceci produirait :

La fonction d'InStr () fonctionne du côté gauche de la corde considérée. Si vous voulez trouver une occurrence d'un ou plusieurs caractères du côté de bon côté d'une corde, vous pouvez employer la fonction d'InStrRev () à la place.

Remplacement des occurrences dans une corde

Après conclusion d'un caractère ou d'une sous-chaîne dans une corde existante, une des opérations que vous pouvez effectuer se composerait remplacer ce caractère ou cette sous-chaîne avec un autre caractère ou une sous-chaîne. Pour faire ceci, vous pouvez appeler la fonction de remplacement (). Sa syntaxe est :

Replace(expression, find, replace[, start[, count[, compare]]])

Le premier argument à cette fonction, expression, est exigé. Il tient la corde qui sera considérée.

Le deuxième argument, trouvaille, également exigée, est le caractère ou la sous-chaîne pour rechercher dans l'expression.

Le troisième argument également est exigé. Il également est passé comme corde. Si la corde de trouvaille est trouvée dans l'expression, elle serait remplacée avec de la corde de remplacement.

Quand vous appelez la fonction de remplacement () avec les trois arguments priés, elle procéderait à partir du caractère le plus gauche de la corde d'expression. Au lieu du début avec le premier caractère, vous pouvez indiquer une autre position de départ de votre choix dans l'expresion. Le quatrième argument, qui est facultatif, te permet de passer ce facteur comme nombre entier constant.

Le cinquième argument est également facultatif. Si vous l'omettez, trouver chaque fois serait trouvé dans l'expression, il serait remplacé avec remplacent, autant de fois aussi possibles. Si vous voulez, vous pouvez limiter le nombre de fois où ce remplacement devrait se produire même si la trouvaille est trouvée plus d'une fois. Pour indiquer ce facteur, passer le cinquième argument comme nombre entier constant.

L'argument de comparer, aussi facultatif, vous permet indiquent si la comparaison serait dedans porté texte ou format binaire. Cet argument peut être passé comme texte ou binaire.

Étude pratique : Remplacement des occurrences dans une corde

  1. USA et au Canada (et dans d'autres pays, selon le format), un utilisateur peut écrire un numéro de téléphone en tant que (aux 000) 000-0000, ou 000-000-0000, ou 000 000 0000, quoi que. () La fonction gauche que nous avons employée en haut n'agirait pas convenablement avec différentes manières d'écrire le numéro de téléphone. Par conséquent, avant de la traiter, nous enlèverons n'importe quel caractère non approprié dans la corde.
    Changer l'événement de LostFocus de la commande de ContractorPhoneNumber comme suit :
     
    Private Sub ContractorPhoneNumber_LostFocus()
    On Error GoTo ErrorOccurred
        Dim strPhoneNumber As String
        
        ' Trim to the left
        strPhoneNumber = LTrim(Me.ContractorPhoneNumber)
        ' Trim the right side
        strPhoneNumber = RTrim(strPhoneNumber)
        ' Replace all spaces (in the middle of the number
        strPhoneNumber = Replace(strPhoneNumber, " ", "")
        ' Replace the left parentheses, if any
        strPhoneNumber = Replace(strPhoneNumber, "(", "")
        ' Replace the right parentheses, if any
        strPhoneNumber = Replace(strPhoneNumber, ")", "")
        
            If Left(strPhoneNumber, 3) = "202" Then
            Me.ContractorState = "DC"
        ElseIf Left(strPhoneNumber, 3) = "301" Or Left(strPhoneNumber, 3) = "240" _
                Or Left(strPhoneNumber, 3) = _
    	"410" Or Left(strPhoneNumber, 3) = "443" Then
            Me.ContractorState = "MD"
        ElseIf Left(strPhoneNumber, 3) = "703" Or Left(strPhoneNumber, 3) = "540" _
                Or Left(strPhoneNumber, 3) = _
    		"804" Or Left(strPhoneNumber, 3) = "434" Then
            Me.ContractorState = "VA"
        End If
        
        If Left(strPhoneNumber, 3) = "202" Then
            Me.ContractorCity = "Washington"
        ElseIf Left(strPhoneNumber, 3) = "240" Then
            Me.ContractorCity = "Silver Spring"
        ElseIf Left(strPhoneNumber, 3) = "410" Or _
    		Left(strPhoneNumber, 3) = "443" Then
            Me.ContractorCity = "Baltimore"
        ElseIf Left(strPhoneNumber, 3) = "434" Then
            Me.ContractorCity = "Charlottesville"
        End If
    
        Exit Sub
        
    ErrorOccurred:
        MsgBox "An error occurred while processing this invoice." & vbCrLf & _
               "Please call the database developer (if he is not sleeping " & _
               "at this time) and report the error as follows:" & vbCrLf & _
               "Error #:     " & Err.Number & vbCrLf & _
               "Description: " & Err.Description
        Resume Next
    End Sub
  2. Commuter au Microsoft Access
  3. Économiser la forme et la fermer
  4. Fermer le Microsoft Access

 


Précédent Copyright © Yevol, 2007 Suivant