Newsgroup: it.comp.lang.visual-basic
Titolo: Problema con VBScript

Sto cercando di scrivere un codice in VBScript da integrare in una pegina
HTML, di seguito č riportato il codice in esame:
------Inizio Codice------------------------------------
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
    <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <title>Nuova pagina 1</title>
    </head>
    <body>
    <SCRIPT LANGUAGE="VBScript">
    <!--
    Sub Submit_OnClick
      Dim TheForm
      Dim NumTxt
      Dim NumFile
      Set TheForm = Document.ValidForm
      If IsNumeric(TheForm.Text1.Value) Then
        If TheForm.Text1.Value < 1 Or TheForm.Text1.Value > 10 Then
          MsgBox "Immettere un numero compreso tra 1 e 10."
          TheForm.Text1.Value = " "
        Else
          MsgBox "Valore corretto."
        End If
      Else
        MsgBox "Immettere un valore numerico."
        TheForm.Text1.Value = " "
      End If
      NumTxt = TheForm.Text1.Value
      NumFile = FreeFile
      If MsgBox("Vuoi salvare valore su file ?", vbYesNo, " ATTENZIONE") =
vbYes Then
        Open "C:\Prova.txt" For Append As NumFile
        Print #NumFile , NumTxt
        Close NumFile
      Else
        MsgBox "Ok"
      End If
    End Sub
    -->
    </SCRIPT>
    <CENTER>
    <H3>Convalida semplice</H3><HR>
    <FORM NAME="ValidForm">
    Immettere un valore compreso tra 1 e 10:
    <INPUT NAME="Text1" TYPE="TEXT" SIZE="3">
    <INPUT NAME="Submit" TYPE="BUTTON" VALUE="Invia">
    </FORM>
    </CENTER>
    </body>
    </html>
------Fine Codice------------------------------------
Quello che vorrei realizzare consiste nel salvare su file il valore numerico
digitato nella casella di testo. Infatti quando il programma legge questa
riga di comando:
 -  Open "C:\Prova.txt" For Append As NumFile
 mi visualizza la seg. schermate d'errore:
     __________________________
        Errore durante l'esecuzione
        Eseguire il Debug?
        Riga 37
        Errore: Previsto fine istruzione
                    SI            No
     __________________________
Purtroppo non ho esperienza in VBScript, in quanto č da poco che stň
studiando questo linguaggio, perň in compenso conosco VB 6.0.
Se qualcuno č in grado di aiutarmi o comunque mi sa dire dove posso trovare
piů informazioni su VBScript, mi farebbe un grandissimo favore.
Comunque grazie in anticipo e scusatemi se mi sono dilungato troppo sul
problema.

problema.
Invece hai fatto benissimo, l' esempio riportato ha permesso di capire subito :-)
hth, hal

Purtroppo per quanto riguarda il web, con Vb Script visogna utilizzare un
oggetto File system object(FSO).
In questo caso non devi usare la funzione Open
imposta cosě tutto, poi fammi sapere.

        set fso= CreateObject("Scripting.FileSystemObject")
        Set tf = fso.CreateTextFile("prova.txt", True)
        tf.WriteLine(numfile, numtxt);
        tf.Close();
        Else
        MsgBox "Ok"
      End If
    End Sub
    -->
    </SCRIPT>
    <CENTER>
    <H3>Convalida semplice</H3><HR>
    <FORM NAME="ValidForm">
    Immettere un valore compreso tra 1 e 10:
    <INPUT NAME="Text1" TYPE="TEXT" SIZE="3">
    <INPUT NAME="Submit" TYPE="BUTTON" VALUE="Invia">
    </FORM>
    </CENTER>
    </body>
    </html>
In questo modo dovrebbe andare perň cmq non so se ci saranno problemi di
protezione.
la funzione writeline(), scrive del testo su singole linee. Se ci sono
problemi fammi sapere
****************************************************
KALAVINUS
VBSCRIPT, JAVASCRIPT, HTML, PHP & ASP DEVELOPER
****************************************************


non puoi salvare su file da pagine web :))
altrimenti sai i file che avresti sul computer? :)))
--
-------
sito: 
www.dadev.it
ultime: Ocx per irc testi freeware
-------

altrimenti sai i file che avresti sul computer? :)))
Aggiusta un pochino il codice postato da Gio', che aveva qualche problema,
e prova questo (ricavato dal suo, peraltro):
--------------- inizio codice --------------
<html>
    <head>
    <title>Test</title>
 
<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--
function ValidForm_onsubmit() {
	var TheForm = document.ValidForm
	if (!isNaN(TheForm.Text1.value)) {
		if ((parseInt(TheForm.Text1.value, 10) < 1)
			|| (parseInt(TheForm.Text1.value, 10) > 10)) {
			window.alert("Immettere un numero compreso tra 1 e 10.") ;	
			TheForm.Text1.value = "" ;
			return ;
		}
		else {
			window.alert("Valore corretto.") ;
		}
	}
     else {
        window.alert("Immettere un valore numerico.");
        TheForm.Text1.value = "" ;
        return ;
     }   
     if (window.confirm("Vuoi salvare valore su file ?")){
        var fso = new ActiveXObject("Scripting.FileSystemObject");
        var tf = fso.CreateTextFile("prova.txt", true);
        tf.WriteLine(TheForm.Text1.value);
        tf.Close();
      }  
      else{
        window.alert("Ok");
     } 
}
//-->
</SCRIPT>
<SCRIPT LANGUAGE=javascript FOR=ValidForm EVENT=onsubmit>
<!--
 ValidForm_onsubmit()
//-->
</SCRIPT>
</head>
    <body>
    <CENTER>
    <H3>Convalida semplice</H3><HR>
    <FORM NAME="ValidForm" LANGUAGE=javascript onsubmit="return ValidForm_onsubmit();">
    Immettere un valore compreso tra 1 e 10:
    <INPUT NAME="Text1" TYPE="TEXT" SIZE="3">
    <INPUT NAME="Submit" TYPE="submit" VALUE="Invia">
    </FORM>
    </CENTER>
    </body>
</html>
------------------- fine codice ---------------
La verita' che la vera porcata sono gli ActiveX sulle pagine web.
ciao, hal

 e prova questo (ricavato dal suo, peraltro):
per far funzionare il tuo codice si dovrebbe tenere gli activex abilitati
,sul web ormai son pochissimi che osano tanto :)). In vbscript (sul web) non
puoi scrivere sul disco (con mezzi comuni ovviamente) e se ti funziona quel
codice cambia subito le protezioni o avrai sicuramente dei problemi .
ciao


codice cambia subito le protezioni o avrai sicuramente dei problemi .
eh eh, lo so bene ;-)
purtuttavia, in ambito intranet sono usati abbastanza ...
... e poi si lamentano che gli bucano i sistemi ...
mah !
ciao, hal

 ( a parte il fatto che io non uso il vbscript neanche server-side :)
beh con  activex e vbscript volendo puoi fare guai assurdi. ma pensavo fosse
chiaro :)))
sul fatto che gli active sono una vera porcata non sono per nulla d'accordo
è l'ignoranza della gente che mette le mani dove non dovrebbe (ci vuole poco
a capire che se sposti le impostazioni di protezione puoi causare guai seri
,se guardi nelle opzioni c'è un bel pulsantino per impostare quelle di
default).Gli activex,add-in e via dicendo hanno migliorato di molto la
compatibilità del web(vedi flash) e senza di loro immagini quanto lavoro in
più per i webmaster? (anche se poco usati)
bye


più per i webmaster? (anche se poco usati)
eh, di sicuro c'e' fatturato in piu' per le compagnie dei telefoni :-P
inoltre, per quel poco che ne so, il libero accesso all' api del
sistema operativo e/o un buffer overflow "furbo" provocato
da un activex fanno piu' danno di un applet java :(
ciao, hal
p.s.
senza contare le sozzerie scritte nel registro di windows, le possibili 
incompatibilita' di versione ed il legame a doppia mandata con
il sistema operativo ed il browser di microsoft ...
riciao, hal


anche questa cosa è un scagliarsi contro un prodotto senza guardare
effettivamente cosa c'è dietro.
Il registro è fatto apposta per raccogliere tutte le zozzerie che prima
risiedevano in migliaia di file ini(erano capaci di portarti via mega e mega
di disco per colpa dei cluster).L'unico vero errore è quello che ,nel
pacchetto windows, non esistono veri e propri tool intelligenti epr il
ripristino del sistema.Purtroppo la maggior parte della gente è ignorante e
non sa che basta repristinare un vecchio backup,magari tenendo traccia dei
file aggiunti,per riportare il sistema con prestazioni originali.Sul nuovo
XP ho sentito parlare di veri e propri backup di file di sistema in diverse
dir(ne ho solo sentito parlare).
Finalmente microsoft si è data una mossa.
ciao

Finalmente microsoft si è data una mossa.
Vedremo se sara' quella giusta ...
ciao, hal

 che a forza di fare istantanee del sistema si era riempito il disco ...
spero di no
cmq penso che sia  meglio mettere la parola fine altrimenti annoiamo tutti
.(magari a te l'ultima risposat)
ciao e alla prossima(ormai sembra di routine non andare d'accordo io e te )
ehehhehe


ehehhehe
be', altrimenti i gruppi di discussione non potrebbero esistere !
ciao, hal
p.s.
ci sarai al meeting ?
p.p.s.
sempre piu' OT :)

 >
Personalmente avrei scelto una configurazione intermedia:
- Registro per la configurazione del sistema
- Folder di sistema per gli ini delle singole app.
ciao
ugo