Traduction programme qbasic

bonjour

je suis nul en basic quelqu'un pourrai me traduire et/ou m'optimiser ce code?:

If Len(a$)>0 Then
d$=a$(1 To 1)
f$=a$((Len(a$)-2) To (Len(a$)-2))

If d$="d" And f$="f" Then

b$=a$(19 To (Len(a$)-3))

Open "Bips.dat" For Binary Append As 1
Put 1,Time$;" - ";b$;"#"
Put 1,Chr$(13)+Chr$(10)
Put 1,"#"
Close 1
b$=""
a$=""
f$=""
d$=""

Endif

Endif

merci d'avance
Configuration: Windows XP
Internet Explorer 7.0

9 réponses

  1. Modérateur
    Si j'ai bien compris:
    Si a$ possède un "d" en première position et un "f" en avant-dernière position, alors on ouvre le fichier Bips.dat et on ajoute à la fin:
    " - x#
    #"

    x étant un extrait de la chaîne a$ (caractères 19 jusqu'à l'avant-avant dernier caractères).

    Exemple:
    Si a$= "d0123456789abcdefghijklmnofz"
    Cela écrit dans le fichier :
    "- hijklmno#
    #"
    0
    1. merci pour ces précisions, ca assure!! par contre y aurai il un moyen de simplifier la chose? Ca m'aiderai vraiment beaucoup!
      Merci d'avance
      0
  2. Modérateur
    oups j'ai oublié de dire qu'il écrit aussi la date dans le fichier.

    Simplifier ?
    Bah, un peu oui, mais pas grand chose:

    If Len(a$)>0 Then
        if left$(a$,1)="d" and mid$(a$,len(a$)-2,1)="f" Then
            Open "Bips.dat" For Binary Append As 1
            Put 1,Time$;" - ";mid$(a$,19,len(a$)-19-3);"#";Chr$(13)+Chr$(10);"#"
            Close 1
        Endif
    Endif


    (à vérifier hein, parceque j'ai écrit ça comme ça vite fait sans vérifier)
    0
    1. il me semble que ca marche.. Merci merci !!

      maintenant un autre probleme 's'offre' a moi!
      explication: (tjs en qbasic)

      je voudrais prendre les données de bips.dat et les envoyer par mail automatiquement dans un fichier texte tous les soir a 00h00.. esceque c possible?
      (ma machine (ewon4001) possede un serveur web embarqué et fait donc du ftp, elle est reliée au réseau internet 24h/24 et affichera aussi par la suite ces données sur une page web)
      je sais pas si je suis claire..

      Merci d'avance
      0
      1. Modérateur
        Tu es claire.

        Tu veux envoyer ce fichier régulièrement.

        Si tu veux l'envoyer par HTTP ou FTP, tu peux prendre le logiciel CURL, très bien adapté à ce genre de chose.
        Pour les logiciel d'email en automatique, ça existe même si je n'en connais aucun en particulier. C'est le genre de chose que je programmerais en Python, mais il y a d'autres possibilités.
        0
        1. en fait je ne veux pas utiliser de logiciel a coté mais je veux rentrer une commande du genre:
          Putftp...
          Sendmail "...@....fr", "", "Bips",

          c'est possible? et comment configurer cela??
          0
      2. Modérateur
        c'est possible? et comment configurer cela??

        En QBasic ? Non, impossible.

        Il faut faire appel à un programme externe, quitte à le lancer à partir de QBasic (je ne me rappelle plus de la commande pour lancer un programme externe, mais ça peut se faire).
        0
        1. ha bon.. zut!!
          je pensait un truc du genre:

          Putftp "_Bips.dat", "[$dtUF $uf/Bips.dat]"

          Sendmail "...@...fr", "", "bip", "En pièce jointe : fichier contenant ..... &[$dtUF $uf/Bips.dat]"

          faut voir si la syntaxe est bonne
          0
      3. quel serai la commande pour effectuer une tache automatiquement a une heure donnée?( tous les soir a minuit par exemple?

        merci d'avance
        0
        1. Modérateur
          ça dépend de ton système d'exploitaiton.

          Sous les Unix/Linux, c'est cron
          Sous Windows, c'est dans les "tâches planifiées".
          0
        2. @sebsauvagenon en fait je voudrai l'intégrer au programme.. pas me servir de windows.. car mon 'automate' (ewon 4001.. serveur web... http://www.ewon.fr/prod_ewon_4001.html ) est relié au réseau internet sans etre connecté a un pc.

          merci
          0
        3. @zoid54sebsauvage a l'aide

          ..
          0
        4. @zoid54dans le code que tu m'as donné que signifie left? car il me dit:
          37: If left
          variable not found (16)

          merci
          0
      4. Modérateur
        Désolé je ne connais rien à ton automate.

        Tu veux lancer automatiquement à une date donnée, mais est-ce que ton automate peut faire ça ?

        Regarde la doc, je ne peux pas te répondre.
        0
        1. Slt à tous je suis en terminale et dans 2 jours je dois passer un oral de maths. Nous avons plusieurs sujets au choix et j'ai choisi : 3 équations à 3 inconnues. Seulement j'ai un gros problème je n'arrive pas à me servir de qbasic si quelqu'un pouvait me faire un petit programme ça serait vraimet très sympathique de votre part.
          Voici l'énoncé :

          3x-2y+z=-26 (1)
          -2x+3y+2z=22 (2)
          -5x+4y-3z=50 (3)

          Il faut résoudre le systèmepar substitution donc :
          On trouve z dans le premier membre : z=-3x+2y-26

          On obtient donc un système de 2 équations à 2 inconnues en remplaçant z par sa valeur dans chacun des membres

          -2x+3y+2(-3x+2y-26)=22 (2)
          -5x+4y-3(-3x+2y-26)=50 (3)

          -2x+3y-6x+4y-52=22 (2)
          -5x+4y+9x-6y+78=50 (3)

          -8x+7y=74
          4x-2y=-28

          On cherche x dans le troisième membre

          4x=-28+2y
          x=-7+0,5y

          On remplace ensuite x par sa valeur dans le deuxième membre

          -8(-7+0,5y)+7y=74
          56-4y+7y=74
          3y=18
          y=6

          Ensuite on cherche la valeur de z en remplaçant x et y par leur valeur

          z=-3x+2y-26
          z=-3*(-4)+2*6-26
          z=12+12-26
          z=-2

          Bilan :
          x=-4
          y=6
          0
          1. Salut!
            Pour envoyer un message toute les 24 heures depuis l'eWON tu peux te servir de

            TSET 1,86400 : Rem 86400 seconde = 24heures
            ONTIMER 1,"Gosub fonction_envoie" :Rem fonction_envoie sera ta fonction qui se chargera de l'envoie

            Si tu veux que cela se fasse à une heure precise dans la section d'initialisation (init s_section de l'eWON) tu recupere l'heure et tu lance une premiere foi le timer avec le noombre de seconde qu'il faut pour aller à cette heure (au lieu de 86400) et dans ta fonction tu le remet à 86400...

            Bon courage !
            -MattAka-
            0