begin process at 2012 02 14 11:57:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

General

 > 

Appelé du code contenu dans un fichier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Appelé du code contenu dans un fichier

mercredi 21 novembre 2007 à 15:36:55 | Appelé du code contenu dans un fichier

Toto3544

Salut à tous.

Voilà, j'aurais voulu savoir s'il était possible d'appeler à partir de vb6 du code contenu dans un fichier.

exemple:
Voilà ce que contiendrai mon fichier, et je voudrai appeler ce bout de code à partir de mon appli vb6 en passant en paramètre ma variable Valeur.


dim chaine as string

Select Case Valeur
    Case 1 = 1
        chaine = "réponse 1"
    Case 2 = 2
        chaine = "réponse 2"
End Select
return chaine

je veux pouvoir modifier mon code directement dans le bloc note par exemple, sans être obliger de repasser par visual studio.

J'espère avoir été suffisament clair.

Merci à tous

mercredi 21 novembre 2007 à 15:45:18 | Re : Appelé du code contenu dans un fichier

GEDDi


Héhé,

En VBA tu peux 'injecter' un module de code dans Excel, Word, PPT par exemple et le jouer dans l'objet CodePane, mais en VB 6 je ne pense pas que tu puisses le faire :)

Essayes avec mon langage( FBSL, tres proche du VB (cf dans mon link) ) qui lui le permet tres simplement de cette manière :
Exemple tu as un fichier 'Toto.code' dans lequel tu as mis du code 'dynamique' cad pret à etre 'joué' depuis un programme 'compilé' mais ne connaissant pas encore le contenu de 'Toto.code'

Donc tapes ceci dans ton programme principal, quu tu vas ensuite compiler :
#include_once "./Toto.code"

C'est tout, et ça marche :)

Gérôme GUILLEMIN
Auteur du langage FBSL
mercredi 21 novembre 2007 à 16:06:16 | Re : Appelé du code contenu dans un fichier

jrivet

Membre Club
Salut,
Sinon en VB6 tu utilises le ScriptControl qui te permet de faire interpreter des chaine de caratere comme des procédures.

Je prépare un petit exemple.

@+: Ju£i€n
Pensez: Réponse acceptée
mercredi 21 novembre 2007 à 16:27:03 | Re : Appelé du code contenu dans un fichier

Toto3544

Merci pour vos réponse.

En faite, je ne veux pas être obligé de déclarer mon fichier au préalable.
Je veux pouvoir en ajouter un quand je veux, à la racine de mon appli, sans modifier mon code principal.

Genre faire un appel par un shell ou un truc dans le genre et puis c tout. Pas d'include.

Est-ce possible?

Encore merci
mercredi 21 novembre 2007 à 16:29:17 | Re : Appelé du code contenu dans un fichier

jrivet

Membre Club
Réponse acceptée !
Re,
Ah ca change la donne Tant pis mon petit exemple est pres alors je le montre.
C'est moins facile qu'en FBSL... mais bon

Option Explicit

Private Sub Form_Load()
'Le contrenu de "C:\Toto.txt est
'Function GetValeur(Chaine, Retour)
'Select Case Chaine
'    Case "1": Retour = "Reponse 1"
'    Case "2": Retour = "Reponse 2"
'    Case Else: Retour = "Reponse Inconnue"
'End Select
'End Function
   Call InterpreteCode("C:\toto.txt")
End Function


Private Sub InterpreteCode(ByVal Fichier As String)
Dim NumFile As Integer
Dim Contenu As String
'IlFaut Cocher en référence
'Microsoft Script Control 1.0
Dim MScript As New ScriptControl


   NumFile = FreeFile
   'Récupère le contenu entier du fichier
   Open Fichier For Binary As NumFile
   Contenu = String(LOF(NumFile), 0)
   Get #NumFile, , Contenu
   Close #NumFile
   
   'ATTENTION LES PARAMETRES
   'DOIVENT ETRE VARIANT
   Dim Param
   Dim Retour
   Param = "156"
   With MScript
       'Langage du script
       .Language = "VBScript"
       'Reset Eventuel
       Call .AddCode(Contenu)
       'IL faut connaitre le nom de la procédure
       Call .Run("GetValeur", Param, Retour)
   End With
   
   MsgBox Retour
End Sub
By Renfield


@+: Ju£i€n
Pensez: Réponse acceptée
mercredi 21 novembre 2007 à 16:50:15 | Re : Appelé du code contenu dans un fichier

Toto3544

Merci jrivet.

Ta réponse m'intéresse.
J'essayerai ça demain et vous tien au courant.

A+

ps: je suis ouvert à toutes autres solutions
mercredi 21 novembre 2007 à 21:01:44 | Re : Appelé du code contenu dans un fichier

GEDDi

Hello,

Voici du code VBA (VB et portable facilement en VBnet) qui permet de charger FBSL.DLL et donc de jouer du code FBSL à la volée et de récupérer le retour :

Option Explicit

Private Declare Function FBSL_ExecuteScriptFile Lib "fbsl.dll" (ByVal szScriptfile$) As Long
Private Declare Function FBSL_GetReturnValue Lib "fbsl.dll" (ByVal pValue As Long, ByVal iType As Long) As Long
Private Declare Function FBSL_ExecuteScriptBuffer Lib "fbsl.dll" (ByVal ExternalBuffer$) As Long

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)

Const FBVT_STRING = 30
Const FBVT_INTEGER = 3
Const FBVT_DOUBLE = 5
Const FBVT_SINGLE = 4

Const ccode = "Return Right(""Hello"", 4) & 5 + 5 / 12 * PI"

Public Sub cmdRetCode()
    If Trim$(ccode) <> "" Then
        Dim i As Long
        FBSL_ExecuteScriptBuffer ccode: DoEvents
        'i = FBSL_GetReturnValue(1&, 0) ' Get the return type
        i = FBSL_GetReturnValue(0&, FBVT_STRING)
        Dim sSave As String, mStr As String
        sSave = Space(i): mStr = Space(i)
        FBSL_GetReturnValue StrPtr(sSave), FBVT_STRING
        CopyMemory ByVal StrPtr(mStr), ByVal StrPtr(sSave), i
        sSave = Left(StrConv(mStr, vbUnicode), i)
        MsgBox "Returned value == " & sSave, vbApplicationModal, "RETURN CODE IS :"
    End If
End Sub


Gérôme GUILLEMIN
Auteur du langage FBSL
jeudi 22 novembre 2007 à 10:23:53 | Re : Appelé du code contenu dans un fichier

Toto3544

Merci GEDDi pour ton code, mais je vais garder la solution de jrivet que j'ai réussi à faire fonctionner.
Encore merci à vous.

A+


Cette discussion est classée dans : fichier, code, chaine, case, contenu


Répondre à ce message

Sujets en rapport avec ce message

Textbox dans nouveau fichier créée, transposée sans son contenu ! [ par lmlmike ] Bonjour :) J'ai un bouton sous excel qui me créée un nouveau fichier contenant un onglet de mon classeur. Dans cet onglet j'ai des labels, et des tex Comment enregistrer le contenu de plusieurs List box dans un seul fichier TXT ? [ par sebas ] Comment enregistrer le contenu de plusieurs List box dans un seul fichier TXT ? et les lire ensuite effacerle contenu d'un fichier text [ par jack ] Bonjour,comment puis effacer le contenu d'un fichier text?MerciJack Récupérer un fichier [ par Philou ] J'ai créé un fichier .txt en lui donnant le contenu d'un textbox.Le nom du fichier est inscrit dans un autre fichier qui alimente un combobox.Lorsque on error goto... [ par skilhit ] ok le titre ne vous dit pas grand chose ! mais je m'explique !vous connaissez le code :On Error GoTo la_destination:alors voilà ! je crée un petit pro modifier le contenu d'ole [ par Fred ] je debute en vb.g creer un ole qui ouvre un fichier wordjusque la pas de probleme.je voudrais quand cliquant sur un bouton, je change de fichier worde Comment enregistrer le contenu d'une ListBox dans un fichier txt ? [ par Sab ] Merci pour votre aide lister le contenu d'un fichier dans une listview [ par mat ] bonjour,j'aimerai savoir comment lister le contenu d'un fichier (ligne par ligne) dans une listview.merciMat parcours d un fichier Word [ par YAYA ] Voila mon problemeJe souhaite parcours u fichier word afin de tester le contenu de differentes lignes pour leur applique differents traitements selon URGENT!!!Debutant en VB6 Cherche Aide [ par Princedukashmir ] Bonjour, Can you help me please ???? Voila ce que je dois faire: Faire 5 fonctions qui doivent être optimisées à fond : le moins de code possible et l


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,700 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales