Lecture du fichier de licence à partir de RLM avec C # (traduction de C ++ en C #)
-
22-07-2019 - |
Question
J'utilise le gestionnaire de licences Reprise RLM pour rechercher l'activation Internet. Je n'arrive pas à comprendre comment obtenir le fichier de licence du serveur Web dans un fichier texte avec C # (je suis également très novice en C #).
RLM est fourni avec un exemple en C ++ mais je ne peux pas le traduire.
Mon code (pour la démo) ressemble à ceci:
int stat = RLM.rlm_act_request(handle, "http://www.reprisesoftware.com", "rlmactdemo", activationKey, "", "", 1, "", new byte[RLM.RLM_MAX_LINE+1]);
if (stat == 0||stat == 1){
//Successful connection
//Read license file and write to local machine
}
rlm_act_request
établit et vérifie la connexion. Une fois qu'il est établi, comment puis-je accéder au fichier et l'écrire dans un fichier local?
Le code C ++ pour tout ce qui se passe dans cette instruction if est le suivant:
char name[100];
char license[100];
int try;
FILE *f, *fopen();
stat = 1;
for (try=0; try<100; try++)
{
sprintf(name, "a%d.lic", try);
f = fopen(name, "r");
if (f == (FILE *) NULL)
{
f = fopen(name, "w");
if (f)
{
fprintf(f, "%s\n", license);
fclose(f);
break;
}
else
{
printf("Error writing license file \"%s\"\n", name);
stat = -1;
break;
}
}
}
Quel est l'équivalent C #?
La solution
Eh bien, c'était étonnamment facile. Il s'avère que le 'nouveau byte []' qui passe à rml_act_request () contient le contenu du fichier de licence. Tout ce que j'avais à faire était d'en faire une variable locale, de la convertir en chaîne et de l'écrire dans un fichier à l'aide de TextWriter.WriteLine ();
J'aurais aimé que cela soit documenté quelque part ...