Hey Leute,
ich wollte ein System machen, dass jeden Login eines Members einer Fraktion abspeichert. Darunter werden Datum und Uhrzeit des Logins abgespeichert. Mit einem Befehl kriegt der Leader alle Member und ihre Daten zu sehen.
Da jeder Member bei jedem neuen Login neue Daten bekommt, muss ich in der Datei die vorher abgespeicherte Zeile mit der neuen dann ersetzen.
Soweit ich weiß, kann man eine Zeile mit "fdeleteline(Filename, Line)" (Dazu hab ich hier aus dem Forum eine Funktion entnommen) entfernen. Ich würde, falls das möglich ist, gerne anstatt die Zeile zu entfernen, sie mit einer neuen zu ersetzen. Die Funktion "fdeleteline" ist für mich etwas zu proffessionell erstellt, daher kann ich die nicht so umstellen, dass sie eine Zeile nicht löscht, sondern ersetzt.
Falls das jemand kann, hier die Funktion:
public fdeleteline(filename[], line[])
{
if(fexist(filename))
{
new temp[256];
new File:fhandle = fopen(filename,io_read);
fread(fhandle,temp,sizeof(temp),false);
if(strfind(temp,line,true)==-1)
{
return 0;
}
else
{
fclose(fhandle);
fremove(filename);
for(new i=0;i<strlen(temp);i++)
{
new templine[256];
strmid(templine,temp,i,i+strlen(line));
if(equal(templine,line,true))
{
strdel(temp,i,i+strlen(line));
fcreate(filename);
fhandle = fopen(filename,io_write);
fwrite(fhandle,temp);
fclose(fhandle);
return 1;
}
}
}
}
return 0;
}
Ich hoffe jemand hat eine Lösung für mich, stehe nämlich zur Zeit mit diesem Problem da und habe mein System zu 99 % fertig.