Daten herauslesen... Geht das nicht einfacher?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Ich habe in meinem Script mit "fopen, fexist etc" eine Datei erstellt,
    die bestimmte Koordinaten und noch ein paar andere Parameter speichert.


    Ich bin dabei diese einzelnen Daten herauszulesen und sie in einer Floatvariable zu speichern.


    Der Code für die Variablenspeicherung sieht wiefolgt aus:
    strmid(string3,string,strfind(string,",",false,strfind(string,",",false,strfind(string,",",false,strfind(string,",",false,strfind(string,",",false,strfind(string,",",false)+1)+1)+1)+1)+1)+1,strfind(string,",",false,strfind(string,",",false,strfind(string,",",false,strfind(string,",",false,strfind(string,",",false,strfind(string,",",false,strfind(string,",",false)+1)+1)+1)+1)+1)+1));


    Geht das nicht einfacher?
    Das ist ziemlich lange und wahrscheinlich nicht ressourcenschonend.



    LG
    Pille

  • verstehe nicht was du genau willst, aber so wie es aussieht mit split
    Function split(const strsrc[], strdest[][], delimiter)
    {
    new i, li;
    new aNum;
    new len;
    while(i <= strlen(strsrc)){
    if(strsrc[i]==delimiter || i==strlen(strsrc)){
    len = strmid(strdest[aNum], strsrc, li, i, 128);
    strdest[aNum][len] = 0;
    li = i+1;
    aNum++;
    }
    i++;
    }
    return 1;
    }



    Ein Beispiel an Mats


    Function LoadFrakMats()
    {
    new arrCoords[4][64];
    new strFromFile2[256];
    new File: file = fopen("FrakMats.ini", io_read);
    if (file)
    {
    fread(file, strFromFile2);
    split(strFromFile2, arrCoords, ',');
    SMats = strval(arrCoords[0]);
    GMats = strval(arrCoords[1]);
    BMats = strval(arrCoords[2]);
    LMats = strval(arrCoords[3]);
    fclose(file);
    }
    return 1;
    }