Assignation « automatique »

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

  • Tarzin

    • Messages : 1892
    #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

    • Messages : 1579
    #127288

    assign monprg «  »

    Alex

    • Messages : 1025
    #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

    • Messages : 1892
    #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

    • Messages : 30
    #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

    • Messages : 2606
    #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

    • Messages : 4716
    #127293

    Je confirme, Henes et Elwood ont raison.

    Une simple commande

    assign monprg: ""

    suffit et cela fonctionne depuis bien bien longtemps !

    Tarzin

    • Messages : 1892
    #127294

    Merci les gars!

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

    Gilloo

    • Messages : 831
    #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 »

Do NOT follow this link or you will be banned from the site!