Language wiedergeben

Viper2009

Erfahrenes Mitglied
Hallo ich bin da bei ein Language-Packet zu schreiben, habe aber leider ein problem und zwar weis ich nicht wie ich mehrere Datein einlese kann. Wenn in der in der Option.cfg
Language=0 0=English 1= German und so weiter.

Ich habe es zwar hin bekomme eine Datei einzulesen weis es aber nicht wie ich es mit Language=0 machen kann.

PHP:
	FILE	*LanguagesFile;
	char	String[128];
	char	*Languages;
	char	*Value;

	LanguagesFile = fopen ("Languages/English.txt",);
   	if (!LanguagesFile)
		return FALSE;

	while (!feof(LanguagesFile))
	{
		fgets (String, 128, LanguagesFile);
		Languages = strtok(String, "=");
		Value = strtok(NULL, "\n");

		if ( !strcmp ("Name", Languages) )
			strcpy (LanguagesConfig.Name, Value);
.... und so weiter.

Könntet ihr mir vieleicht weiter helfen.
Programmiere in C.

Schon mal danke für eure Hilfe.
 
moin


Code:
if(Language == 0)
     LanguagesFile = fopen ("Languages/English.txt", "r");

if(Language == 1)
     LanguagesFile = fopen ("Languages/Deutsch.txt", "r");

if(Language == 3)
     LanguagesFile = fopen ("Languages/Franzoesich.txt", "r");
So z.B.


mfg
umbrasaxum
 
ahh Danke aber ich muss ihn doch sagen das er in der Option.cfg Language=0 oder Language=1 ist wie mache ich das, dass er das da raus läd.
 
Zuletzt bearbeitet:
So in der Art vieleicht ?

PHP:
Language =(/*lade option.cfg*/"option.cfg",Language = Value) // Ist zwar falsch aber ich weis leider nicht wie man das macht :(

	if(Language == 0)
    LanguagesFile = fopen ("Languages/English.txt", "r");

	if(Language == 1)
    LanguagesFile = fopen ("Languages/Deutsch.txt", "r");
 
Also ich lade es so
PHP:
boolean LoadLanguages ( void )
{
	FILE	*LanguagesFile;
	char	String[128];
	char	*Languages;
	char	*Value;
	

	Language = fopen ("Option.cfg ", "r");
	if(Language == 0)
    LanguagesFile = fopen ("Languages/English.txt", "r");

	if(Language == 1)
    LanguagesFile = fopen ("Languages/Deutsch.txt", "r");

   	if (!LanguagesFile)
		return FALSE;

	while (!feof(LanguagesFile))
	{
		fgets (String, 128, LanguagesFile);
		Languages = strtok(String, "=");
		Value = strtok(NULL, "\n");

		if ( !strcmp ("Name", Languages) )
			strcpy (LanguagesConfig.Name, Value);
		if ( !strcmp ("$1", Languages) )
			strcpy (LanguagesConfig.$1, Value);

Und mache bei mein Header das
typedef struct
{
char Name
char ...
int Language;
} Languages_t;

Languages_t LanguagesConfig;
Und es will nicht gehen bekomme ein compiler error
 
Zuletzt bearbeitet:
So wie Du das bim LanguagesFile machst, mit fgets einlesen und mit strtok den String aufteilen, so machst Du das einfach auch mit der Option.cfg. Wo ist das Problem?
EDIT: Und schau' Dir mal die Doku zu fopen an, vor Allem den Rückgabewert!
 
Hi.

Du mußt ganz normal erstmal die Datei öffnen und wenn das geklappt hat kannst du die Datei auslesen und (wenn das geklappt hat) die Daten verwenden und die jeweilige Language-Datei öffnen.

Code:
FILE *options;
FILE *language = NULL;

if ((options = fopen("Option.cfg ", "r")) != NULL) {
  /* hier mußt du jetzt die Optionen auslesen. */
  /* z.B. */
  while (!feof(options) && !ferror(options)) {
    int lang;
    if (fscanf(" lang = %d", &lang) == 1) {
      if (lang == 0)
        language = fopen ("Languages/English.txt", "r");
      else if (lang == 1)
        language = fopen ("Languages/Deutsch.txt", "r");
      else {
        fprintf(stderr, "unbekannte Sprache\n" );
        return 1;
      }
      break;
    } else /* Fehler beim Lesen der Datei Option.cfg */
  }
  if (language != NULL)
     ...
} else { /* Option.cfg konnte nicht geöffnet werden. */

Gruß
 
moin


Ich habs ihm gestern versucht im Chat zu erklären, ich hab ihm Codes geschickt, ich haqbs ihm sogar in seinen Code eingebaut! Aber bei ihm fehlen da einfach die Grundlagen, sodass ich auch mit deinem Beispiel deepthroat (meins sah übrigens genau so aus) schwarz sehen.


mfg
umbrasaxum
 
Zurück