Tableau
Commande de compilation
Dans le menu Project - References de Visual Basic,
il faut importer les déclarations du module Up ! Kernel en
cochant la case correspondante.
Commande d'enregistrement des ActiveX
upsvtm Com=Charger
Commande d'exécution
tableau.exe
Fichier source
Const ClonageObjetSeul As Integer = 1
Const ClonageObjetsDirects As Integer = 1
Const ClonageRecursif As Integer = 1
Dim MUpsKrn As IUpsKrn
Private Sub EcrireEcran(ByVal Libelle As String)
' ==============================================
Ecran.AddItem Libelle
End Sub
Private Sub EcrireTableau(ByVal M As IUpsKrnCaractere, ByVal T As
IUpsKrnTableau)
'
===============================================================================
Dim I As Integer
On Error GoTo GestionErreur
EcrireEcran MUpsKrn.Caractere2ComBStr(M)
I = T.BorneMin
Do
EcrireEcran MUpsKrn.Caractere2ComBStr(T.Index(MUpsKrn.ComInt2Entier(I)))
If I = T.BorneMax Then
End If
I = I + 1
Loop
EcrireEcran "
Exit Sub
GestionErreur:
'=============
EcrireEcran Erreur UpsKrn-0 : L'exception suivante a été envoyée dans le
source '" + Err.Source + "' :"
EcrireEcran Err.Description
End Sub
Private Sub EcrireEntier(ByVal M As IUpsKrnCaractere, ByVal
E As IUpsKrnEntier)
' =============================================================================
On Error GoTo GestionErreur
EcrireEcran MUpsKrn.Caractere2ComBStr(M)
EcrireEcran Str$(MUpsKrn.Entier2ComInt(E))
EcrireEcran "
Exit Sub
GestionErreur:
'=============
EcrireEcran Erreur UpsKrn-0 : L'exception suivante a été envoyée dans le
source '" + Err.Source + "' :"
EcrireEcran Err.Description
End Sub
Private Function IncrementerElementTableau(ByVal T As IUpsKrnTableau,
ByVal Index As IUpsKrnEntier, ByVal Prefixe As Boolean)
As IUpsKrnEntier
'
============================================================================================================================================
Dim E As Object
On Error GoTo GestionErreur
Set E = T.Index(Index).Incrementer(Prefixe)
Set IncrementerElementTableau = E
Exit Function
GestionErreur:
'=============
EcrireEcran Erreur UpsKrn-0 : L'exception suivante a été envoyée dans le
source '" + Err.Source + "' :"
EcrireEcran Err.Description
End Function
Private Function DecrementerElementTableau(ByVal T As IUpsKrnTableau,
ByVal Index As IUpsKrnEntier, ByVal Prefixe As Boolean)
As IUpsKrnEntier
'
============================================================================================================================================
Dim E As Object
On Error GoTo GestionErreur
Set E = T.Index(Index).Decrementer(Prefixe)
Set DecrementerElementTableau = E
Exit Function
GestionErreur:
'=============
EcrireEcran Erreur UpsKrn-0 : L'exception suivante a été envoyée dans le
source '" + Err.Source + "' :"
EcrireEcran Err.Description
End Function
Private Sub AdditionnerAffecterElementTableau(ByVal T As IUpsKrnTableau,
ByVal Index As IUpsKrnEntier, ByVal E As IUpsKrnEntier)
'
==============================================================================================================================
On Error GoTo GestionErreur
T.Index2 Index, T.Index(Index).Additionner(E)
Exit Sub
GestionErreur:
'=============
EcrireEcran Erreur UpsKrn-0 : L'exception suivante a été envoyée dans le
source '" + Err.Source + "' :"
EcrireEcran Err.Description
End Sub
Private Sub Form_Load()
' =====================
Dim T As IUpsKrnTableau
Dim T2 As IUpsKrnTableau
Dim T3 As IUpsKrnTableau
Dim C As IUpsKrnCaractere
Dim T4 As IUpsKrnTableau
On Error GoTo GestionErreur
Set MUpsKrn = CreateObject("UpsApp.UpsKrn")
Set T = MUpsKrn.Tableau1(10, MUpsKrn.ComBStr2Caractere("))
Set T2 = MUpsKrn.Tableau2(1, 3, MUpsKrn.ComBStr2Caractere("))
Set T3 = Nothing
Set T4 = MUpsKrn.Tableau1(1, MUpsKrn.ComInt2Entier(0))
Set C = MUpsKrn.ComBStr2Caractere("a")
T.Index2 MUpsKrn.ComInt2Entier(0), C
T.Index2 MUpsKrn.ComInt2Entier(1), MUpsKrn.ComBStr2Caractere("A")
T.Index2 MUpsKrn.ComInt2Entier(2), C
T.Index2 MUpsKrn.ComInt2Entier(3), MUpsKrn.ComBStr2Caractere("B")
T.Index2 MUpsKrn.ComInt2Entier(4), C
T.Index2 MUpsKrn.ComInt2Entier(5), MUpsKrn.ComBStr2Caractere("C")
EcrireTableau MUpsKrn.ComBStr2Caractere("Construction"), T
T2.Index2 MUpsKrn.ComInt2Entier(1), MUpsKrn.ComBStr2Caractere("X")
T2.Index2 MUpsKrn.ComInt2Entier(2), MUpsKrn.ComBStr2Caractere("Y")
T2.Index2 MUpsKrn.ComInt2Entier(3), MUpsKrn.ComBStr2Caractere("Z")
EcrireTableau MUpsKrn.ComBStr2Caractere("Inserer"),
T.Cloner(MUpsKrn.ObjetNul, ClonageObjetSeul).Inserer(T2,
MUpsKrn.ComInt2Entier(2))
EcrireEcran MUpsKrn.Entier2ComInt(T.Compter(C, MUpsKrn.ComInt2Entier(0)))
EcrireEcran MUpsKrn.Entier2ComInt(T.Compter(C, MUpsKrn.ComInt2Entier(1)))
Set T3 = T.Cloner(MUpsKrn.ObjetNul, ClonageObjetSeul)
EcrireTableau MUpsKrn.ComBStr2Caractere("Remplacer"), T3.RemplacerTous(C, MUpsKrn.ComBStr2Caractere("X"), MUpsKrn.ComInt2Entier(0))
Set T3 = T.Cloner(MUpsKrn.ObjetNul, ClonageObjetSeul)
EcrireTableau MUpsKrn.ComBStr2Caractere("Remplacer"), T3.RemplacerTous(C, MUpsKrn.ComBStr2Caractere("X"), MUpsKrn.ComInt2Entier(2))
EcrireEcran MUpsKrn.Entier2ComInt(T.Rechercher(C, MUpsKrn.ComInt2Entier(0)))
EcrireEcran MUpsKrn.Entier2ComInt(T.Rechercher(C, MUpsKrn.ComInt2Entier(1)))
EcrireTableau MUpsKrn.ComBStr2Caractere("Supprimer"), T.SupprimerTous(C,
MUpsKrn.ComInt2Entier(0))
EcrireTableau MUpsKrn.ComBStr2Caractere("Supprimer"), T.SupprimerTous(C,
MUpsKrn.ComInt2Entier(2))
Set T3 = T.Cloner(MUpsKrn.ObjetNul, ClonageObjetSeul).Retailler(20,
MUpsKrn.Caractere1)
EcrireTableau MUpsKrn.ComBStr2Caractere("Retailler(20)"), T3
Set T3 = T.Cloner(MUpsKrn.ObjetNul, ClonageObjetSeul).Retailler(2,
MUpsKrn.Caractere1)
EcrireTableau MUpsKrn.ComBStr2Caractere("Retailler(2)"), T3
T4.Index2 MUpsKrn.ComInt2Entier(0), MUpsKrn.ComInt2Entier(1)
EcrireEntier MUpsKrn.ComBStr2Caractere("[]++"),
IncrementerElementTableau(T4, MUpsKrn.ComInt2Entier(0), False)
EcrireEntier MUpsKrn.ComBStr2Caractere("[]--"),
DecrementerElementTableau(T4, MUpsKrn.ComInt2Entier(0), False)
EcrireEntier MUpsKrn.ComBStr2Caractere("++[]"),
IncrementerElementTableau(T4, MUpsKrn.ComInt2Entier(0), True)
EcrireEntier MUpsKrn.ComBStr2Caractere("--[]"),
DecrementerElementTableau(T4, MUpsKrn.ComInt2Entier(0), True)
T4.Index2 MUpsKrn.ComInt2Entier(0),
T4.Index(MUpsKrn.ComInt2Entier(0)).Additionner(MUpsKrn.ComInt2Entier(1))
EcrireEntier MUpsKrn.ComBStr2Caractere("[]+1"),
T4.Index(MUpsKrn.ComInt2Entier(0))
AdditionnerAffecterElementTableau T4, MUpsKrn.ComInt2Entier(0),
MUpsKrn.ComInt2Entier(1)
EcrireEntier MUpsKrn.ComBStr2Caractere("[]+=1"),
T4.Index(MUpsKrn.ComInt2Entier(0))
T4.Index2 MUpsKrn.ObjetNul, MUpsKrn.ComInt2Entier(10)
EcrireEntier MUpsKrn.ComBStr2Caractere("[Nul]=10"),
T4.Index(MUpsKrn.ObjetNul)
EcrireEntier MUpsKrn.ComBStr2Caractere("[Nul]++"),
IncrementerElementTableau(T4, MUpsKrn.ObjetNul, False)
EcrireEntier MUpsKrn.ComBStr2Caractere("[Nul]--"),
DecrementerElementTableau(T4, MUpsKrn.ObjetNul, False)
T4.Index2 MUpsKrn.ObjetNul,
T4.Index(MUpsKrn.ObjetNul).Additionner(MUpsKrn.ComInt2Entier(1))
EcrireEntier MUpsKrn.ComBStr2Caractere("[Nul]+1"),
T4.Index(MUpsKrn.ObjetNul)
AdditionnerAffecterElementTableau T4, MUpsKrn.ObjetNul,
MUpsKrn.ComInt2Entier(1)
EcrireEntier MUpsKrn.ComBStr2Caractere("[Nul]+=1"),
T4.Index(MUpsKrn.ObjetNul)
Set T = Nothing
Set T2 = Nothing
Set T3 = Nothing
Set C = Nothing
Set T4 = Nothing
Set MUpsKrn = Nothing
Exit Sub
GestionErreur:
'=============
EcrireEcran Erreur UpsKrn-0 : L'exception suivante a été envoyée dans le
source '" + Err.Source + "' :"
EcrireEcran Err.Description
End Sub