Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449

    Eseguire una funzione contenuta in un file di testo

    sarà l'effetto del panettone geneticamente modificato ma mi sto chiedendo se è possibile eseguire una funzione contenuta in un file di testo richiamandola a runtime.

    Qualcuno sa se è possibile e come?
    S'i fosse foco, arderei 'l mondo

  2. #2

    Re: Eseguire una funzione contenuta in un file di testo

    Originariamente inviato da cik
    sarà l'effetto del panettone geneticamente modificato ma mi sto chiedendo se è possibile eseguire una funzione contenuta in un file di testo richiamandola a runtime.

    Qualcuno sa se è possibile e come?
    cioè vediamo se ho capito
    tu in un file di testo scrivi una function e vuoi richiamarla da codice leggendo il file?

    tipo una "esegui quello che è scritto qui"

    un consiglio passa al pandoro
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  3. #3
    sicuramente no
    pero'
    intuisco lo scopo e si puo' raggirare cosi:
    usi un file txt che lo usi come variabili ad opzioni boleane...
    le istruzioni che avresti volute usare all'inizio
    le metti come sub nel tuo programma ...
    ti crei un motore (temorizzatore) che
    ti sonda il tuo file txt dove puoi variare
    le variabili boleane ...
    attenzione pero' ...
    perche' non puoi aprire il file con notepad per esempio
    perche' quando il prg. vb prova ad aprire il file dara' errore di fil gia' aperto .
    poco male usi un altro prg vb che ti apre il file
    in una texbox ma te lo apre e richiude periodicamente
    con un altro motorino

    e wala'...

  4. #4
    scusa magari ne capisco poco io
    ma se sul mio file di testo c'è scritto

    function alert (message as string)
    msgbox message
    end function


    tu da vb come fai a farla eseguire
    dovresti leggere riga per riga
    dovresti interpretare quello che è scritto sul file e controllarne la sintassi
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  5. #5
    Utilizzando la libreria "Microsoft Script Control" è possibile fare tutto ciò. Riporto l'esempio della guida associata alla libreria, peraltro in italiano:
    codice:
    Dim sc, m
    Set sc = CreateObject("ScriptControl")
    sc.Language = "VBScript"
    
    'aggiunge un modulo
    Set m = sc.Modules.Add("Module1")
    
    'aggiunge codice al modulo
    m.AddCode "Sub Main : MsgBox ""Salve gente"" : End Sub"
    
    'esegue lo script
    m.Run "Main"
    Chi non cerca trova.

  6. #6
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449
    pensavo di ricevere una sacco di no ed invece...

    x lucioanod6: e se devo aggiungere un'istruzione devo mettere mano al codice? in questo caso faccio prima a scrivere la routine in un modulo e non in un file di testo.

    x xegallo: l'idea è proprio quella. Leggere (o "importare") il file ed usarlo come se fosse un modulo (supponendo che la sintassi sia corretta)

    x tas: oggi pome provo. Grazie

    L'idea originaria è quella di inserire in un file di testo una serie di controlli da effettuare sui campi di un record prima di inserirlo nel DB.
    Se però codifico tutto, per effettuare delle modifiche devo mettere mano al codice.

    Se invece l'elenco dei controlli è nel file di testo posso aggiungerli, toglierli e modificarli in molto meno tempo.

    Se ci sono altre idee per ottenere lo stesso risultato sono tutt'orecchi


    Piccolo esempio:

    Controlli.txt
    pippo>2
    ciccio <> Null
    Len(password)>6

    Private Function Valida() as Boolean
    Valida=true
    while valida and not eof
    'leggi controllo
    valida = valida and controllo
    wend
    End Sub
    S'i fosse foco, arderei 'l mondo

  7. #7
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449
    Originariamente inviato da tas
    Utilizzando la libreria "Microsoft Script Control" è possibile fare tutto ciò. Riporto l'esempio della guida associata alla libreria, peraltro in italiano:
    codice:
    Dim sc, m
    Set sc = CreateObject("ScriptControl")
    sc.Language = "VBScript"
    
    'aggiunge un modulo
    Set m = sc.Modules.Add("Module1")
    
    'aggiunge codice al modulo
    m.AddCode "Sub Main : MsgBox ""Salve gente"" : End Sub"
    
    'esegue lo script
    m.Run "Main"
    si può fare anche con le funzioni?
    si possono passare dei parametri?
    S'i fosse foco, arderei 'l mondo

  8. #8
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Originariamente inviato da cik
    si può fare anche con le funzioni?
    si possono passare dei parametri?
    Credo di sì!
    Esempio:
    codice:
    'Nome del file e chiamata di funzione.
    'esempio:
    'Esegui(App.path & "\Code.txt","Carica(30,"Ciao",True)")
    Sub Esegui(NomeFile as String, ChiamataFunzione)
    Dim sc, m
    Set sc = CreateObject("ScriptControl")
    sc.Language = "VBScript"
    
    'aggiunge un modulo
    Set m = sc.Modules.Add("Module1")
    
    'Carica il file
    Dim Codice as String, fn as integer
    fn = freefile
    open nomefile for binary as #fn
    codice=string(lof(fn)," ")
    get #fn,1,codice
    close #fn
    
    'aggiunge codice al modulo
    m.AddCode codice
    
    'esegue lo script
    m.Run NomeFunzione
    end sub
    (non l'ho testato)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.