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

Basic Discussion :

[Basica] Extraction code source dans .txt


Sujet :

Basic

  1. #1
    Membre éprouvé
    Avatar de goldkey
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    802
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 802
    Points : 1 084
    Points
    1 084
    Par défaut [Basica] Extraction code source dans .txt
    Bonjour tout le monde,

    Je viens d'avoir une demande de modif sur un programme écrit en Basica il y a une quinzaine d'années
    Ne connaissant pas grand chose au Basic et donc au Basica, j'aimerai extraire le code source de mon fichier ordep.res afin de pouvoir travailler plus facilement avec (en l'éditant avec notepad par exemple c'est illisible => beaucoup de caracteres exotiques avec le code)
    J'ai essayé d'imprimer le code avec la commande lprint ce qui a fonctionné mais c'est vraiment pas pratique d'avoir 50 pages de codes surtout quand on doit faire des recherches !!!

    Bref, j'ai essayé de rediriger la sortie d'impression vers un fichier texte mais malheureusement mes essais reste infructeux, il ne m'affiche que les premieres lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    30000 OPEN "c:\test.txt" FOR OUTPUT AS #2
    30001 OPEN "c:\ordep.res" FOR INPUT AS #1
    30002 INPUT #1,ENTREES$
    30003 PRINT #2,ENTREES$
    30004 PRINT ENTREES
    30005 CLOSE #1
    30006 CLOSE #2
    Si quelqu'un a une suggestion a me faire ou a une autre solution je suis volontier preneur
    Merci d'avance.
    Yes We Can

  2. #2
    Membre éclairé
    Avatar de richard
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2002
    Messages : 474
    Points : 772
    Points
    772
    Par défaut
    Connais pas non plus, mais je propose une idée : est-il possible de faire un petit prog qui met un "print" devant chaque ligne en dirigeant le print vers un fichier texte, puis de nettoyer tous les print (un script tout simple) pour obtenir le code en fichier plat ?
    "Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth
    https://pharo.org/web
    https://faust.grame.fr/

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 123
    Points : 174
    Points
    174
    Par défaut
    Le code que tu montres est en fait un code pour recopier le contenu du fichier "c:\ordep.res" dans le fichier "c:\test.txt"
    Mais comme tu ne fais qu'une seule lecture (INPUT) de la variable ENTREES$ pour la mettre (PRINT) dans le fichier de sortie, tu ne risques pas de recopier la totalité.
    Pour recopier la totalité, il faut mettre tes lignes 30002 et 30003 dans une boucle, qui s'arrêtera quand la fin de fichier sera atteinte (du style WHILE NOT EOF(1) ... WEND). Ta ligne 30004 ne sert qu'à visualiser ENTREES$ pour voir si la lecture s'est bien faite. Tu peux la retirer.
    Le fichier "ordep.res" n'a pas l'extension d'un vrai fichier basic (extension .bas), mais celui d'une ressource. Bizarre.

  4. #4
    Membre éprouvé
    Avatar de goldkey
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    802
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 802
    Points : 1 084
    Points
    1 084
    Par défaut
    Citation Envoyé par PANORAMIC
    Le code que tu montres est en fait un code pour recopier le contenu du fichier "c:\ordep.res" dans le fichier "c:\test.txt"
    Mais comme tu ne fais qu'une seule lecture (INPUT) de la variable ENTREES$ pour la mettre (PRINT) dans le fichier de sortie, tu ne risques pas de recopier la totalité.
    Pour recopier la totalité, il faut mettre tes lignes 30002 et 30003 dans une boucle, qui s'arrêtera quand la fin de fichier sera atteinte (du style WHILE NOT EOF(1) ... WEND).
    Petite erreur que j'avais deja corrigé, en fait cela fonctionne comme du VB (enfin dans mes lointains souvenirs )
    Mais malheureusement ce que je récupère dans le fichier .txt c'est exactement ce que j'obtiens en ouvrant le fichier .res avec Notepas. C'est a dire le code avec des caractères exotiques comme par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    :‘ "CHARGEMENT EN COURS"›x:D‚Z1$ç"Tapez le chiffre de votre choix": Z2$ç"Appuyez la touche [C] pour continuer": Z3$ç"Si vous ne changez rien
    Citation Envoyé par PANORAMIC
    Le fichier "ordep.res" n'a pas l'extension d'un vrai fichier basic (extension .bas), mais celui d'une ressource. Bizarre.
    Cela me semble aussi très bizarre mais d'après la très maigre doc que je trouvé sur ce programme, les très anciens developpeurs faisaient les modifications directement sur le fichier .res !!!
    Car j'ai bien un .bas mais il est illisible, voici ce que cela donne quand je l'ouvre avec VB6 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ¯{Ò•:]õ´à.€î°S³Õ¡&@?æ#uàËÀ3Ó¨Ä7ýwOl±±Uæ…‹q¨;ͧzežò±x’ØÄööXBÓâia௙‚p_òE½jq¢¹Ö?Ñ¡Gó#l‘êwßzb%SúULý2ièÆvu*Ž&ë®îÚËÀö_‰f3ÙÌrŠÎýl
    äÇ<Ø4é×{px ‚Yeö’‘BÆæËq)sÉjÀH÷ÞEn2
    ¥ü>É7®à’¡8Ô©
    ŒQÇ_‚´jea¬”bO’txa“®<ÛæÂ*\¬‰{S_ä*˜<¢-ÚÉÔn¢±Š÷öpÒeï
    ßÞÄŽt˶—g’KœTYù¸šw”ÅiØ,󑌔6ÔØNNÞ    À=wPÖ2ièÆvNá±~‰õèJ¬Æ
    #5"Ù„áx´ØuoÆæP^ý¹–°õá-i¹â;þˆøíeàýèðÁŒËËÔaB—ÿìœJ#ŒdFE á¯}¥)Ò%بåíëÁl»úÿ΃똷U’«(èWy¹Sq¢I~ÅHײ}¶D½%(”2·P¨-un'k{ˆ4iyÄw‚Oéöâ<Ûwú¦ù-XÆf´„t³$õ™²`bʺá<¾üú¦í"÷”ÀAm)YzNÀZb“¢@ÅÔ"¾ÉÓÙo>¦Î©§;'“¦)#Ò¼UÚ>
    ‚v{Ž§?ˆÄÙàBÎöôÞï`cÕ¡—zõ7UÒuimB¥ô‡®È6®Òâ`|µÑ{c7Ó{ø_è
    ŸÈ;3Ó¼àɐÚÏ‹    Èã´€¹®DÄòñ*mH”úÌs¡4ºÀuÚìæOná„¢Ì9¨AÈÖ?&(|¡å4푝ô6ôï&[†ÿŽg’â½iVТ2ï*RÍÛVÏÀ]úþ
    -³cbaeaèÄU#ÆQõP£™xͶ.¹üCo5A®8t˜äýÔýÂœ6_ZŽ´±äøÖVM#åÂ;mJ¡›Í*@ÔR†Ø¦w3âÚîìú÷~$΀¦zaÌ*l¶Xùû9¡êOÀ.*ÔOzcÓ—gvXòCC86Ô¶xeÚ3á¤ÌLäê©íŠÊ
    ÿ÷dQ
    N'y-a-t-il pas un moyen d'ouvrir un fichier source basic sans avoir de codes exotiques ??
    Yes We Can

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 123
    Points : 174
    Points
    174
    Par défaut
    Voici ce que je te propose pour récupérer ton fichier source dans un fichier texte:
    - tu ouvres une session DOS (Invite de commandes)
    - tu y lances BASICA avec la commande de redirection : basica > result.txt
    - dans BASICA, tu charges ton fichier source (LOAD ".....)
    - tu listes le fichier (LIST)
    - tu reviens sous DOS (SYSTEM)
    - tu retrouves ton fichier result.txt, mais avec les commandes que tu as tapé et l'entête de BASICA (ce qui est très facile à retirer)

    Voici un exemple:
    1 - je crée un petit fichier de 2 lignes (source.bas)
    10 print "Hello !"
    20 end
    2 - je lance une session DOS
    3 - BASICA > RESULT.TXT
    4 - dans BASICA : LOAD "SOURCE.BAS" puis LIST puis SYSTEM
    5 - quand je récupère le fichier RESULT.TXT, j'obtiens:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    BASIC 3.0  VER. 1.0 
     
    (C) Copyright Microsoft 1983
    Created: 16-May-85
    62170 Bytes free
    Okÿ
    LOAD"source.bas"
    Okÿ
    list
    10 PRINT "Hello !"
    20 END
    Okÿ
    system
    il reste alors à extraire le source.

  6. #6
    Membre éprouvé
    Avatar de goldkey
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    802
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 802
    Points : 1 084
    Points
    1 084
    Par défaut
    Citation Envoyé par PANORAMIC
    BASICA > RESULT.TXT
    J'ai pensé a tout sauf au plus simple

    En tout cas merci beaucoup PANORAMIC pour ton aide
    Yes We Can

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 10/06/2008, 13h40
  2. Récuperer code source dans une variable
    Par PKO06 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/03/2008, 16h22
  3. intégrer du code source dans un IDE
    Par remiXY97 dans le forum Eclipse
    Réponses: 1
    Dernier message: 11/02/2008, 15h52
  4. importer le code source dans un éditeur de texte
    Par Braillane dans le forum Outils
    Réponses: 1
    Dernier message: 08/07/2007, 16h07
  5. Coloration syntaxique de code source dans du LaTeX
    Par trax44 dans le forum Mise en forme
    Réponses: 1
    Dernier message: 15/02/2007, 12h52

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