07. december 2000 - 10:47Der er
3 kommentarer og 1 løsning
Environment variabel.
Jeg har lavet et dos program som kan tilføje og fjerne fra ini filer. Nu skal jeg også have det til at læse værdi ud af filer. Programmet bliver eksekveret af en bat-fil under installation af X programmer. Er det så muligt at gemme noget i en environment variabel som kan læses efter programmet er afsluttet ? På forhpnd tak,
Ikke direkte nej - men du kan anvende en andet trik jeg har benyttet: Gem det indhold du gerne vil lægge ud i environment variablen i en lille .BAT fil, som du så eksekverer lige efter at du har kaldt dit \"hoved\" program.
HOVED.BAT:
@echo off : en hel masse andet før kaldet af dit DOS program dospgm call envvar.bat : en hel masse efter set ENVVAR=
ENVVAR.BAT: @set ENVVAR=Den tekst som du vil gemme fra dit DOS program - max 127 karakter i alt.
Dit DOSPGM skulle så se nogenlunde sådan her ud:
#include <io.h> #include <stdio.h> #include <stdlib.h> #include <conio.h> int main(void) { FILE *batFil; char *gemVaerdi = \"Denne tekst vil jeg gerne gemme.\";
Du kan evt. lade dit DOS-program lave en return 10 som indikation på at ENVVAR.BAT skal køres, sådan som jeg har gjort ovenfor, og så ændre HOVED.BAT til dette
Det er desværre også den eneste metode jeg har kunne få til at virke. Der findes \'putenv\' men den kan kun bruges under selve afhandlingen af programmet. Så hvis der er andre der har en bedre løsning så kom endelig med den.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.