Avatar billede casperwollesen Nybegynder
07. december 2000 - 10:47 Der 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,
Avatar billede soepro Nybegynder
07. december 2000 - 10:56 #1
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.\";

  if ((batFil = fopen(\"envvar.bat\", \"wb\")) != NULL)
  {
    fprintf(batFil, \"@set ENVVAR=%S\\r\\n\", gemVaerdi);
    fclose(batFil);
    return 10;
  };
  return 0;
}

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

:
dospgm
if errorlevel 10 call envvar.bat
:
Avatar billede soepro Nybegynder
07. december 2000 - 10:56 #2
Oops - det skulle selvfølgelig have været et svar.
Avatar billede casperwollesen Nybegynder
07. december 2000 - 11:52 #3
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.
Avatar billede casperwollesen Nybegynder
08. januar 2001 - 13:13 #4
Lukkes
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester