New ActiveXObject OpenTextFile write & apos;

Fermé
Fredou - 10 nov. 2008 à 20:34
 Fredou - 11 nov. 2008 à 23:14
Bonjour

S'il vous plaît (note: commentaire html en français mais sans les accents et 'er' à la fin de certains mots) :

À la base la question (juste ci-dessous) concerne la fermeture de l'objet ActiveXObject pour pouvoir re-cliquer sans recharger la page et comment faire avec Firefox. (La question ..parmi d'autres :))

<!--

Comment ecrire ou utiliser l'apostrophe ou une barre oblique normale ou inverser dans le fichier enregistrer 'c:\\test.txt' ou dans les parametres et pas l'entiter html &apos; qui permet ci_dessous de ne pas provoquer d'erreur mais ne fonctionne pas avec IE7 ? Et si c'est du code avec certains caracteres spéciaux venant d'un textarea ?

Comment recuperer le contenu d'un champ texte textarea id="savetext" ou d'une iframe id="frame" au lieu d'utiliser la chaine ci_dessous "testN1 Ici c&apos;est une chaine de texte" ? Comment faire pour ..faire l'équivalent de getElementById('savetext') ?

Comment selectionner un fichier dans une boite de dialogue pour l'enregistrement ?

Comment faire en sorte que la selection d'un fichier avec des dossiers contenants des espaces fonctionne ? Comment ajouter des guillemets pour les liens file://... avec espaces ? (En passant pourquoi *file://* n'est pas toujours pareil ? 2 barres ou 3 barres par exemple et cela n'est pas toujours fonctionnel ?)

Comment reouvrir apres reset ou fermer et sans location.reload(); un ActiveXObject car ce n'est possible tel quel ci_dessous sauf qu'une seule fois sans recharger la page ? Comment *close();* l'objet ouvert à la place de *location.reload();* ?

(*close();* seul demande avec ie7 la fermeture de la page ; ce qui peut être utile (... oui, c'est une prochaine demande.) mais Mozilla Firefox interdit la fermeture si un script n'a pas fait l'ouverture.)

Comment faire (simple et aux normes w3c) pour que cela fonctionne au minimum comme sur IE7 sur un autre navigateur comme Mozilla Firefox ?

-->

<a href="javascript: new ActiveXObject('Scripting.FileSystemObject').OpenTextFile('c:\\test.txt', 2, true).Write('testN1 Ici c&apos;est une chaine de texte'); location.reload();">Enregistrer (Le fichier c:\\test.txt ne doit pas être déjà présent. OpenTextFile ('c:\\test.txt', 2, <b>true</b>))</a>


Je vous remercie.

Exemple autonome bien détaillé (expliqué) et code en une ligne souhaité :)
= Plusieurs exemples et plusieurs lignes souhaitée mais chacune autonome ;)
La séparation des styles css ou des fonctions javascript avec le contenu se fera peut-être après ,)
= Vous pouvez présentez et détaillez les deux modes afin de nous permettre de tout comprendre et d'être au norme w3c 8-)

J'aurai d'autres questions.


#####################
#####################

Le code complet :

(Le site indiqué n'est pas le mien)

/!\ ceci est un fichier de test rapide pour tester : FirefoxIEcopierFichierDansIframe(sourceduweb).html

C'est pour tester des bouts de codes qui doivent êtres autonomes (c'est plus simple).

À la base je souhaite enregistrer du code depuis un textarea.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" xml:lang="fr" lang="fr">


<head>


    <meta name="charset" content="iso-8859-1" />
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

<title>Copier un fichier dans un textarea (ici iframe)</title>

<!-- Debut preambule (Commentaire de debut de fichier)

This document was successfully checked as XHTML 1.0 Transitional!

Fin preambule (Commentaire de debut de fichier) = = = = = -->


<script language="javascript" type="text/javascript">
            <!--
            function inidata()
	{
	javascript: frames[0].document.designMode = 'On';
	}
            function import_url(url)
	{
	javascript: document.getElementById('frame').src = 'file://' + url;
	}
            function value()
	{
	javascript: alert(frames[0].document.body.innerHTML);
	}
            // -->
</script>

</head>

<body  onload="inidata()">

<div>

<iframe id="frame"></iframe>

<form name="form" action="">
	<input type="file" id="ChampLienFichierChoisi" />
	<input type="button" id="BoutonPrCopier" value="Importer" onclick="javascript: import_url(document.form.elements[0].value);" />

<br />
<br />

<textarea style="margin-left: 10em;" cols="62" rows="7" title="Test : &laquo; savetext dans test.txt &raquo;" id="savetext">Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</textarea>

</form>

<br />
<br />

<!-- object.OpenTextFile(filename[, iomode[, create[, format]]])

https://docs.microsoft.com/en-us/previous-versions//314cz14s(v=vs.85)?redirectedfrom=MSDN

Arguments

object
Required. Object is always the name of a FileSystemObject.

filename
Required. String expression that identifies the file to open.

iomode
Optional. Can be one of three constants: ForReading, ForWriting, or ForAppending.

create
Optional. Boolean value that indicates whether a new file can be created if the specified filename doesn't exist. The value is True if a new file is created, False if it isn't created. If omitted, a new file isn't created.

format
Optional. One of three Tristate values used to indicate the format of the opened file. If omitted, the file is opened as ASCII.

The iomode argument can have any of the following settings:

Constant Value Description

ForReading 1 Open a file for reading only. You can't write to this file.
ForWriting 2 Open a file for writing.
ForAppending 8 Open a file and write to the end of the file.

The format argument can have any of the following settings:

Constant Value Description

TristateUseDefault -2 Opens the file using the system default.
TristateTrue -1Opens the file as Unicode.
TristateFalse 0 Opens the file as ASCII.

The following code illustrates the use of the OpenTextFile method to open a file for appending text:

JScript

var fs, a, ForAppending;
ForAppending = 8;
fs = new ActiveXObject("Scripting.FileSystemObject");
a = fs.OpenTextFile("c:\\testfile.txt", ForAppending, false);
...
a.Close();

================

Sub OpenTextFileTest
   Const ForReading = 1, ForWriting = 2, ForAppending = 8
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\testfile.txt", ForWriting, True)
   f.Write "Hello world!"
   f.Close
End Sub
-->

<!--

Comment ecrire ou utiliser l'apostrophe ou une barre oblique normale ou inverser dans le fichier enregistrer 'c:\\test.txt' ou dans les parametres et pas l'entiter html &apos; qui permet ci_dessous de ne pas provoquer d'erreur mais ne fonctionne pas avec IE7 ? Et si c'est du code avec certains caracteres spéciaux venant d'un textarea ?

Comment recuperer le contenu d'un champ texte textarea id="savetext" ou d'une iframe id="frame" au lieu d'utiliser la chaine ci_dessous "testN1 Ici c&apos;est une chaine de texte" ? Comment faire pour ..faire l'équivalent de getElementById('savetext') ?

Comment selectionner un fichier dans une boite de dialogue pour l'enregistrement ?

Comment faire en sorte que la selection d'un fichier avec des dossiers contenants des espaces fonctionne ? Comment ajouter des guillemets pour les liens file://... avec espaces ? (En passant pourquoi *file://* n'est pas toujours pareil ? 2 barres ou 3 barres par exemple et cela n'est pas toujours fonctionnel ?)

Comment reouvrir apres reset ou fermer et sans location.reload(); un ActiveXObject car ce n'est possible tel quel ci_dessous sauf qu'une seule fois sans recharger la page ? Comment *close();* l'objet ouvert à la place de *location.reload();* ?

(*close();* seul demande avec ie7 la fermeture de la page ; ce qui peut être utile (... oui, c'est une prochaine demande.) mais Mozilla Firefox interdit la fermeture si un script n'a pas fait l'ouverture.)

Comment faire (simple et aux normes w3c) pour que cela fonctionne au minimum comme sur IE7 sur un autre navigateur comme Mozilla Firefox ?

-->

<a href="javascript: new ActiveXObject('Scripting.FileSystemObject').OpenTextFile('c:\\test.txt', 2, true).Write('testN1 Ici c&apos;est une chaine de texte'); location.reload();">Enregistrer une chaîne de texte (Fonctionnement Ok) (Le fichier c:\\test.txt ne doit pas être déjà présent. OpenTextFile ('c:\\test.txt', 2, <b>true</b>))</a>

<br />
<br />

<a href="javascript: new ActiveXObject('Scripting.FileSystemObject').OpenTextFile('c:\\test.txt', 2, true).Write('testN2 Ici c&apos;est une chaine de texte'); location.reload();">Enregistrer l'iframe (comment faire pour sauver directement depuis le champ file et comment faire l'équivalent de getElementById('ChampLienFichierChoisi') ou getElementById('frame') dans les deux cas) (Le fichier c:\\test.txt ne doit pas être déjà présent. OpenTextFile ('c:\\test.txt', 2, <b>true</b>))</a>

<br />
<br />

<a href="javascript: new ActiveXObject('Scripting.FileSystemObject').OpenTextFile('c:\\test.txt', 2, true).Write('testN3 Ici c&apos;est une chaine de texte'); location.reload();">Enregistrer le textarea (comment faire pour ..faire l'équivalent de getElementById('savetext')) (Le fichier c:\\test.txt ne doit pas être déjà présent. OpenTextFile ('c:\\test.txt', 2, <b>true</b>))</a>

<br />
<br />

<a href="javascript: new ActiveXObject('Scripting.FileSystemObject').OpenTextFile('c:\\test.txt', 2, true).Write('testN1 Ici c&apos;est une chaine de texte'); location.reload();">Enregistrer (Le fichier c:\\test.txt ne doit pas être déjà présent. OpenTextFile ('c:\\test.txt', 2, <b>true</b>))</a>

<br />
<br />

<a href="javascript: value();">Valeur (Contenu id frame dans boîte de dialogue)</a>

<br />
<br />

<a href="javascript: location.reload();">Actualiser</a>

<br />
<br />

<a href="Javascript: history.back();">Retour</a>

<br />
<br />

< code>
<a href="javascript: window.sidebar.addPanel('FavorisFirefox(Flash)etIE6-7-8','http://francois.jamart.free.fr/index.php?2005/06/06/11-ajouter-aux-favoris-pour-firefox-et-internet-explorer','');">Ajouter le Site francois.jamart.free.fr à vos favoris (1 début d'astuce = Ajouter aux favoris pour Firefox (flash) et Internet Explorer) ! (window.sidebar.addPanel fonctionne avec Firefox)</a>< / code>
Source lien : <a href="https://www.webrankinfo.com/forum/t/code-javascript-ajouter-aux-favoris-ie-et-firefox.72478/">http://www.webrankinfo.com/forums/viewtopic_72478.htm</a>

<br />
<br />

<a href="javascript: document.write('&laquo; Coucou ! &raquo;');">Message</a>
  
<br />
<br />

<a href="javascript: window.external.addfavorite('file:///C:/test.html', 'test');">Ajouter test.html ('test') à vos favoris (Ne fonctionne pas ici avec Firefox *window.external.addfavorite* (ni avec ie7 = bug ?)) !</a>

<br />
<br />

  <p>
    <a href="http://validator.w3.org/check?uri=referer"><img
        src="http://www.w3.org/Icons/valid-xhtml10-blue"
        alt="Valid XHTML 1.0 Transitional" height="31" width="88" /></a>
  </p>

</div>

</body>
</html>


/!\ Supprimez les espaces dans les 2 balises code (html) (1 d'ouverture et l'autre de fermeture)
=> (= ccm utilise la balise < code> < / code> et elle est interprétée si l'on ne met pas les espaces)

salut ; merci.

2 réponses

bg62 Messages postés 23590 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 15 avril 2024 2 362
11 nov. 2008 à 12:08
bonjour
ceci est un forum d'entraide ... et s'y inscrire au lieu de poster en anonyme est pour moi synonyme de politesse ...
certes l'on peut rester "anonyme" , mais dans quel but ?
merci
b g
0
Re.. Bonjour.

merci bg62 (pseudo actuel et membre contributeur pour l'instant) pour cette sollicitude (sur de multiples posts).

J'ai besoin d'astuce-s stables dans le temps (pas de css hack pour navigateur comme ie) pour résoudre des problèmes de conception d'une application libre (si je peu appeler mon truc une application) suite à une demande faite sur un post sur zebulon.fr (d'où l'envie et si possible la possibilité de ne pas avoir à m'inscrire pour pouvoir faire des demandes DIFFÉRENTES dans plusieurs endroits OU pareils si j'ai pas de réponses (dans un temps *raisonnable*) et aussi (c'est bien) pour avoir d'autres pistes). Comme je ne suis pas assez calé, je fais une demande (pour avoir des astuces détaillées et expliquées de façon pédagogique (= simple à comprendre mais pas limité dans la difficulté)). J'espère des réponses (ne concernant pas l'utilisation du forum) sans devoir subir l'obligation de remplir un formulaire qui nécessite de mémoriser un énième mot de passe (pour certains c'est facile d'avoir plusieurs pseudo et mot de passe) et en précisant que ne n'utilise pas de messagerie (trop froid (= glock) pour l'instant) = je préfère le web et le système de postage, dans des sites de type blogs ou forums ou wiki, sans inscription de nouveaux messages ou commentaires.

J'avais pensé m'inscrire au 1 000 000 nième membre mais bien que le chiffre soit dépassé, je me dit que beaucoup d'inscription ne sont pas stables sur le long terme (comme éventuellement la mienne potentiellement) ; et j'aimerai peut-être utilisé un pseudo déjà inscrit mais qui n'est pas utilité en pratique (= appel du pied).

L'inscription n'empêche pas de se faire réprimander.

Je travail lentement pour faire mes *trucs* informatiques et j'apprends en même temps la programmation concernant le domaine de l'informatique et de toute façon en général. Je peux mettre en pause un travail et le reprendre plus-tard, si j'ai des nouvelles connaissances ou une meilleur piste.

Notez (concernant le fait de savoir si je suis pourri) que quand j'arrive à faire quelque chose *il se trouve* (j'adore l'expression que d'autres aussi utilisent sur le web) que je suis arrivé à le faire et pas il se l'a pète.

ccm ne pratique pas (ou plutôt plus) le 'donnant-confiance' ! :( kesako le 'donnant-confiance' ? Ben, c'est que si j'ai FINI mon truc (= une application, une astuce logiciel, si possible fonctionnelle) car j'aime pas montrer avant, même par morceau du code final, je posterai mon travail qui à priori est ou serait sous licence libre qui servirai peut-être à d'autres personnes.

J'ai le web (pas d'utilisation de la téléphonie (sauf si je peu payer (juste la valeur du cadeau) quelqu'un en direct pour échanger un bon *cadeau* skype pour téléphoner ; en passant c'est nul (...) il ont arrêté (pour l'instant) les skypecasts le 1st September 2008) = comme la messagerie et pas de vraies 'ami-e-s', hormis quelques-un) mais je suis pauvre (comme malheureusement beaucoup ici). Je veux dire que après la nourriture pour le corps, l'informatique ou les médias en général c'est pour nourrir l'esprit (= le mien en l'occurrence) et se faire jeter même si j'ai tord c'est vexant ou blessant.

Je suppose que si je m'inscris c'est pour mieux me connaitre (les mauvaises langues et pas nécessairement à tort diront que c'est pour mieux nous fliquer) ? Voilà un petit bout ci-dessus, qui vous aura fais sûrement un effet quel qu'il soit à mon encontre. Merci à ceux qui auront apprécié-e-s le propos (réel, militant ou philosophique) et aux autres pour avoir pris la peine de lire (mon torchon).

salut ; merci.
0