Substitution

Signaler
Messages postés
45
Date d'inscription
jeudi 31 juillet 2003
Statut
Membre
Dernière intervention
29 novembre 2010
-
Messages postés
45
Date d'inscription
jeudi 31 juillet 2003
Statut
Membre
Dernière intervention
29 novembre 2010
-
Très simple pour vous, pas pour moi :

J'ai des chaines de caractères qui comprend ce genre d'infos
a="NOM"
b="toto"

et je voudrais faire une substitution, c'est à dir affecter à la variable NOM (contenu de a), la valeur toto...

Avec d'autres languages j'aurais écris
&(a)="toto"

mais ici çà marche po :-(
une idée ?

13 réponses

Messages postés
1765
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
6
Je ne vois pas bien le sens de la question.
Déja le "&" dans les langages en général permet de dire que tu vas modifier la référence de la variable (il me semble).

En gros quand tu fais &(a)="toto", tu n'attribue pas la valeur toto à a mais crée un pointeur vers toto.
D'ailleur il me seble que ca se fait en tranfert de variable donc ca serait plutot :
&(a)=b

Ainsi tu ajoutes un pointeur sur la valeur de b.

Attention dans ce cas car si tu modifies la valeur de b, alors a sera aussi modifiée.

Ceci n'a donc rien avoir avec une substitution a mon sens.

Précise ta question si tu veux une réponse.

Romelard Fabrice (Alias F___)
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
29
D'apres ta question je pense que ce serait tout simplement ca que tu veux :

dim c as string 'variable temporaire
c = b
b = a
a = c
c = nothing

en esperant t'avoir aidé ... :)

Cyril (Alias Jesusonline)
Messages postés
20
Date d'inscription
mardi 20 janvier 2004
Statut
Membre
Dernière intervention
5 janvier 2006

OK j'essaye d'être plus clair...

j'ai une variable qui contient ceci :

a="NOM"

Je voudrais pouvoir associer une valeur (par exemple "toto") au contenu de la variable a

soit, je voudrais que NOM="toto"

C'est plus clair j'espère ;-)
--Ced--
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
29
ok, je comprend ce que tu veux, par contre j'ai jamais vu un truc du genre en VB, mais je connais pas encore beaucoup VB en tout cas ca m'interesse, essaye de poser ta question sur www.vbfrance.com (dis nous ta réponse apres bien sur :) )
pour palier à ton problème je ferais ca avec des tableaux, je sais c'est chiant mais je vois pas d'autres solution.

Cyril (Alias Jesusonline)
Messages postés
45
Date d'inscription
jeudi 31 juillet 2003
Statut
Membre
Dernière intervention
29 novembre 2010

J'ai retrouvé le nom, on appelle çà de la macro substitution.
Ca existe en foxpro, et visual J++, en C++

Bref çà doit exister en ASP !

Une colle ???? :)
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
29
Je me suis amusé en VB pour faire qqchose qui ressemblerais à ce que tu veux (j'aime pas etre collé lol) j'ai regardé sur l'aide de Vs.net et effectivement il existe ca en c++ mais j'ai rien trouvé pour VB donc voici ce que j'ai fait

Namespace MesFonctions

    Public Class MacroSubstition

        Public AlSubstitution As New ArrayList

        Public Sub Add(ByVal _NameString As String, ByVal _Value As Object)

            Dim s As New Substitution
            s.NameString = _NameString
            s.Value = _Value
            AlSubstitution.Add(s)

        End Sub

        Private Class Substitution
            Public NameString As String
            Public Value As Object
        End Class

        Public Function GetSubstitution(ByVal _NameString As String) As Object

            For Each s As Substitution In AlSubstitution
                If s.NameString = _NameString Then
                    GetSubstitution = s.Value
                    Exit For
                End If
            Next

        End Function

    End Class

End Namespace


et maintenant pour se servir de tout ce joli petit monde je fais


        Dim substitution As New MacroSubstition
        Dim i As Integer
        Dim a As String() = {"premier", "deuxieme", "troisieme"}
        For Each s As String In a
            i += 1
            substitution.Add(s, i)
        Next

        For Each s As String In a
            Response.Write(substitution.GetSubstitution(s) & "
")
        Next

        Response.Write(substitution.GetSubstitution("premier"))



Le code est pas du tout optimisé, ca ne marche que pour des strings il doit y avoir beaucoup de bug ... mais c'est juste pour te montrer comment on pourrait faire ce que tu demandes en VB (beaucoup plus difficilement) si tu optimises le code fais moi signe, j'essaierais peut etre si j'ai le temps cette apres midi de faire qqchose d'un peu plus optimisé car ca peut toujours servir :)

Cyril (Alias Jesusonline)
Messages postés
45
Date d'inscription
jeudi 31 juillet 2003
Statut
Membre
Dernière intervention
29 novembre 2010

Comment j'intègre tout çà en ASP ?
Chuiii nuuuuuuuuuuuuuul :-\
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
29
mon exemple est valable seulement si tu travailles en asp.net, sinon il faut que tu retravailles le code mais le principe est la, mais si tu es déboutant ... bon courage :)

Cyril (Alias Jesusonline)
Messages postés
20
Date d'inscription
mardi 20 janvier 2004
Statut
Membre
Dernière intervention
5 janvier 2006

Je connais pas asp.net pfffffffffffffffffffffffffffff
Je suis foutu ;-)
--Ced--
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
29
t peut etre pas encore foutu ;) explique moi ton problème en détail peut etre que je trouverais une autre solution :)

Cyril (Alias Jesusonline)
Messages postés
20
Date d'inscription
mardi 20 janvier 2004
Statut
Membre
Dernière intervention
5 janvier 2006

Benh je dois faire en asp (et pas asp.net) une macro substitution...
--Ced--
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
29
ouais mais dans quel but ?
sinon tu comprend rien à la source que j'ai posté ? car c'est pas si compliqué que ca, j'utilise des tableaux, je declare un tableau à deux colonnes dans la premiere colonne je met le nom de ma variable et dans la deuxieme la valeur de la variable, ensuite je cherche dans mon tableau ma variable et je renvoie la valeur, ca l'air assez compliqué comme ca, mais si tu as fait un brin de C++ je pense que tu devrais comprendre

Cyril (Alias Jesusonline)
Messages postés
45
Date d'inscription
jeudi 31 juillet 2003
Statut
Membre
Dernière intervention
29 novembre 2010

Je développe une administration de base Access locale, et j'ai besoin de faire ce genre de manipulation...

L'idée ensuite est de pouvoir administrer les bases de données de tous mes sites à distance, afin de ne pas laisser l'administration sur le net, mais bien chez moi en local...

J'ai fait du turbo C (et pas C++) il y a 10 ans, mais jamais utilisé depuis, donc j'ai pas mal de guerres en retard, on ne sait pas se spécialiser dans tout ;-)

Autre question tant que j'y suis pour la connexion mdb à distance, j'ai trouvé quelques sources, mais qui ne fonctionnent pas (Provider=MS Remote), une adresse ou je pourrais trouver des infos complémentaires sur la mise à jour d'une base de données Access à distance ?

Benh merci de ton aide en tout cas !