As far as I understand, this is the problem:
the DF client saves a line
Best Energy so far: 9.329
in the progress.txt.
Your dfGUI parses this line with
inProgressFile [...] >> bestenergy;
where bestenergy is a double.
The >> operator for some reasons uses the locale settings on the machine, and therefore needs a ',' on german systems; there is no ',', and the dfGUI throws an exception.
So, why don't you parse the value as char[], split it at the '.' and transform it to double:
Code:
#include <math.h>
[...]
char temp[20] = {"bad"};
[...]
inProgressFile >> progtext >> progtext2 >> structcomplete
>> progtext3 >> currentgeneration
>> structremain >> progtext4 >> progtext5 >> progtext6
>> generationsbuffered >> progtext7 >> progtext8
>> progtext9 >> progtext10 >> progtext11 >> progtext12
>> temp;
// close file
inProgressFile.close();
[...]
char *pos;
pos = strtok(temp, ".");
char *in = pos; // in = integer part before the .
pos = strtok(NULL, ".");
char *fr = pos; // fr = fractional part after the .
bestenergy = atof(in) + atof(fr)* (1.0 / pow(10, strlen(fr))); // here: bestenergy = 9.0 + 329.0 * 1/1000 = 9.329
[...]
EDIT: I don't have Borland C++ Builder 6 and couldn't test it, but it should work.
Hope my English is good enough, /me is a german guy