Newsgroup: it.comp.lang.javascript
Titolo: Scrivere su file TXT

Ri-ecchime qua!
 
Ho un problem.
Di solito uso queste quattro righe di codice per creare (o sovrascrivere) un file "Esempio.txt" e metterci la stringa "CIAO".
 
//************************
function scrivi() {
 
 var fs, a, ForAppending;
 
 ForAppending = 2;
 fs = new ActiveXObject("Scripting.FileSystemObject");
 a = fs.OpenTextFile("Esempio.txt", ForAppending, true);
 a.Write('CIAO');
 
 a.Close();
 fs = null;
}
//*********************
 
Funziona molto bene, ma solo CON INTERNET EXPLORER e basta.
Possibile che non esista un metodo che mi dia il medesimo risultato con altri browser??????????
 
Come faccio?
 
Grazie e buone feste

 Possibile che non esista un metodo che mi dia il medesimo risultato con altri browser??????????
 
No, non esiste, perché è un buco di sicurezza.
Non puoi scrivere sul disco dell'utente.
 
Forse c'è un modo se stai scrivendo un'estensione per Chrome o Firefox, 
ma onestamente non ci ho mai provato. E in ogni caso devi poi convincere 
l'utente a installarla, non basta mettere il codice in un sito.
 
Bye.
 
 

 Non puoi scrivere sul disco dell'utente.
 
Ma allora perchè con IE funziona? La sicurezza in IE è una chimera?
Possibile che gli altri browser, open e simboli di libertà del mondo civilizzato, non ti permettano di fare una cosa così banale?
Non ci credo.
 
Io vorrei solo che si potesse leggere o scrivere su un file txt per i cavoli miei, offline, senza altre persone che interferiscano.
Cioè uso un'applicazione javascript per i fatti miei, senza nessuno che interagisca con me. Chiaro?

 Cioè uso un'applicazione javascript per i fatti miei, senza nessuno che
interagisca con me. Chiaro?
 
Ma lo puoi fare benissimo come stai facendo, nessuno te lo vieta.
 
 

 Cioè uso un'applicazione javascript per i fatti miei, senza nessuno che interagisca con me. Chiaro?
 
Chiarissimo. Wrappala con Electron o qualcosa del genere, e avrai 
accesso al disco locale.
 
Solo non puoi farlo su un sito web normale.
 
Bye.
 

 Ma lo puoi fare benissimo come stai facendo, nessuno te lo vieta.
 
Ma allora come faccio a salvare dei risultati in modo permanente e che, tramite un'applicazione js, mi vengono generati e compaiono sullo schermo, e che non giri solo su IE?
 
Una volta che cambio la schermata, tutti sti risultati vanno persi.
E non è giusto. 
VOGLIO ESSERE LIBERO DI POTER SALVARE I RISULTATI DI UN CALCOLO FRUTTO DI INNOCENTE MANIPOLAZIONE DI DATI!!!!!
 
Libertà, sempre.

 
 
Ok, siete sempre molto gentili ed educati nel rispondere.
Pero' io impazzisco. Scrivete in modo criptico, e io non ci capisco mai un'emerita mazza.
E si che a informatica con quel cavolo di linguaggio C ho preso un discreto 24. Ma lasciamo perdere, il prof era un emerito imbecille.
 
Locale, server-side, client, wrappala...
 
Io vorrei prendere un file. Un file txt. Null'altro.
Aprirlo. Offline. A casa mia. Non connesso ad internet.
Scriverci sopra.
Salvarlo.
Chiuderlo.
 
Questo a prescindere dal S.O. o dal browser.
 
Non mi interessa internet, la battaglia delle case hi-tech o di quanto è ricco Bill Gates.
Possibile che fin'ora nessuno nel mondo odierno sia riuscito a fare questa cosa con javascript? Dai è incredibile.

 Ma allora come faccio a salvare dei risultati in modo permanente e che,
tramite un'applicazione js, mi vengono generati e compaiono sullo schermo, e che
non giri solo su IE?
 
L'unica strada (e pure la migliore, fra l'altro) è usare HTML5
che permette il salvataggio di dati in locale. Comincia a spulciarti
queste guide, poi approfondisci sempre con google:
 
 
 
HTML5 locaStorage: il tutorial completo per usare la funzione localStorage
 
http://html5today.it/tutorial/html5-locastorage-tutorial-completo-usare-funzione-localstorage/
 
 
 
 
HTML5, localStorage e sessionStorage: salvare i dati utilizzando il browser
 
http://www.oilproject.org/lezione/html5-localstorage-e-sessionstorage-salvare-dati-utilizzando-browser-5593.html
 
 
 
 
http://forum.mrwebmaster.it/threads/salvare-dati-in-locale-e-sincronizzarli.37543/
 
 
 
 
HTML5, CSS3, JavaScript e il mobile - V parte: Salvare informazioni in locale
 
http://www.mokabyte.it/2011/05/html5mobile-5/
 
 
 
 
 
 

 ha scritto:

consulta le guide che ti ho scritto nell'altra risposta.
 
 
 


Oltre a quanto consigliato da ciccio ti consiglio, per fare qualcosa di
piú sofisticato, anche gli indexedDB:
https://developer.mozilla.org/it/docs/Web/API/IndexedDB_API
 
 
Altimenti esci dal browser e con nodejs puoi implementare qualcosa di
cross platform, altrimenti ti tocca passare a Java, o al C, che tanto
conosci giá.
 
-- 
g4b0, linux user n. 369000
http://brosulo.net
 


Come mai devi usare javascript e il browser (con tutta la scomodità 
delle diversità tra l'uno e l'altro, come già hai visto fin dai primi 
passi) per un'applicazione desktop che deve solo editare un file? Avrai 
motivi specifici, immagino, perché ci sono strumenti di sviluppo coi 
quali una cosa del genere si fa davvero in qattro e quattr'otto e senza 
nessun bisogno del browser...
Javascript e il browser per elaborare un file di testo, è come usare la 
doppietta per una zanzara
 

 doppietta per una zanzara
 
Io sono perfettamente d'accordo con te, ma vallo a dire a quelli di Atom 
e di Visual Studio Code... :D
 
Bye.
 
 

 doppietta per una zanzara
 
Ok, allora indicatemi una via perchè non ci sto capendo piu' nulla.
Sto usando il localstorage e non c'è male, ma rimane il fatto che vorrei prendere i dati del Localstorage e sbatterli in un file txt. Solo quello.
 
A 'sto punto anche con il linguaggio java mi andrebbe bene! Lo imparo, se ce ne è bisogno.

 A 'sto punto anche con il linguaggio java mi andrebbe bene! Lo imparo, se ce
ne è bisogno.
 
Con Java risolveresti sicuramente, e avresti un SW portabile 
tranquillamente su tantissime altre piattaforme/sistemi diversi.
 
Vai di google per i soliti dettagli ;-)
 
 
 

 tranquillamente su tantissime altre piattaforme/sistemi diversi.
 
HELP
C'è qualche anima pia che mi dica in parole FACILI cosa devo fare?
 
Io sono in javascript e ho le mie paginette html come un normale e moderno bambino del  2010.
 
Adesso vorrei sapere:
 
- per scrivere su un file txt cosa devo fare? Devo avere un file (chessò... ESEMPIO.java) in cui c'è scritto il codice java per scrivere su un file?
- dove devo mettere questo file?
- come fa la pagina html a far partire sto benedetto codice java? Come fa?
 
In parole semplici. E con un esempio dall'inizio alla fine.
 
P.S.
Per fare in modo che questo codice java funzioni nel mio browser mica dovrò compilarlo! Ancora con 'sti compilatori...
 
Grazie e Buon Natale.

 - per scrivere su un file txt cosa devo fare? Devo avere un file (chessò... ESEMPIO.java) in cui c'è scritto il codice java per scrivere su un file?
 
Non puoi.
 
Mettila così: se vuoi usare le risorse del computer locale devi cambiare 
linguaggio di programmazione.
 
O iniziare a studiare altre tecnologie, che, visto il tuo livello e la 
voglia che hai di cercare su Google, sono fuori portata, a quanto pare.
 
E, mi spiace per te, ma almeno una tra queste cose la dovrai usare:
- compilatore
- transpilatore
- pacchettizzatore
 
Ora mettiti l'anima in pace, cerca su google tutti i paroloni che ti 
abbiamo detto, fatti un'idea di cosa sono e poi torna con domande più 
specifiche, e magari qualcuna a cui non abbiamo già risposto "non puoi".
 
Altrimenti iniziamo a considerarti un troll.
 
Bye.
 

 Altrimenti iniziamo a considerarti un troll.
 
Direi che non lo sono.
E' che sono a tanto così da risolvere un mucchio di problemi ma non ci riesco.
 
:D


Ci hai detto un po' troppo poco per capire quale strumento serve, a 
cominciare dai requisiti che deve aver eil tuo progetto: deve solo 
creare un file di testo e scriverci sopra qualcosa? Quel qualcosa viene 
da un dataabase o altra fonte? Hai bisogno di un'interfaccia complessa, 
con varie opzioni utente, o non ti serve un'interfaccia?
 
E soprattutto, qual è lo scopo del progetto? Scrivere qualcosa su un 
file immagino che sia solo una parte di qualcosa di più esteso.
 
Con Visual Studio .net (VS 2015 è free almeno fino a quel che serve per 
creare un'interfaccia che crea un file e ci scrive sopra) potresti fare 
quello che ti serve, sia eseguibile invocabile dall'utente sia come 
libreria invocabile anche da altre applicazioni
 

 file immagino che sia solo una parte di qualcosa di più esteso.
 
Certo, è una parte. Vorrei, diciamo, "fotografare" una pagina HTML con tutti i suoi valori in quel dato momento, riversandoli in un file txt (cioè scriverci sopra, e nel caso non esista, crearlo).
Ma è una cosa che faccio nel mio computer, senza connettermi a nulla di nulla.


Quindi una cosa tipo andare su 
www.dominio.it/pagina
, anzi visto che 
dici che sei in locale senza connetterti a nulla l'indirizzo sarà del 
tipo file///pagina.html, e prendere dei dati da quella pagina? Se è così 
capisco perché hai pensato a JS, ha senso eccome.
Se il file html è su disco, potresti aprirlo come txt e cercarti i 
valori dei vari elementi per poi inserirli in un file txt. Visual Basic 
.net dovrebbe essere assai pratico per creare un'eseguibile che da solo 
apre l'html (magari esponendo un bottone GetFile per permettere 
all'utente di andarlo a scegliere) e poi apri il file come txt e cominci 
adi iterare i vari elementi. Per praticità potresti anche dare il file 
html in pasto a un DOM che ti permetta di iterare il documento tramite 
il Document Object Model coem una struttura gerarchica di oggetti, 
usando la libreria di WIndows mshtml.
 
Un breve esempio di Visual basic e mshtml:
 
|Importsmshtml 
FunctionparseMyHtml(ByValhtmlToParse$)AsStringDimhtmlDocument 
AsIHTMLDocument2 
=NewHTMLDocumentClass()htmlDocument.write(htmlToParse)htmlDocument.close()DimallElements 
AsIHTMLElementCollection =htmlDocument.body.all DimallInputs 
AsIHTMLElementCollection =allElements.tags("a")Dimelement AsIHTMLElement 
ForEachelement InallInputs element.title =element.innerText 
NextReturnhtmlDocument.body.innerHTML EndFunction Altri input su mshtml 
e .net 
https://www.codeproject.com/kb/vb/parsing_html.aspx
 |
 


SI ciao, si è incartato tutto.
 
Import smshtml
Function parseMyHtml(ByValhtmlToParse$) As String
   Dim htmlDocument As IHTMLDocument2 = New HTMLDocumentClass()
   htmlDocument.write(htmlToParse)
   htmlDocument.close()
   Dim allElements As IHTMLElementCollection = htmlDocument.body.all
   Dim allInputs As IHTMLElementCollection = allElements.tags("a")
   Dim element As IHTMLElement
   For Each element InallInputs
     element.title = element.innerText
   Next
   Return htmlDocument.body.innerHTML


 
 
STUDIARE
 
 
Erano abbastanza facili?

 Erano abbastanza facili?
 
Eh si..va bene.
E' una richiesta. Una piccola richiesta: scrivere su un file.

 C'è qualche anima pia che mi dica in parole FACILI cosa devo fare?
 
https://lmgtfy.com/?q=javascritp+write+file
 


 Con Visual Studio .net (VS 2015 è free almeno fino a quel che serve per
 
Appurato che non è possibile farlo in Javascript e che stai suggerendo di 
usare un linguaggio diverso, vi consiglierei di spostare la discussione 
sul newsgroup apposito.
 
Bye.


Prova a dare un occhiata a NodeJS, utilizzi javascript come linguaggio 
di programmazione e non hai bisogno di browser per poterlo eseguire.
 
 
Ciao

 ha scritto:

quoto.
 
 

ma io ti scopo ti stupro grazie mille