#include "test8_1.h"
void fDatei_txt_auslesen()
{ int Zahl[200];
int i; //Zähler für das auslesen der Datei
int n; //Zähler für das ausgeben der Datei
// int PointShip; //PointShip wird in der Ini-Datei deklariert -> Anzahl der beschriebenen Schifftypen
fhandle = file_open_read("test.ini");
ftimesname();
str_for_num(test_str,Zaehler);
file_close(fhandle);
}
void ftimesname() // +++++++++++ Diese Function zählt per Counter ein gesuchtes Wort in einer text-datei++++++++++++++
{
int i;
int PointShip;
//Hier könnte man eine weitere Bedingung einfügen,z.B. falls spiel neugestartet wird
for (i=0; i<file_length(fhandle); i++)
{
result = file_find(fhandle,"[SCHIFF]"); //+++++"[SCHIFF]" könnte man durch einen STRING* variabel verändern+++++++
if(result > 0) { Zaehler +=1; }
}
}
/////////////////////////////////////
// Function for INFORMATION-STRUCTS
/////////////////////////////////////
void readStructShip()
{ int i, ID_choice;
//char stringmemory;
fhandle = file_open_read("test.ini");
for(i=1; i < (Zaehler+1); i++) {
//Hier muss eine komplette Structabfrage erfolgen
//....abfrage auf weitere functionen aufteilen!
//*******************************************
//Teil 1... Suche erste ID
file_find(fhandle,"ID=");
PointShip = file_var_read(fhandle);
SShipType[i].acID = PointShip;
//*******************************************
//Teil 2... Suche darauf folgenden String - "Name="
file_find(fhandle,"Name=");
file_str_read(fhandle,stringmemory_str);
SShipType[i].acName = stringmemory_str;
//SShipType[i].acName = "TESTSTRING";
//str_cpy((SShipType[i].acName)[0], "TEST STRING");
//*******************************************
//Teil 3... Suche darauf folgendes Gewicht "Gewicht="
file_find(fhandle,"Gewicht=");
PointShip = file_var_read(fhandle);
SShipType[i].acMass = PointShip;
//*******************************************
//Teil 4... Suche darauf folgenden Informationstext "Info="
file_find(fhandle,"Info=");
file_str_read(fhandle,stringmemory_str);
//SShipType[i].acShipInfo = stringmemory_str;
//str_cpy(SShipType[i].acShipInfo, "TEST STRING");
//str_cpy((SShipType[i].acShipInfo)[i], stringmemory_str);
//*******************************************
}
file_close(fhandle);
str_cpy(operation_str, "Von welchem Schiff wollen Sie das Gewicht erfahren?");
wait(-3);
str_cpy(operation_str, "Geben Sie eine Schiffs_ID ein!");
wait(-3);
str_cpy(operation_str, "#3"); // anstelle von #3 könte ich auch nur 3 leerzeichen zwischen den " " einfügen.
str_cpy(test_str, "#3"); // -> So ist es aber lesbarer.
wait(-1);
inkey(test_str);
ID_choice = str_to_num(test_str);
str_for_num(operation_str, SShipType[ID_choice].acMass);
str_cpy(test_str,"#200");
//str_cpy(test_str, SShipType[ID_choice].acName);
test_str = SShipType[ID_choice].acName;
//str_cpy(test_str, stringmemory_char);
}
/////////////////////////////////////
// Functions for STRING operation_str
/////////////////////////////////////
void fDelete_operation_str()
{
str_cpy(operation_str, "#200");
wait(-1);
}
//////////////////////////////
// MAIN Function
//////////////////////////////
int main (void) {
//int Seite; //Für das Zugreifen auf die Array-Elemente
//int Seitenanzahl; //Anzahl der Array-Elemente
video_mode = 6;
vec_set(screen_color, vector(50, 25, 25)); // make the background color dark
// wait(-4);
fDelete_operation_str();
fDatei_txt_auslesen();
wait(-2);
readStructShip();
//wait(-6);
//sys_exit(NULL);
}