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