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

Autres IDE Pascal Discussion :

Lecture de fichier


Sujet :

Autres IDE Pascal

  1. #1
    Membre actif
    Avatar de mario52
    Homme Profil pro
    Inscrit en
    juin 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : juin 2006
    Messages : 131
    Points : 220
    Points
    220
    Par défaut Lecture de fichier
    Bonjour

    j'essaie de lire un fichier mais sans resultat !

    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
    var res   : resource; 
     
        line  : string; 
     
    begin 
          res := OpenResource('\fichier.txt'); 
     
          if (resourceAvailable(res)) then 
                                        begin           
                                        line := ReadLine(res); 
                                        SetColor( 0,255, 0);
                                        drawText(line, 10, 10);
                                        repaint;	
                                        Delay(1000); 
                                        CloseResource(res); 
                                        end else begin
                                                    SetColor(255, 0, 0); 
                                                    drawText('Erreur', 0, 0);
                                                    repaint;
                                                    Delay(1000); 
                                                  end; 
    SetColor(0, 0, 255);
    drawText('Fini', 10, 10); 
    repaint;      
    Delay(1000);
     
    end.
    j'ai copie le fichier .txt dans tous les repertoires pour test mais rien n'y fait !
    j'ai copie le chemin complet en vain !

    merci
    mario

    PS:content qu'il y ait un forum MidletPascal j'avais parle de ce compilateur il y a quelques annees mais , passe totalement inapercu
    zero-java/

  2. #2
    Membre expert
    Avatar de krachik
    Inscrit en
    décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : décembre 2004
    Messages : 1 964
    Points : 3 948
    Points
    3 948
    Par défaut
    Bonjour

    Quand tu dis "sans résultat", qu'est ce qui se passe exactement? que le contenu de ton fichier n'est pas lu? que le fichier n'est pas trouvé?

    Maintenant de plus près
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    res := OpenResource('\fichier.txt');
    C'est un slash qu'il faut et non un anti-slash, et donc comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    res := OpenResource('/fichier.txt');
    Citation Envoyé par mario52
    j'ai copie le fichier .txt dans tous les repertoires pour test mais rien n'y fait !
    j'ai copie le chemin complet en vain !
    Peu importe où tu as mis ton fichier original, il faut l'ajouter dans les ressources de MIDlet Pascal pour qu'il soit lu. ALors suivant que tu utilises MP2 ou MP3 il faut cliquer sur le + pour ajouter une ressource(pour MP2) ou clique droit sur le dossier ressource et choisir Add(pour MP3) après cette opération, tu retrouveras ton fichier dans le dossier res dans projet.

    Je pense que ça devrait aller maintenant.
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

  3. #3
    Membre actif
    Avatar de mario52
    Homme Profil pro
    Inscrit en
    juin 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : juin 2006
    Messages : 131
    Points : 220
    Points
    220
    Par défaut
    Bonjour
    merci pour la reponse

    sans resultat parce qu' il passe le test "resourceAvailable(res)" et m'affiche l'Erreur , le fichier n'est pas lu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if (resourceAvailable(res)) then begin
                                     end else begin
                                                 SetColor(255, 0, 0); 
                                                 drawText('Erreur', 0, 0);
                                                 repaint;
                                                 Delay(1000); 
                                                 end;
    mais la procedure que tu m'as donnee lie le fichier au programme (si j'ai bien compris)
    ce que je cherche , c'est de lire un fichier texte quelconque dans le GSM par exemple une liste que je peux modifier sur l'ordinateur et le remettre dans le GSM et aller le lire sans modification du programme.
    Un petit editeur de fichier texte.
    mario

  4. #4
    Membre expert
    Avatar de krachik
    Inscrit en
    décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : décembre 2004
    Messages : 1 964
    Points : 3 948
    Points
    3 948
    Par défaut
    Si resourceAvailable(res) renvoie false c'est que le fichier n'est pas trouvé . En changeant ce que j'avais dit concernant le slash, ça ne marche toujours pas?

    Que tu exécutes sur un téléphone ne posera pas de problème vu que le fichier sera embarqué dans le fichier jar.
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

  5. #5
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Citation Envoyé par krachik Voir le message
    Que tu exécutes sur un téléphone ne posera pas de problème vu que le fichier sera embarqué dans le fichier jar.
    Si j'ai bien compris, je crois qu'il veut accéder à n'importe quel fichier se trouvant sur le téléphone
    Citation Envoyé par mario52
    c'est de lire un fichier texte quelconque dans le GSM par exemple une liste que je peux modifier sur l'ordinateur et le remettre dans le GSM et aller le lire sans modification du programme
    Je crois que faire ça en native n'est pas possible pour le moment sous MIDlet Pascal. Il est par contre possible de lire uniquement les ressources contenues dans le jar.
    Ce que dit la doc :
    The function opens the resource file located within the application's JAR file
    Pour arriver à faire ce que dit mario52, il faudrait écrire un bout de code en java pour en faire une librairie-unité. En plus, il faudra que l'application demande l'autorisation pour accéder accéder à un autre fichier sur le téléphone.

  6. #6
    Membre expert
    Avatar de krachik
    Inscrit en
    décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : décembre 2004
    Messages : 1 964
    Points : 3 948
    Points
    3 948
    Par défaut
    Oui tu as raison, j'avais un peu trop vite lu. Ce n'est pas possible pour le moment comme le dit darrylsite sous MIDlet Pascal dont va falloir faire recours à une lib externe pour réaliser ce que tu veux, et encore, cela dépendra du téléphone cible c'est à dire s'il implémente ou dispose de jsr 75
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

  7. #7
    Membre actif
    Avatar de mario52
    Homme Profil pro
    Inscrit en
    juin 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : juin 2006
    Messages : 131
    Points : 220
    Points
    220
    Par défaut
    Boujour krachik et darrylsite ,

    oui darrylsite c'est exactement ce que je voudrais faire

    krachik pourrais tu SVP ajouter la procedure complete que tu m'as apprise ici sur ton tutoriel "Les fichiers textes" inclu dans le programme puisque ce n'est pas possible pour le moment de lire un fichier separe , ce serait bien pour tous merci

    merci pour vos reponses instructives et attendons les mises a jour

  8. #8
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Bonsoir,

    j'ai trouvé une librairie écrite par Guillaume TELLO pour MIDlet Pascal qui permet d'acceder au fichier comme tu le veux. Mais personnellement je ne l'ai pas éssayé.
    Code java : 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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
     /* Source de Lib_textfile (guillaume.tello@orange.fr 2009)
    	librairie d'accès aux fichiers pour MIDletPascal
    	routines:
    	***SIZE***
    	x:=textfile.size(chemin,fichier);
    		renvoit dans x la taille du fichier ou -2 si erreur
    	***READ***
    	s:=textfile.read(chemin,fichier,taille);
    		renvoit dans la chaine s les 'taille' premiers octets di fichier
    		ou une chaine vide si erreur
    	***WRITE***
    	x:=textfile.read(chemin,fichier,chaine);
    		sauve dans le fichier tous les octets de la chaine
    		renvoit 0 si OK ou -1 si erreur
    */
     
    import java.io.*;
     
    import java.util.*;
     
    import javax.microedition.io.*;
    import javax.microedition.io.file.*;
    import javax.microedition.lcdui.*;
    import javax.microedition.midlet.*;
     
    public class Lib_textfile
    {
     
     	public static int size(String chemin, String filename)
     	{
    		int s=0;
    		try {
     
    		FileConnection fc = (FileConnection)Connector.open(chemin+filename);
    		s = (int) fc.fileSize();
    		fc.close();
    		}
    		catch (Exception e) { s=-2; return s;}
     
    		return s;
    	}
     
    	public static String read(String chemin, String filename, int taille)
    	{
    		String fichier="";
    		try {
    		FileConnection fc = (FileConnection)Connector.open(chemin+filename);
    		InputStream fis = fc.openInputStream();
    		byte[] b = new byte[taille];
    		fis.read(b, 0, taille);
    		fis.close();
    		fc.close();
    		fichier = new String(b, 0, taille);
    		}
    		catch(Exception e) {return fichier;}
    		return fichier;
    	}
     
    	public static int write(String chemin, String filename, String fichier)
    	{
    		try {
    		FileConnection fc = (FileConnection) Connector.open(chemin+filename, Connector.READ_WRITE);
    		// ... if not exist , create it ...
    		if (fc.exists() == false) { fc.create(); }
    		OutputStream out = fc.openOutputStream();
    		byte[] bb = fichier.getBytes();
    		out.write(bb);
    		out.flush();
    		out.close();
    		fc.close();
            } catch (Exception e) { return -1;}
            return 0;
     	}
    }

    La librairie fait partie de son éditeur MPedit pour LG KS360.
    Le projet est disponible : http://pagesperso-orange.fr/gtello/lgks360_f.htm

  9. #9
    Membre actif
    Avatar de mario52
    Homme Profil pro
    Inscrit en
    juin 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : juin 2006
    Messages : 131
    Points : 220
    Points
    220
    Par défaut
    Bonjour

    ca fonctionne sur SonyEricsson K750I
    et la librairie est a installer dans C:\...\MIDletPascal\Libs
    merci

  10. #10
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Super alors, tu as donc tout ce qu'il te faut

  11. #11
    Membre actif
    Avatar de mario52
    Homme Profil pro
    Inscrit en
    juin 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : juin 2006
    Messages : 131
    Points : 220
    Points
    220
    Par défaut
    Bonjour

    Super alors, tu as donc tout ce qu'il te faut
    oui pour faire un petit editeur a ma sauce

    j'avais deja telecharge et essaye ce programme mais je voulais faire MON propre editeur mais s'il faut faire des procedures JAVA je vai utiliser cette librairie

    maintenant je vais me documenter pour faire une procedure pour voyager dans les repertoires du GSM . . en JAVA

    etes vous preneur darrylsite et krachik

    merci mario

  12. #12
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    novembre 2002
    Messages
    8 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2002
    Messages : 8 221
    Points : 26 620
    Points
    26 620
    Par défaut
    pour moi cet exemple illustre bien les limites dans la conception de MIDletPascal...j'aurais préféré un modèle de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    type
      FileConnection = class external 'javax.microedition.io.file.FileConnection'
        ...
      end;
    soit une syntaxe qui permette à l'image du external "madll.dll" de déclarer un objet externe en Pascal
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  13. #13
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    C'est bien vrai que MIDletPascal a des limites. Ce qui empêche très souvent de programmer de manière aisée.

    Mais, je crois que les concepteurs de MIDlet Pascal, avaient une autre vision en le créant : Concevoir un compilateur qui soit le plus indépendant possible de Java; de pouvoir programmer sans avoir une connaissance du langage java, des librairies disponibles ...
    C'est ce qui à mon avis à conduit à utiliser des classes java où toutes les méthodes sont statiques pour en faire des librairies. Ces classes cachent alors toutes la complexité des traitements et offrent des interfaces qu'on peut utiliser comme des fonctions pascal normales.

    A l'opposé, je pourrais citer canterBury Pascal qui utilise un modèle semblable au tien. Avec lui, on peux utiliser les classes Java directement dans le code Pascal sans avoir à les transformer en librairie du genre MIDletPascal.

    Quoiqu'il en soit il faudrait attendre la version 4 pour pouvoir utiliser des classes en MIDletPascal.

Discussions similaires

  1. [Windows]lecture des fichier lnk (raccourcis)
    Par Tiaps dans le forum API standards et tierces
    Réponses: 10
    Dernier message: 21/10/2009, 19h27
  2. [jsp]lecture de fichier
    Par antigone dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 04/09/2003, 11h05
  3. [AS400][Intranet][PC] Lecture de "fichiers" AS400
    Par lando dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 16/07/2003, 11h11
  4. Lecture de fichier
    Par Watcha dans le forum x86 16-bits
    Réponses: 13
    Dernier message: 04/03/2003, 20h43
  5. Lecture de fichiers ".WAV"...
    Par 0x4e84 dans le forum Langage
    Réponses: 2
    Dernier message: 03/09/2002, 09h43

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