Newsgroup: it.comp.lang.visual-basic
Titolo: E' possibile gestire files da VBScript?

Salve a tutti,
io ho creato un file .VBS con il seguente contenuto:
Sub Main()
    Open "prova.txt" For Output As 1
    Write #1, "questa è una prova"
    Close
End Sub
Mi aspettavo che, eseguendolo, venisse creato un file di testo contenente la
stringa "questa è una prova", invece compare un errore del Windows Script
Host. Il contenuto è:
Script: C:\VB\prova.vbs
Riga: 4
Errore: Prevista fine istruzione
Codice: 800A0401
Origine: Errore di compilazione di Microsoft VBScript
Cosa sto sbagliando?

 End Sub
Scusate, la riga in cui dà errore è la 2, non la 4.


non dovrebbe essere: Print #1, "questa è una prova" ?
e tra l'altro l'utente IIS dovrebbe avere i permessi in scrittura

 e tra l'altro l'utente IIS dovrebbe avere i permessi in scrittura
Un attimo, cosa intendi per utente IIS?


Un attimo.... googla "iis user", e vedrai cosa intendo!
:)
...intendo anche che prima di usufruire di un NG bisognerebbe
studiarsi qualcosina..................

> Un attimo.... googla "iis user", e vedrai cosa intendo!
Ho cercato e visto, ma non mi aiuta perchè non sto gestendo un server. La
mia applicazione (che non gira su un server web, ma su un computer normale a
livello locale) interpreta script "custom", cioè con sintassi creata apposta
per questa applicazione, il cui scopo è creare e disporre su una form
oggetti come frame, textbox, combobox, checkbox, pulsanti ecc.
Questi script, però, possono anche includere parti in VBScript (che
l'applicazione converte poi in file .VBS separati), le quali servono per far
interagire gli oggetti creati, così per esempio posso modificare il numero
che appare in una textbox a seconda dei valori letti in quattro combobox
differenti, oppure rendere visibili o invisibili dei pulsanti a seconda che
una checkbox sia attiva o no...
Un'altra cosa che mi serve fare è salvare su un file di testo i valori
contenuti in certe textbox e combobox, in modo da poterli rileggere,
stampare e fare tutto quello che si può fare con un file di testo. Ma usando
la normale sintassi del Visual Basic per aprire un file su cui scrivere, il
Windows Script Host mi dà appunto l'errore di cui parlavo prima, in
corrispondenza della parola For, nella linea in cui dovrebbe aprire il file.

Non sarà che devi scrivere
Open "prova.txt" For Output As #1 ?
e poi close #1 ?
Silvio


"Sbagli" nel ritenere che VBScript sia uguale a VB... è solo un sottoinsieme.
Per gestire i file non esistono le primitive di VB (Open, Print, Close), ma devi
appoggiarti ad un oggetto TextStream:
Scrivo così a braccio:
Sub Main()
Dim fso, ts
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.CreateTextFile("prova.txt")
    ts.WriteLine "questa è una prova"
    ts.Close
End Sub
Bye
Raf

 studiarsi qualcosina..................
Ho risolto in un altro modo, grazie di nulla!


Grazie.

Cosa sto sbagliando?
Oltre alla procedura anche il ng  ;-)
se vai su
   microsoft.public.scripting.vbscript  (in inglese + frequentato)
o
   microsoft.public.it.scripting  (in italiano)
con google trovi un sacco di post con risposte ed esempi vari.
--
ciao
  Stefano

 > Dim fso, ts
[cut]
se lo fai direttamente in un file vbs :
Set fso = CreateObject("Scripting.FileSystemObject")
     Set ts = fso.CreateTextFile("prova.txt")
    ts.WriteLine "questa è una prova"
    ts.Close
--
Fosco