J'ai regroupé ci-dessous quelques scripts
qui me semblaient utiles
Ajouter aux Favoris
Tester Télécharger
Mettre comme Page de Démarrage
Tester Télécharger
Quitter Sans Message d'Avertissement
Tester Télécharger
"Interdire" le Click Droit
Tester Télécharger
on pose souvent cette question. Si c'est pour cacher
la source, ça ne sert à rien , et pourquoi la cacher ?
"Récupérer" les Erreurs
Tester Télécharger
Ajouter un INPUT TYPE=TEXT (par exemple)
Tester Télécharger
Barre de Progression [1]
Tester Télécharger
Barre de Progression [2]
Tester Télécharger
Objet qui "suit la Scrollbar"
Tester Télécharger
Warning : fopen() [function.fopen ]: Unable to access SuivreScrollBar.js in /mnt/127/sdb/chez-alice.fr/a/8/marcel-bultez/documents/JavaScript/JavaScript.php on line 83
Warning : fopen(SuivreScrollBar.js) [function.fopen ]: failed to open stream: No such file or directory in /mnt/127/sdb/chez-alice.fr/a/8/marcel-bultez/documents/JavaScript/JavaScript.php on line 83
Warning : filesize() [function.filesize ]: stat failed for SuivreScrollBar.js in /mnt/127/sdb/chez-alice.fr/a/8/marcel-bultez/documents/JavaScript/JavaScript.php on line 84
Warning : fread(): supplied argument is not a valid stream resource in /mnt/127/sdb/chez-alice.fr/a/8/marcel-bultez/documents/JavaScript/JavaScript.php on line 84
Warning : fclose(): supplied argument is not a valid stream resource in /mnt/127/sdb/chez-alice.fr/a/8/marcel-bultez/documents/JavaScript/JavaScript.php on line 85
Variable définie ou non ?
Tester Télécharger
Conversion Décimal vers Base Quelconque
Télécharger
function DecBas(dec,bas)
{ var h="",l="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",r;
var v=dec;
while (v>=bas)
{ q=Math.floor(v/bas);
r=v-(bas*q);
h=l.charAt(r)+h;
v=q; }
h=l.charAt(v)+h;
return h; }
Conversion Base Quelconque vers Décimal
Télécharger
function BasDec(val,bas)
{ var d=0,l="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var p,v1,v2;
for (var n=val.length-1;n>=0;n--)
{ p=val.length-1-n;
v1=val.charAt(n);
v2=l.indexOf(v1);
d=d+(v2*Math.pow(bas,p)); }
return d; }
n'autoriser que certains caractères pour la saisie
Tester Télécharger
solution 1
solution 2
n'autoriser que des chiffres pour la saisie
Tester Télécharger
Mots de Passe pour accéder à certaines Pages
° valable si "peu de membres" ( ou 1 seul mot de passe pour tous )
sinon PHP et MYSQL par exemple.
postulats de départ :
° les membres et eux seuls doivent accéder à la page Membres.htm
° une page d'accueil index.htm demande les mots de passe
° 3 mots de passe : Un, Exemple, PourTous
° si un mauvais mot de passe est donné cela entraîne l'erreur 404.
index.htm : Télécharger
<script type="Text/JavaScript">
//~~~~~~~~~~~~~~~~~~
function MotPasse() //~~ mot de passe ~~
//~~~~~~~~~~~~~~~~~~
{ var r=prompt("Mot de Passe ?","");
if (r && r!="" && r!="null" && r!="." && r!="..")
parent.location=r+".htm"; }
</script>
<img src='image pour accéder à la zone membres'
alt="commentaires"
onclick="MotPasse();">
Un.htm Exemple.htm PourTous.htm : Télécharger
<script type="Text/JavaScript">
window.navigate="Membres.htm";
</script>
Membres.htm : Télécharger
Accès aux Membres seulement ....
Actions en fonctions des Touches du Clavier
Tester Télécharger
Déclencher une action JavaScript en fonction de la Touche clavier actionnée
Traitements des Caractères Sélectionnés
Tester Télécharger
<html><head><title>caractères sélectionnés</title>
<script type="text/javascript"><!--
function texteselectionne()
{ if (window.getSelection) alert(window.getSelection());
else if
(document.getSelection) alert(document.getSelection());
else if
(document.selection) alert(document.selection.createRange().text); }
//--></script>
</head><body>
texte à sélectionner<br>
texte à sélectionner<br><br>
<textarea cols=80 rows=10>
texte à sélectionner
texte à sélectionner
</textarea>
<form>
<input type="button"
value="montrer"
onclick="texteselectionne();">
</form>
</body></html>
quelques Traitements sur Select
Tester Télécharger
Fonctions sur Select Décembre 2004 © marcel.Bultez@Tiscali.fr
ligne à insérer
:
Rechercher
:
Lancer un Exécutable
Tester Télécharger
fichier
nom exécutable
nom exécutable ou fichier ( lancera le programme associé,
celui utilisé par "Ouvrir avec" )
nom d'un éxécutable uniquement si sous un répertoire accessible
directement par path ( windows,mes documents\util ... )
un fichier .doc
Positionnement dans un SELECT
Tester Télécharger
positionnement dans un select
Afghanistan
Afrique du sud
Albanie
Algérie
Allemagne
Andorre
Angola
Antigua-et-Barbuda
Arabie
Argentine
Arménie
Australie
Autriche
Azerbaïdjan
Bahamas
Bahreïn
Bangladesh
Barbade
Belau
Belgique
Belize
Bénin
Bhoutan
Biélorussie
Birmanie
Bolivie
Bosnie-Herzégovine
Botswana
Brésil
Brunei
Bulgarie
Burkina
Burundi
Cambodge
Cameroun
Canada
Cap-Vert
Chili
Chine
Chypre
Colombie
Comores
Congo
Congo
Cook
Corée
Corée
Costa
Côte
Croatie
Cuba
Danemark
Djibouti
Dominique
Égypte
Émirats
Équateur
Érythrée
Espagne
Estonie
États-Unis
Éthiopie
Fidji
Finlande
France
Gabon
Gambie
Géorgie
Ghana
Grèce
Grenade
Guatemala
Guinée
Guinée-Bissao
Guinée
Guyana
Haïti
Honduras
Hongrie
Inde
Indonésie
Iran
Iraq
Irlande
Islande
Israël
Italie
Jamaïque
Japon
Jordanie
Kazakhstan
Kenya
Kirghizistan
Kiribati
Koweït
Laos
Lesotho
Lettonie
Liban
Liberia
Libye
Liechtenstein
Lituanie
Luxembourg
Macédoine
Madagascar
Malaisie
Malawi
Maldives
Mali
Malte
Maroc
Marshall
Maurice
Mauritanie
Mexique
Micronésie
Moldavie
Monaco
Mongolie
Mozambique
Namibie
Nauru
Népal
Nicaragua
Niger
Nigeria
Norvège
Nouvelle-Zélande
Oman
Ouganda
Ouzbékistan
Pakistan
Panama
Papouasie
Paraguay
Pays-Bas
Pérou
Philippines
Pologne
Portugal
Qatar
République
République
République
Roumanie
Royaume-Uni
Russie
Rwanda
Saint-Christophe-et-Niévès
Sainte-Lucie
Saint-Marin
Saint-Vincent-et-les Grenadines
Salomon
Salvador
Samoa
Sao
Sénégal
Seychelles
Sierra
Singapour
Slovaquie
Slovénie
Somalie
Soudan
Sri
Suède
Suisse
Suriname
Trinité-et-Tobago
Tunisie
Turkménistan
Turquie
Tuvalu
Ukraine
Uruguay
Vanuatu
Vatican
Venezuela
Viêt Nam
Yémen
Yougoslavie
Zaïre
Zambie
Zimbabwe
Rechercher :
Eléments d'un Formulaire
Tester Télécharger
les Champs Text d'un Formulaire
Conversation entre une Mère et ses Filles
je parle de transmissions d'informations entre pages bien sûr.
la Page Mère Télécharger
"Paramètres" "Mère <==> Fille"
passage de paramètres entre pages en JavaScript
P1.HTM la page en cours ouvre un pop-up
celui-ci s'adresse à la page qui la créé avec "window.opener".
P2.HTM la page en cours ouvre un pop-up et met à jour les variables,
les champs, appelle les fonctions de celui-ci.
P3.HTM la page en cours appelle une nouvelle page
en transmettant les paramètres dans l'URL.
P4.HTM la page en cours ouvre un pop-up
en transmettant les paramètres dans un cookie.
P5.HTM la page en cours ouvre un pop-up
avec "showModalDialog".
P6.HTM les paramètres sont passés dans le
titre du pop-up ( attention aux espaces,
caractères spéciaux...)
Fille qui appelle la Mère Télécharger
la Fille appelle la Mère
Fille appelée par la Mère Télécharger
la Mère renseigne la Fille
Mère renseigne la Fille Télécharger
la Mère appelle la Fille par Submit
Cookies Télécharger
la Mère appelle la Fille en créant un cookie
showModalDialog Télécharger
la Fille est appellée avec showModalDialog
dans TITLE Télécharger
la Fille est appellée avec paramètres dans title
Traitements sur les Tableaux
Tester Télécharger
° Traitements sur les Tableaux ° Modifé en Avril 2004
cliquer sur les cases n°
Ligne/Colonne
n°
select case contact {
case @mail : Courriel ;break;
case Téléphone : c'est privé ;break;
case Site : Mon Site ;break;
default : reste la lettre ;}
Quelques explications
tableau.rows.length
nombre de lignes
tableau.rows[n° ligne].cells.Length
nombre de colonnes dans la ligne
tableau.insertRow(n° ligne)
ajouter une ligne
tableau.rows[n° ligne].insertCell(n° colonne)
ajouter une colonne dans la ligne
tableau.deleteRow(n° ligne)
détruire une ligne
tableau.rows[n° ligne].deleteCell(n° colonne)
détruire une colonne dans la ligne
tableau.rows[n° ligne].cell[n° colonne].???
accès à une cellule
par exemple : tableau.rows[0].cell[0].style.display
tableau.rows[0].cell[0].style.innerHTML ...
tableau.rows[n° ligne].on???"=function(){fonction(paramètres);};
ajouter une fonction à une ligne
par exemple : tableau.rows[0].onclick=function(){Appel(this);};
tableau.rows[n° ligne].cell[n° colonne].on???"=function(){fonction(paramètres);};
ajouter une fonction à une colonne
par exemple : tableau.rows[0].cell[0].onclick=function(){Appel(this);};
Vérification de l'Orthographe avec Word
Tester Télécharger
° Correcteur Orthographique avec Word ° Mars 2005 © marcel.Bultez@Tiscali.fr °
<textarea name="txt"
cols=60 rows=10
id="txt">
test d'ortografe par example.
</textarea>
Tri multi-colonnes d'un Tableau HTML
Télécharger
//###################################################################################
function trier(tableau,colonnes,sens,nTit) //######## trier un tableau htm ########
//###################################################################################
//
//
//
// appel : trier(tableau à trier,"colonnes","sens",Nbr Lignes de Titres à ne pas trier 0 par défaut);
// colonnes : n° [,type[:taille]][;n°[,type[:taille]]...]
// Type actuellement possibles ( C par défaut )
// c Caractères
// jj/mm/aaaa Date jj/mm/aaaa
// jjmmaaaa Date jjmmaaaa
// e:taille Entier:nbr caractères maxi
//
{ var nbrTit=nTit ? nTit : 0; // lignes Titre
var ligfin=tableau.rows.length; // nbr lignes
var TabCol=colonnes.split(";"); // format : n°,type:taille;n°;...n°
var buffer=Array(ligfin-nbrTit); // buffer[nbr lignes]
for ( var l=nbrTit; l
Tester Télécharger
Tri tableaux HTML
55 alain 23/01/2005
1 daniel 03/03/2001
3 etienne 01/01/2005
4444 bernard 23/11/2004
22 claude 08/09/1999
1 fernand 17/02/2000
1 etienne 03/03/2001
4444 etienne 23/01/2000
n° colonne[,type][;n° colonne[,type]...]
trier
ici,colonne de 0 à 2
Type actuellement possibles ( C par défaut )
c Caractères
jj/mm/aaaa/ Date jj/mm/aaaa
jjmmaaaa Date jjmmaaaa
e:taille Entier:nbr caractères maxi
exemples: 2,jj/mm/aaaa;0,e:5
Multi-select pour remplacer Select Multi-colonnes
Télécharger
/*
Select Synchronisés © marcel.Bultez@Tiscali.fr Mai 2005
*/
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function LSTChx(lst) //~~ Choix dans une liste ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{ var t1=lst.selectedIndex;
for ( var c=0; c" +
""; }
ou.innerHTML+=t1;
var f = fnct ? fnct : null;
for ( var c=0; c
Tester Télécharger
Select Synchronisés © marcel.Bultez@Tiscali.fr
~\\|//
(0 0)
•————————————oOOOo———(_)———oOOOo————————————•
| |
| Sujet récurrent : Select Multi-colonnes |
| et pourquoi pas des Select Synchronisés ? |
| c'est ce qui est proposé dans ce script. |
| |
| Mail Site |
| |
| Toutes les explications dans les Sources. |
| |
| .oooO Oooo. |
•———————————————( )———( )———————————————•
\ ( ) /
\_) (_/
include (en dynamique) d'un .js
Télécharger
2 Select Dépendants
Tester Télécharger
2 Selects dépendants en JavaScript
Bretagne
Centre
Nord-Pas-de-Calais
Menu "Glissant"
Tester Télécharger
Y'a d'la voix
Tester Télécharger
Voix © marcel.Bultez@Tiscali.fr
m'écrire
Quitter l'Application
site MicroSoft
si vous avez quelques soucis pour faire marcher
ce petit script, aller sur le site de MicroSoft.
pas mal d'explications, et quelques chargements.
Passer la souris sur les images, les textes...
Gestion de Fichiers .INI
ce qui existe dans les autres langages.
le .JS : Télécharger
/*|————————————————————————————————————————————————————————————————————————————————
| _______________ ____________________________ ___________
| | FichierIni.js | | © marcel.Bultez@Tiscali.fr | | Août 2005 |
| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
| ___________________________
| | Gestion des Fichiers .INI |
| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
| _____________________________
| | structure d'un fichier .ini |
| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
| [nom de la section]
| nom de la clé = valeur de la clé
| _____________
| | utilisation |
| ¯¯¯¯¯¯¯¯¯¯¯¯¯
| •
| entre et
| ___________________________________________________
| • | déclaration du fichier et du type des traitements |
| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
| entre et
|
| var fi=new FichierIni (
| fichier ini, chemin et nom du fichier .ini
| facultatif
| par défaut : "nom de la page htm/hta".ini
| distinguer les Majuscules des minuscules,
| facultatif
| true respecter la "case"
| par défaut, false : ignorer la "case"
| sauver, facultatif
| par défaut, true : sauver le fichier
| après toute modification
| false, le fichier devra être sauvé
| explicitement par FichierIni.Sauver()
| fso facultatif, l'Active'X FileSystemObject
| nom de l'objet s'il existe déjà
| par défaut appelé en interne
| );
| _______________________
| • | fonctions disponibles | retour=fi.fonction ( paramètres )
| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
| Sauver() sauvegarde le fichier.ini
| ¯¯¯¯¯¯ peut être "automatique"
| cleLire(section,clé) lire un clé
| ¯¯¯¯¯¯¯ en retourne la valeur ou false
| cleCreer(section,si section n'existe pas,
| ¯¯¯¯¯¯¯¯ clé,si clé existe,valeur)
| créer la clé dans la section avec valeur
| si section n'existe pas : true => la créer
| si clé existe : true => la remplacer
| retourne true ou false
| cleSupprimer(section,clé)
| ¯¯¯¯¯¯¯¯¯¯¯¯ supprime la clé dans la section
| retourne false si elle n'existe pas,
| true sinon
| cleModifier(section,clé,valeur)
| ¯¯¯¯¯¯¯¯¯¯¯ modifie la valeur de la clé dans la section
| retourne false si elle n'existe pas,
| true sinon
| sectionCreer(section) crée une nouvelle section
| ¯¯¯¯¯¯¯¯¯¯¯¯
| sectionSupprimer(section,non vide)
| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ supprime une section et toutes ses clés
| si non vide = true, sinon il ne doit
| plus y avoir de clés.
|
|————————————————————————————————————————————————————————————————————————————————*/
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function FichierIni
(nomIni,respectMajMin,sauver,fso) //~~ Gestion Fichiers Ini ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
this.fso = fso ? fso : new ActiveXObject("Scripting.FileSystemObject");
// File System Object par défaut
this.nomIni = nomIni ? nomIni : false;
// nom fichier.ini
if ( !this.nomIni )
{ // par défaut :
var url=unescape(self.location.pathname);
// nom de la page
var adr=(this.fso.GetExtensionName(url).toLowerCase()!='hta')?1:0;
// hta ou pas ?
var dir=this.fso.GetParentFolderName(url).substr(adr);
// car le nom commence en 0 ou en 1
this.nomIni=dir + "\\" + this.fso.GetBaseName(url) + ".ini";
// répertoire + nom de la page + .ini
}
this.respectMajMin = respectMajMin ? respectMajMin : true;
// par défaut, respecter les Majuscules/minuscules
this.sauver = sauver ? sauver : true;
// par défaut, sauver à chaque modification
this.tableau=new Array();
// stockage intermédiaire des sections et des clés
var a;
if (this.fso.FileExists(this.nomIni))
{ // le fichier .ini existe
var ts=this.fso.OpenTextFile(this.nomIni,1,false);
// l'ouvrir
var lu,section,tmp;
while (!ts.AtEndOfStream)
{ // tant que la fin de fichier n'est pas détectée
lu=ts.ReadLine();
// lire un enrgt
if (lu.length>0)
{ // s'il est d'une taille > 0
switch ( lu.charAt(0) )
{ // type d'enrgt ?
case "[": //—— une section : [nom] ——
//—————————————————————————————————————
//~ a=lu.indexOf("]");
// ] existe ?
if ( a>1 )
{ // [nom] correct
if ( !this.respectMajMin ) lu=lu.toUpperCase();
// transformer en majuscules s'il ne faut pas respecter la case
section=lu.substring(1,a);
// extraire le nom
this.tableau[section]=new Array();
// créer la section
}
break;
default: //—— une clé : clé=valeur ——
//—————————————————————————————————————
tmp=lu.split("=");
// éclater enrgt => Array , séparateur =
if ( tmp.length>=1 )
{ // clé=valeur correct
if ( !this.respectMajMin ) tmp[0]=tmp[0].toUpperCase();
// transformer en majuscules s'il ne faut pas respecter la case
this.tableau[section][tmp[0]]=tmp[1];
// noter la valeur de cette clé
}
break;
}
}
}
ts.close();
// fermer le fichier
}
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function FichierIni.prototype.Sauver
() //~~ Sauver le .ini ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
var ts=this.fso.OpenTextFile(this.nomIni,2,true);
// ouvrir le fichier en écriture, le créer si nécessaire
for ( var a in this.tableau )
{ // pour toutes les sections
ts.WriteLine("["+a+"]");
for ( var b in this.tableau[a] )
{ // pour toutes les clés de cette section
ts.WriteLine(b+"="+this.tableau[a][b]);
}
}
ts.close();
return true;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function FichierIni.prototype.sectionCreer
(section) //~~ créer une section ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
if (!this.respectMajMin)
{ // non respect case
section=section.toUpperCase();
// section en majuscules
}
if ( this.tableau[section] )
{ // la section existe
return false;
}
else { // la section n'existe pas
this.tableau[section]=new Array();
// créer la section
if ( this.sauver ) this.Sauver();
// sauver si demandé
return true;
}
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function FichierIni.prototype.sectionSupprimer
(section,siCle) //~~ supprimer une section ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
if (!this.respectMajMin)
{ // non respect case
section=section.toUpperCase();
// section en majuscules
}
if ( !this.tableau[section] )
{ // la section n'existe pas
return false;
}
else { // la section existe
if ( !siCle )
{ // détruire une section non vide non autorisé
for ( var a in this.tableau[section] )
{ // est-elle vide ?
return false;
// non
}
}
var tmp=new Array();
for ( a in this.tableau )
{ // pour toutes les sections
if ( section!=a )
{ // sauf pour celle à supprimer
tmp[a]=new Array();
// mémoriser la section
for ( var b in this.tableau[a] )
{ // pour toutes les clés
tmp[a][b]=this.tableau[a][b]
// les mémoriser
}
}
}
this.tableau=tmp;
// nouveau tableau ( sans la section supprimée )
if ( this.sauver ) this.Sauver();
// sauver si demandé
return true;
}
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function FichierIni.prototype.cleLire
(section,cle) //~~ délivre la valeur d'une clé ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
if ( !this.respectMajMin )
{ // non respect case
section=section.toUpperCase();
// section en majuscules
cle=cle.toUpperCase();
// clé en majuscules
}
try { var s=this.tableau[section][cle]; }
catch(erreur) { // la clé n'existe pas
return false;
}
return this.tableau[section][cle];
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function FichierIni.prototype.cleCreer
(section,sectionCreer,cle,cleRemplacer,valeur) //~~ créer une clé ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
if ( valeur=="" ) return false;
if (!this.respectMajMin)
{ // non respect case
section=section.toUpperCase();
// section en majuscules
cle=cle.toUpperCase();
// clé en majuscules
}
sectionCreer = sectionCreer ? sectionCreer : false;
// par défaut : ne pas créer la section
cleRemplacer = cleRemplacer ? cleRemplacer : false;
// par défaut : ne pas remplacer la clé
var c,s; // section & clé existent ou pas ?
if (this.tableau[section])
{ // la section existe
s=this.tableau[section];
}
else { // la section n'existe pas
s=false;
}
try { // la clé existe ?
c=this.tableau[section][cle];
}
catch(erreur) { // la clé n'existe pas
c=false;
}
if ( !s && !sectionCreer ) return false;
// la section n'existe pas et il ne faut pas la créer
if ( c && !cleRemplacer ) return false;
// la clé existe et il ne faut pas la remplacer
if ( !s ) this.tableau[section]=new Array();
// créer la section si nécessaire
this.tableau[section][cle]=valeur;
// donner une valeur à la clé
if ( this.sauver ) this.Sauver();
// sauver si demandé
return true;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function FichierIni.prototype.cleSupprimer
(section,cle) //~~ supprimer une clé ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
if (!this.respectMajMin)
{ // non respect case
section=section.toUpperCase();
// section en majuscules
cle=cle.toUpperCase();
// clé en majuscules
}
try { // la clé existe ?
var s=this.tableau[section][cle];
}
catch(erreur) { // non
return false;
}
var tmp=new Array();
// zone de travail
for ( var a in this.tableau[section] )
{ // pour toutes les clés
if ( a != cle )
{ // sauf celle à supprimer
tmp[a]=this.tableau[section][a];
// conserver
}
}
this.tableau[section]=tmp;
// nouvelles clés
if ( this.sauver ) this.Sauver();
// sauver si demandé
return true;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function FichierIni.prototype.cleModifier
(section,cle,valeur) //~~ modifier une clé ~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
if ( valeur=="" ) return false;
if (!this.respectMajMin)
{ // non respect case
section=section.toUpperCase();
// section en majuscules
cle=cle.toUpperCase();
// clé en majuscules
}
try { // la clé existe ?
var s=this.tableau[section][cle]
}
catch(erreur) { // la clé n'existe pas
return false;
}
// la clé existe
this.tableau[section][cle]=valeur;
// modifier la valeur
if ( this.sauver ) this.Sauver();
// sauver si demandé
return true;
}
/*——————————————————————————————————————————————————————————————————————*/
un .ini pour exemple : Télécharger
[section Deux]
param 1=valeur 21
param 3=valeur 23
[trois]
trois=quatre
[toto]
xxxzzzzz=mmm
xxx=dddd
un exemple avec .ini ci-dessus : Télécharger
section:
clé:
valeur:
retour:
Lire la clé
Créer la clé
Supprimer la clé
Modifier la clé
Créer la section
Supprimer la section
Sauver
Contrôler la validité d'une Date
Tester Télécharger
jour:
mois:
an: