Assignation “automatique”

9 sujets de 1 à 9 (sur un total de 9)

  • Tarzin

      #8256

      Bonjour,

      Je cherche à créer une assignation automatique en fonction du répertoire dans lequel se trouve un script.

      Imaginons que mon script se trouve dans DH0:Utilitaires/mon prg

      Je voudrais qu’en cliquant sur le script (qui contiendrait la commande d’assignation), une assignation automatique soit fait du genre monprg: DH0:Utilitaires/monprg

      et que si l’on change de place le répertoire monprg dans DH0:Divers/monprg l’assignation deviennent en cliquant sur le script monprg: DH0:Divers/monprg

      L’assignation ne doit pas être permanente mais uniquement valable lorsqu’on clique sur le script, donc rien à écrire dans la user-startup.

      Merci!

      elwood

        #127288

        assign monprg “”

        Alex

          #127289

          Euh à vérifier, mais est-on certain que lors de l’exécution d’un script le répertoire courant est effectivement modifié pour pointer sur le répertoire dans lequel se trouve le script ?

          Il n’existe pas un équivalent à PROGDIR: en script ?

          Sinon pour info si tu souhaites supporter également AmigaOS 4 il existe l’assignation dynamique CURRDIR: qui remplace avantageusement l’utilisation des doubles-quotes “” niveau lisibilité.

          Tarzin

            #127290

            assign monprg “”

            Elwood, je vais essayer ça.

            Il n’existe pas un équivalent à PROGDIR: en script ?

            Aucune idée.

            Et je cherche un truc qui fonctionnerait sous 68k, MOS et OS4 (pourquoi faire simple!)

            pat

              #127291

              J’avais écrit un petit prog qui permet d’assigner le répertoire courant et voici le code il suffit de le recompiler pour chaque machine.

              A+

              NB il faut supprimer les espaces dans la déclaration des includes, j’ai pas trouvé la combine pour un affichage correct, désolé!

              #include < stdlib.h >

              #include < string.h >

              #include < stdio.h >

              #include < clib/dos_protos.h >

              #define VERSION “Assign_CurrentDir 0.1 (19.12.2005)”

              char *vers = “$VER: “VERSION;

              /*


              */

              int main (int argc, char *argv[])

              {

              char drawer[310], buffer[350];

              BPTR fp;

              if (!stricmp(“-h”, argv[1]) || !stricmp(“-?”, argv[1]) || argc != 2)

              {

              printf (“Assign_CurrentDir [name_without ‘:’]n”);

              return TRUE;

              }

              if (!(fp = Open (“ram:Assign_CurrentDir.dbg”, MODE_NEWFILE)))

              {

              printf (“impossible d’ouvrir le fichiern”);

              return FALSE;

              }

              GetCurrentDirName (drawer, 300);

              sprintf (buffer,”assign %s: %s”, argv[1], drawer);

              //printf (“CurrentDir ‘%s’, argv[1] ‘%s’, buffer ‘%s’n”, drawer, argv[1], buffer);

              Write (fp, buffer, strlen (buffer));

              Execute (buffer,0,fp);//dos

              Close (fp);

              return TRUE;

              }

              /*


              */

              henes

                #127292

                assign monprg “”

                assign monprg: “”

                Le tout lancé via IconX. Le bureau (wb, scalos, magellan, etc) change le répertoire courant pour être celui où se situe l’exécutable donc cela marchera. Sauf s’il est bugué, peut-être…

                Admin

                bigdan

                  #127293

                  Je confirme, Henes et Elwood ont raison.

                  Une simple commande

                  assign monprg: ""

                  suffit et cela fonctionne depuis bien bien longtemps !

                  Tarzin

                    #127294

                    Merci les gars!

                    Je teste ça dès que possible et vous tiens informés

                    Gilloo

                      #127295

                      Le plus compliqué est de faire le plus simple :-D

                    9 sujets de 1 à 9 (sur un total de 9)

                    • Vous devez être connecté pour répondre à ce sujet.

                    Forums AmigaOS, MorphOS et AROS Développement Assignation “automatique”

                    Amiga Impact