Visualizzazione dei risultati da 1 a 9 su 9

Discussione: vbscript gestione file

  1. #1

    vbscript gestione file

    salve a tutti
    mi sono avvicinato da poco al vbscript
    non posso nasconede il fatto di avere le idee un po confuse
    vorrei creare e modificare un file nelle directory del mio server
    questo script non funziona
    il mio server non supporta vbscript
    il filesystemobject non e ammesso lato server
    sono proprio fuori?
    se non e' possibile come fare in asp

    <SCRIPT LANGUAGE=vbscript RUNAT=Server>
    sub invia_onclick()
    Dim OggFile, origine, OggTextStream
    origine="mike.mke"
    Set fso = CreateObject("Scripting.FileSystemObject")
    fso.CreateTextFile (origine)
    Set OggFile = fso.GetFile (origine)
    Set OggTextStream = OggFile.OpenAsTextStream(2)
    OggTextStream.WriteLine text1.value
    OggTextStream.close
    document.write "Scrittura eseguita correttamente."
    end sub
    </SCRIPT>

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Benvenuto nel forum

    Il vbscript lato server lo si tratta nel forum ASP

    Ti sposto
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    mmm

    attenzione
    quello script è un RUNATSERVER, ma è vbscript lato client

    un gran pasticciaccio

    dunque

    ecco una buona base per la modifica di file

    codice:
    <%
    
    'prende i dati dal form dell altra pagina (metodo post)
    'metti al posto di textarea1 il nome dell oggetto nella 
    'form che contiene il testo nella pagina1
    MyStrbyForm = Request.Form("textarea1")
    
    'crea l oggetto FSO e l oggetto FILE
    Dim objFSO, objFile
    strFileName = Server.MapPath("nomefile.txt")
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
    
    ' Apre il file (1 = ForReading, True = Create)
    Set objFile = objFSO.OpenTextFile(strFileName, 1, True)
    
    ' Legge il file (anche se non ti serve, potrebbe esserlo in futuro
    ' If Not objFile.AtEndOfStream Then
    	' legge il file
    '	MyStr = objFile.ReadAll
    'Else
    	' se il file non esiste
    '	MyStr = ""
    'End If
    
    ' chiude il file e lo distrugge (non il file, ma l oggetto)
    ' cioè libera la memoria
    objFile.Close
    Set objFile = Nothing
    
    'scrive il testo nel file dal textarea della pagina1
    MyStr = MyStrByForm 
    
    ' riapre il file
    Set objFile = objFSO.CreateTextFile(strFileName, True)
    
    ' scrive sul file (ciò che c'era viene sovrascritto
    objFile.Write MyStr
    
    ' chiude il file e lo distrugge (non il file, ma l oggetto)
    objFile.Close
    Set objFile = Nothing
    
    
    ' distrugge l'oggeto FSO
    Set objFSO = Nothing
    
    'visualizza ciò che ha scritto nel file
    response.Write(MyStr)
    %>
    è una base che propongo spesso quando mi rispondo a domande sull'FSO e come usarlo
    ovviamente da adattare alle tue esigenze

    c'è tutto quello che ti serve per leggere e scrivere
    se però NON CONOSCI ASP, prima mi farei un giretto su una guida (quella di HTML.IT va benissimo)
    san imente saluta

    * http://simonecingano.it *

  4. #4

    creare un file txt ancora non ci siamo

    Ciao
    e grazie per la tua pazienza passata e forse futura
    ma non ci sono ancora
    capisco che sto sorvolando un po le basi dell'asp
    pero' ci provo
    ho fatto questo file chiamato mike.asp
    ma non funziona
    ho provato a metterlo fuori dal body
    senza sub onclick
    ma niente
    credo di essere ancora lontano
    grazie

    <HTML>
    <HEAD>
    <TITLE></TITLE>
    </HEAD>
    <BODY>
    <TEXTAREA id=TA1 style="WIDTH: 599px; HEIGHT: 244px" name=TA1 rows=12 cols=65>
    </TEXTAREA>
    <INPUT id=t1 name=text1 style="WIDTH: 470px; HEIGHT: 22px" size=57>
    <INPUT id=invia style="WIDTH: 66px; HEIGHT: 24px" type=button size=22 value=Invia name=invia>
    <INPUT id=carica type=button value=Carica name=button2>
    <%
    sub invia_onclick()
    Dim objFSO, objFile strFileName = Server.MapPath("mike.txt")
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
    MyStr=t1.value
    Set objFile = objFSO.CreateTextFile(strFileName, True)
    objFile.Write MyStr
    objFile.Close
    FSO Set objFSO = Nothing
    end sub
    %>

    </BODY>
    </HTML>

  5. #5
    apparte che quoto appieno di farti il giretto nella guida asp, cmq qui

    codice:
    sub invia_onclick()
    che intendi fare? non vorrei che tu pensassi che al click di un bottone ti parta l'evento onclick come in visual basic...quello, mi sembra, lo fa solo asp.net e non asp

  6. #6
    purtroppo non ne uscirai facilmente

    le soluzioni sono 2

    se hai SOLO questo problema te lo risolvo dandoti lo script pronto per fare quello che vuoi fare e te lo usi

    se invece le cose che vuoi fare saranno anche altre devi ASSOLUTAMENTE studiarti le basi asp
    altrimenti sarai qui ogni 5 minuti a chiedere script, e magari non ci sarà sempre qualcuno a darti la soluzione

    dimmi tu
    san imente saluta

    * http://simonecingano.it *

  7. #7
    ciao
    Mi scuso delle domande un po stupide per voi
    Credo che il mio problema e' di non essere entrato
    ancora nell'ottica poi vado da solo
    ho ancora influenze del basic del commodore 16
    Non ho nessuna intenzione di riempire il forum di domande
    le richieste sono 2
    1 - in asp il blocco (vbscript runat=server) funziona?
    2 - il tuo script

    Grazie della vostra pazienza . Ciao

  8. #8
    1. certamente funziona.
    ma non con il codice che hai usato tu
    il runat può essere considerato sinonimo di <% %>
    e spesso viene utilizzato nel caso in cui si vogliano scrivere pagine ASP in duplice linguaggio (vbscript e jscript)

    2. sarò lieto di fartelo appena ho due minuti (direi che stasera lo troverai qui)
    san imente saluta

    * http://simonecingano.it *

  9. #9
    eccolo

    codice:
    <%
    MyStrbyForm = Request.Form("text1")
    
    if MyStrbyForm <> "" then
    
    	'crea l oggetto FSO e l oggetto FILE
    	Dim objFSO, objFile
    	strFileName = Server.MapPath("mike.txt")
    	Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
    	
    	' Apre il file (1 = ForReading, True = Create)
    	Set objFile = objFSO.OpenTextFile(strFileName, 1, True)
    	
    	' Legge il file
    	 If Not objFile.AtEndOfStream Then
    		' legge il file
    		MyStr = objFile.ReadAll
    	Else
    		' se il file non esiste
    		MyStr = ""
    	End If
    	
    	' chiude il file e lo distrugge (non il file, ma l'oggetto)
    	' cioè libera la memoria
    	objFile.Close
    	Set objFile = Nothing
    	
    	'scrive il testo nel file dal textinput
    	if MyStr <> "" then
    		MyStr = MyStr & vbcrlf & MyStrByForm
    	else
    		MyStr = MyStrByForm
    	end if
    	
    	' riapre il file
    	Set objFile = objFSO.CreateTextFile(strFileName, True)
    	
    	' scrive sul file (ciò che c'era viene sovrascritto
    	objFile.Write MyStr
    	
    	' chiude il file e lo distrugge (non il file, ma l oggetto)
    	objFile.Close
    	Set objFile = Nothing
    	
    	' distrugge l'oggeto FSO
    	Set objFSO = Nothing
    	
    	'visualizza ciò che ha scritto nel file
    	response.write "SCRITTURA ESEGUITA
    "
    	response.write "contenuto attuale del file
    "
    	response.Write replace(MyStr,vbcrlf,"
    ")
    	
    else
    %>
    <form name="mioform" action="" method="post">
    <input id="text1" name="text1">
    <input id="invia" type="submit" value="scrivi nel file">
    </form>
    <% end if %>

    ricorda che la path dove scrivi il file deve essere una cartella CON permessi di scrittura
    san imente saluta

    * http://simonecingano.it *

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.