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 :

[QBasic][Débutant] Copier un programme dans le Quick basic


Sujet :

Basic

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [QBasic][Débutant] Copier un programme dans le Quick basic
    Bonjour à tous ,

    Je suis un débutant dans ce milieu ; je n'ai jamais fait de programmation
    J'explique :
    J'ai besoin de creer un logiciel permettant de convertir des signaux electrique provenant d'un sismographe en signaux numérique dans le cadre de mon TPE. J'ai trouver tout le programme sur internet mais je n'arrive pas à le copier dans le Quick basic
    Voici le programme :
    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    DECLARE SUB affichage (nummes&, mesures%,
    yorig%)
    DECLARE SUB enregistrement (nummes&,
    mesure%)
    DECLARE SUB axes (nomdefichier AS STRING)
    DECLARE SUB aquisit (mesure AS INTEGER)
    DECLARE SUB initempo (n AS LONG)
    DECLARE SUB nomfich (nomdefichier AS
    STRING)
    DECLARE SUB tempo (nlim AS LONG)
    10 CLS : SCREEN 9
    PALETTE 1, 30
    20 REM entete nummes&=rang de la
    mesure,mesure%=valeur de la mesure
    30 REM xorig%= origine de l'axe x pour le trac‚
    40 REM vit variable tempo,d‚pend du pc!!!
    nummes& = 1
    xorig% = 1
    yorig% = 17
    mesure% = 0
    PRINT " PROGRAMME
    D'ACQUISITION DE DONNEES" PRINT "
    par le port parallele ,avec un max 187"
    PRINT " --------------------------------------"
    PRINT
    PRINT
    initempo n&
    nomfich nomdefichier$
    PRINT
    PRINT
    100 REM boucle principale
    REM INPUT "DEMARRER LA MESURE ? < O /
    N > ", rep$
    REM IF rep$ = "o" OR rep$ = "O" THEN GOTO
    130 ELSE GOTO 120
    130
    101 axes nomdefichier$
    WHILE com$ <> "q"
    IF DATE$ = dateini$ THEN
    tempo 10 * n&
    aquisit mesure%
    enregistrement nummes&, mesure%
    affichage nummes&, mesure%, yorig%
    yorig% = INT(mesure% / 17)
    nummes& = nummes& + 1
    com$ = INKEY$
    ELSE
    CLOSE #1
    nomfich nomdefichier$
    REM OPEN nomdefichier$ FOR OUTPUT AS 1
    dateini$ = DATE$
    nummes& = 0
    END IF
    WEND
    120
    CLOSE #1: END
    500 u = 1
    RESUME 50
    SUB affichage (nummes&, mesure%, yorig%)
    xorig% = nummes& - (550 * (INT(nummes& /
    550)))
    IF xorig% = 439 THEN axes nomdefichier$
    LOCATE 3, 10: PRINT "MES:"; nummes&;
    "VAL:"; mesure%; "mv ", TIME$
    PALETTE 1, 60
    LINE (xorig% + 50, 350 - yorig%)-(xorig% + 50,
    350 - INT(mesure% / 17)), 9
    PALETTE 1, 30
    END SUB
    SUB aquisit (mesure%)
    accum% = 0
    OUT 888, 1
    OUT 888, 0
    OUT 888, 2
    OUT 888, 0
    OUT 888, 2
    IF (INP(889) AND 32) > 0 THEN accum% = 2048
    OUT 888, 0
    OUT 888, 2
    IF (INP(889) AND 32) > 0 THEN accum% =
    accum% + 1024
    OUT 888, 0
    OUT 888, 2
    IF (INP(889) AND 32) > 0 THEN accum% =
    accum% + 512
    OUT 888, 0
    OUT 888, 2
    IF (INP(889) AND 32) > 0 THEN accum% =
    accum% + 256
    OUT 888, 0
    OUT 888, 2
    IF (INP(889) AND 32) > 0 THEN accum% =
    accum% + 128
    OUT 888, 0
    OUT 888, 2
    IF (INP(889) AND 32) > 0 THEN accum% =
    accum% + 64
    OUT 888, 0
    OUT 888, 2
    IF (INP(889) AND 32) > 0 THEN accum% =
    accum% + 32
    OUT 888, 0
    OUT 888, 2
    IF (INP(889) AND 32) > 0 THEN accum% =
    accum% + 16
    OUT 888, 0
    OUT 888, 2
    IF (INP(889) AND 32) > 0 THEN accum% =
    accum% + 8
    OUT 888, 0
    OUT 888, 2
    IF (INP(889) AND 32) > 0 THEN accum% =
    accum% + 4
    OUT 888, 0
    OUT 888, 2
    IF (INP(889) AND 32) > 0 THEN accum% =
    accum% + 2
    OUT 888, 0
    OUT 888, 2
    IF (INP(889) AND 32) > 0 THEN accum% =
    accum% + 1
    OUT 888, 2
    OUT 888, 0
    OUT 888, 2
    OUT 888, 0
    OUT 888, 1
    mesure% = accum%
    50 dateini$ = DATE$
    ON ERROR GOTO 0
    OPEN nomdefichier$ FOR OUTPUT AS 1
    END SUB
    SUB axes (nomdefichier$)
    CLS
    LOCATE 1, 1: PRINT "Appuyer sur <q> pour
    stopper."
    LOCATE 2, 1: PRINT "MESURE du :", DATE$,
    "Mesures sauv‚es dans ", nomdefichier$
    LOCATE 11, 77: PRINT "4v"
    LOCATE 25, 77: PRINT "ov"
    LOCATE 11, 2: PRINT "V"
    LOCATE 13, 2: PRINT "O"
    LOCATE 15, 2: PRINT "L"
    LOCATE 17, 2: PRINT "T"
    LOCATE 19, 2: PRINT "S"
    LOCATE 25, 1: PRINT "TEMPS>"
    xorig% = 50
    END SUB
    Voil donc j'aimerais que vous m'expliquiez en détail la démarche à suivre pour creer ce programme parfaitement
    PS: j'utilise QuickBasic 4.5 en FR

  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
    Ma boule de cristal est en panne. J'attends la version 8.12 ...

    Pour qu'on puisse t'aider il faut déjà que ta question soit plus explicite. En outre il faut utiliser les balises <code> pour présenter ton listing correctement et l'indenter pour faciliter la lecture.

    Ta question est difficilement compréhensible en l'état : s'agit-il simplement d'un problème de copier coller ? Auquel cas le texte de ton programme se colle et se copie comme tout autre texte d'un éditeur vers un autre.

    Es-tu incapable de trouver l'éditeur de QuickBasic ? => documentation.

    As-tu réalisé le copier coller ? dans ce cas, as-tu des erreurs à la compilation ? Lesquelles ? Le texte source est-il compatible syntaxiquement avec Quick Basic ? Quel est ton système d'exploitation ?

    Si tu n'as jamais fait de programmation de ta vie il te fait quand même acquérir quelques bases. programmer un ordinateur ça n'est pas tout à fait comme se servir d'un téléphone portable...
    "Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth
    https://pharo.org/web
    https://faust.grame.fr/

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Effectivement je n'ai jamais rien programmer
    Mais le programme dont j'ai besoin est déjà fait donc deux questions :
    -Dois je le recopier manuellement ou il y a un moyen automatique de le faire si oui comment faire (personnellement j'ai pas réussi un copier coller lol)
    -Est ce que je dois faire des manipulations précises pour écrire le texte ou j'ai juste à recopier le texte ?

    Normalement le code est compatible syntaxiquement avec Quickbasic car sur le site ou je l'ai pris, ils ont utilisé Quick basic (sachant qu'ils ont créer ce programme dans le cadre des olympiades de physique le code doit être bon )

    J'ai windows XP édition familiale

    PS: Et oui j'ai les fichiers d'aide mais je n'ait pas trouver quelque chose en rapport avec un éventuel copier/coller ou alors je suis bigleux

  4. #4
    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
    Le copier coller est identique pour tout type de texte : tu sélectionnes ce que tu veux copier puis tu le colles dans l'éditeur. Il faut ensuite vérifier qu'il n'y a pas eu de caractères indésirables. Il suffisait d'essayer en somme ...
    "Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth
    https://pharo.org/web
    https://faust.grame.fr/

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    A vrai dire j'ai déjà essayer sans succès sinon je serais pas la ...
    J'y arrive toujours pas pourtant je copie bien dans le presse-papiers comme indiquer dans les fichiers d'aide mais le bouton "Coller" dans "édition" reste gris.
    Le site ou je veux prendre le code est en .pdf mais même en passant par le Bloc-notes j'y arrive pas :'(

  6. #6
    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
    Il est difficile d'utiliser le presse-papier sous DOS...
    En effet, Qbasic tourne sous DOS!

    Voici ce qu'il faut faire:
    faire un copier-coller de ce que tu as mis dans ton post vers le bloc-note Windows, enregistrer ce fichier avec un nom se terminant par .bas (comme par exemple source.bas), et tout simplement charger ce fichier une fois que tu as lancé Qbasic.

    J'ai essayé avec Qbasic 1.1 puis 4.5, mais...
    1 - il y a beaucoup de lignes coupées dans ton source par des retours à la ligne et donc, il y a beaucoup de lignes qui ne compilent pas:
    par exemple la première ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DECLARE SUB affichage (nummes&, mesures%,
    yorig%)
    ne compile pas car c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DECLARE SUB affichage (nummes&, mesures%, yorig%)
    qui est correct

    2 - quand toutes les lignes ont été corrigées et sont syntaxiquement correctes, eh bien, il ne trouve pas les sous programmes.
    Le source que tu nous as mis dans ton post n'est pas complet. Par exemple, il ne trouve pas le sous-programme initempo, qui est appelé.

    3 - ton source est bizarre. Certaines lignes sont numérotées, alors qu'elles ne sont pas appelées.
    Par exemple, cette ligne:
    ne devrait pas être numérotée, car on ne trouve ni de GOTO 500, ou de GOSUB 500. On dirait que ton source vient d'un programme beaucoup plus vieux, du temps où le Basic avait des lignes numérotées...

    4 - A la lecture du source, on voit que les données sont sauvegardées dans un fichier séquentiel (qui a le numéro logique 1), car on ouvre un fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OPEN nomdefichier$ FOR OUTPUT AS 1
    mais on ne trouve nulle part une écriture dans ce fichier par un: PRINT #1, quelquechose.
    Par contre, ce fichier est correctement fermé:
    Ton fichier de sauvegarde sera donc vide!

    5 - AS-tu vérifié que ton séismographe est correctement interfacé et qu'il sera lu correctement par la séquence de OUT 888 et de INP(889) du sous-programme aquisit ?


    Ma conclusion : ton source ne fonctionne pas car il n'est pas complet.

  7. #7
    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
    Il s'agit d'une argumentation très détaillée de ce que je disais un peu plus haut : programmer un ordinateur ce n'est pas comme se servir d'un téléphone portable ou surfer sur le net, il y a quelques préalables à connaître même pour des langages aussi simples que le BASIC et le copier coller n'est absolument pas recommander.

    Conclusion : il faut se faire aider par quelqu'un qui connaît la programmation ou trouver une autre solution (programmes freewares en téléchargement, etc.). As-tu essayé cette piste ? Il est quasiment impossible à un débutant complet de compiler un programme ncomplet ou buggué etc.
    "Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth
    https://pharo.org/web
    https://faust.grame.fr/

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup pour ton aide pour le copier/coller ça marche impec
    Pour toutes les erreur de compil je pourrais faire m'aider mais merci de m'avoir indiquer les défauts

    PS: je n'ai pas copier le texte en entier parce que je voulais juste savoir comment effectuer un copier/coller

    Merci a tous de m'avoir répondu et de m'avoir accordé un peu de voter temps

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

Discussions similaires

  1. [Débutant] Copier une base 10.R2 dans une 10.R1
    Par gold15 dans le forum Administration
    Réponses: 16
    Dernier message: 23/03/2009, 10h58
  2. [Débutant] copier l'élément sélectionner dans une liste
    Par Henry9 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 29/04/2007, 21h49
  3. Réponses: 3
    Dernier message: 30/10/2006, 11h21
  4. Mettre son programme dans Envoyer Vers ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 11
    Dernier message: 29/07/2003, 19h09
  5. Fin de programme dans une procédure
    Par Sinclair dans le forum Langage
    Réponses: 13
    Dernier message: 29/11/2002, 22h30

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