IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

[FORMULASCRIPT] effacer un fichier


Sujet :

Langage Java

  1. #1
    Membre confirmé Avatar de floanne
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Par défaut [FORMULASCRIPT] effacer un fichier
    Bonjour,

    je travail avec un langage tout bizard : le formula script.

    Formula est un outil de supervision (pour faire simple ça controle et affiche les erreur d'un tas de systeme), formula scripte est le langage propriétaire qui permet de faire des scripts... Ca ressemble au java et au java scripte.

    Voila mon problème : je lis un fichier et une foie lu je veux l'effacer.

    Pour ça j'ai déclaré une objet java.io.File et je fait monFichier.delete () (cf la fin du code).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    var monFichier = new java.io.File ('E:/Formula/Database/scripts/Groupama/PQT/toto.txt') ;
     
    // si le fichier est vide ou n'existe pas on peut sortir tout de suite
    // car il n'y a rien à faire.
    if (monFichier.length() == 0 )
    {
    	exit ;
    }
     
    // Connection à la base
    try
    {
    	load('Groupama/PQT/Connection.fs') ; 
    	var con = openCon() ;
    }
    catch (Exception)
    {
    	// Si la connection a échouée, on sort.
    	exit ;
    }
     
    // Ouvereture du fichier en IO
    try
    {
    	input = new java.io.BufferedReader (new java.io.FileReader (monFichier)) ;
    	output = new java.io.FileWriter (monFichier, false) ;
    }
    catch (IOException)
    {
    	// Si on arrive pas à ouvrir le fichier, on sort.
    	exit ;
    }
     
    // Traitement des requetes enregistrées dans le fichier
    var lectureEnCours = true ;
    var strRequete = "" ;
    while (lectureEnCours)
    {
    	try
    	{
    		strRequete = input.readline () ;
    		// A FAITRE : executer la requete
    	}
    	catch (IOException)
    	{
    		exit ;
    	}
    }
     
    //var fichierEfface = monFichier.delete () ;
     
    finaly
    {
    	input.close () ;
    	output.close () ;
    	con.close () ;
    }
    Le problème que le compilateur (ou plutot le "vérifieur de syntaxe") m'affiche : "missing name after .operator"...

    Si je met la ligne en commentaire ça "compile"...

    Si vous voyez ce que c'est n'ésitez pas car on est deux à rester bête devant l'écran !!

    Merci,
    ++Floanne.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 84
    Par défaut
    Salut,

    J'ai jamais fait de ton "langage tout bizard", mais j'ai 2 petites questions :

    1- finally ne prend pas 2 l à la fin ? En Java, il me semble que tu peux mettre des finally seulement après un try catch.

    2- C'est quoi la ligne que tu mets en commentaire.... ?

  3. #3
    Membre confirmé Avatar de floanne
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Par défaut
    Salut,

    la ligne en commentaire est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //var fichierEfface = monFichier.delete () ;
    (avant finally).

    Pour finally tu doit avoir raison mais si je met tout le bloque en comentaire ça ne change rien...

    Merci,
    ++floanne.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 84
    Par défaut
    Et si t'essaye de mettre au lieu de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var fichierEfface = monFichier.delete ();
    Ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monFichier.delete();
    (sans l'espace après le delete) Ca donne quoi ?

  5. #5
    Membre confirmé Avatar de floanne
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Par défaut
    Ca fait le même message d'erreur exactement (avec ou sans l'espace)...

    Merci
    ++floanne.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 84
    Par défaut
    Bon... Je dois pas être très doué mais je trouve pas ton "vérifieur de syntaxe"...

    Peux-tu me donner le lien vers lequel je pourrais trouver ce programme ?

  7. #7
    Membre confirmé Avatar de floanne
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Par défaut
    Ha désolé, j'aurai du te prévenir, tu le trouvera pas : c'est un logiciel payant (c'est dans le cadre de mon boulot)... Donc si tu ne débource pas 100 000€ tu ne l'aura pas lol Et je ne pense pas qu'on le trouve en pirate.

    Merci,
    ++floanne.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 84
    Par défaut
    Je te demande pas combien ca coute... Je te demande comment il s'appelle

  9. #9
    Membre confirmé Avatar de floanne
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Par défaut
    Je pense pas qu'il y ai un nom pour ce truc : ça fait partie d'un ensemble d'outil de Formula. Quand tu veux créer un script ça t'ouvre une fenetre avec un petit bouton "syntax"...

    merci,
    ++floanne.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 84
    Par défaut
    On va po s'en sortir...

    La raison pour laquelle je voudrais savoir quel outil tu utilises est simplement parce que FormulaScript est utilisé sur plusieurs logiciels et que dans chacun de ces logiciel le FormulaScript est différent. J'ai télécharger :

    1- Easy Financial Chart
    2- eSignal

    Dans ces deux logiciels, tu peux faire du FormulaScript... Le problème est qu'ils n'ont pas le même standard... Pire... Dans aucun des deux on ne peut manipuler des fichiers -_-

    Ce que je voudrais savoir, c'est le nom de l'entreprise qui a créé ton logiciel. Généralement, tu trouveras cette info sur aide->à propos ou help->about.

    Dois-je penser que ce logiciel a été créé par une puissance extraterrestre venu d'ailleurs ou qui travaille à la Zone51 ?...

  11. #11
    Membre confirmé Avatar de floanne
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Par défaut
    L'entreprise est "Managed Objects"...

    Ha oui autre chose : quand je lance le prog il plant à la première ligne...

    Pourtant ce script (qui ressemble pas mal) marche tres bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    function stocker (requete)
    {
    	var pasEncoreConecte = true ;
    	var n = 0 ;
    	while (pasEncoreConecte && n < 100)
    	{
    		try
    		{
    			output = new java.io.FileWriter( 
    				new java.io.File ('E:/Formula/Database/scripts/Groupama/PQT/toto.txt'),
    							true ) ;
    			pasEncoreConecte = false ;
    		}
    		catch (IOException)
    		{
    			pasEncoreConecte = true ;
    			// faire une pause
    			formula.util.wait( this , 100 )
    			n++ ;
    		}
    	}
    	if (! pasEncoreConecte)
    	{
    		output.write (requete + '\r\n') ;
    		output.close () ;
    	}
    	else
    	{
    		session.sendMessage ("Il n'a pas était possible d'écrir dans la base de donnée\n"
    					+ "n'y de sauvegarder la requette.") ;
    	}
    }
    Merci,
    ++floanne.

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 84
    Par défaut
    Au moins en mettant le nom du logiciel, peut etre que quelqu'un qui l'utilise pourra t'aider J'ai cherché des programmes utilisant FormulaScript, mais apparemment "Managed Objects" est le seul qui utilise les fichiers... Pas de chance -_-

    Il y a pas mal de différences entre les deux programmes que tu m'as montré :

    1- Tu ne définies pas de BufferedReader
    2- Tu n'utilises ni la fonction load(String) ni openCon()

    En java, il existe une autre manière de supprimer les fichiers, la méthode deleteOnExist... Mais à mon avis ça va po t'aider

    Sinon... ca te dit quoi si tu fais ce programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function test() {
    	var fichier = new java.io.File ('E:/Formula/Database/scripts/Groupama/PQT/toto.txt');
    	if(fichier.exists()) {
    		fichier.delete();
    	}
    }
    Ca peut paraitre con, mais on sait jamais ^^

  13. #13
    Membre confirmé Avatar de floanne
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Par défaut
    je viens de tester : ça fait toujours la même erreur... Et si je commante la ligne ça "compile"...


    Merci,
    ++floanne.

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 84
    Par défaut
    Eh bien... Ca veut tout simplement dire que la fonction delete() n'est pas définie pour l'objet File. Très étonnant.

    Par exemple en C-C++ c'est le cas. Tu défini un objet fstream et il existe des méthode qui permettent de le lire ou d'écrire mais pas de l'effacer. Ceci permet de ne pas garder un pointeur vers un fichier qui n'existe pas. La fonction a utilisé est simplement remove et n'appartient à aucun objet...

    Peut-être existe-t-il une fonction qui permet de supprimer un fichier directement. Du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function test() {
    	var fichier = new java.io.File ('E:/Formula/Database/scripts/Groupama/PQT/toto.txt');
    	if(fichier.exists()) {
    		remove('E:/Formula/Database/scripts/Groupama/PQT/toto.txt');
    	}
    }

  15. #15
    Membre confirmé Avatar de floanne
    Inscrit en
    Février 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2006
    Messages : 167
    Par défaut
    C'est très possible (et très bizard), en tout cas remove ne marche pas...

    Merci,
    ++Floanne.

Discussions similaires

  1. Effacer un fichier
    Par Mr Hyde dans le forum Général Python
    Réponses: 6
    Dernier message: 19/11/2007, 22h49
  2. effacer un fichier en lecture seule
    Par balha dans le forum C++
    Réponses: 5
    Dernier message: 15/12/2005, 16h57
  3. Réponses: 11
    Dernier message: 21/11/2005, 16h08
  4. Impossible d'effacer un fichier
    Par MiJack dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 14/11/2005, 10h09
  5. [API WIN 32]effacer un fichier
    Par ben_iap dans le forum MFC
    Réponses: 2
    Dernier message: 30/01/2004, 13h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo