07.10.2013, 01:08
(
Последний раз редактировалось zPain; 07.10.2013 в 02:13.
)
Introduзгo:
Essa include serve pra quem precisa de um sistema de gerenciamento de arquivos, mas nгo necessariamente de tudo que os sistemas publicados atualmente oferecem (escrever int, escrever float, etc).
Simplesmente escreve e lк strings, claro que vocк pode obter valores tambйm (strval, floatstr).
Funзхes:
Source:
Download:
http://pastebin.com/WquqkYeC
Crйditos:
- zPain: Desenvolvimento do script
- ipsBruno: Pequeno esclarecimento
Essa include serve pra quem precisa de um sistema de gerenciamento de arquivos, mas nгo necessariamente de tudo que os sistemas publicados atualmente oferecem (escrever int, escrever float, etc).
Simplesmente escreve e lк strings, claro que vocк pode obter valores tambйm (strval, floatstr).
Funзхes:
Код:
file_create(file[]) - Cria um arquivo - Parвmetro file: Nome do arquivo. file_delete(file[]) - Deleta um arquivo. - Parвmetro file: Nome do arquivo file_exists(file[]) - Verifica se um arquivo existe. - Parвmetro file: Nome do arquivo file_set(file[], tag[], value[]) - Cria um arquivo - Parвmetro file: Nome do arquivo - Parвmetro tag: Tag para escrever - Parвmetro value: Texto para atribuir а tag file_get(file[], tag[]) - Cria um arquivo - Parвmetro file: Nome do arquivo - Parвmetro tag: Tag cujo valor serб retornado
Source:
pawn Код:
#include <a_samp>
#if defined zini_included
#endinput
#endif
#define zini_included
#pragma library zini
stock buffer[0xffff];
/*
native file_create(file[]);
native file_delete(file[]);
native file_exists(file[]);
native file_set(file[], tag[], value[]);
native file_get(file[], tag[]);
*/
#define file_create(%0) fclose(fopen(%0, io_write))
#define file_delete(%0) fremove(%0)
#define file_exists(%0) fexist(%0)
stock file_set(file[], tag[], value[]) {
if(strlen(tag) + strlen(value) + 2 > 255)
return 0;
if(!fexist(file))
goto write;
buffer[0] = EOS;
static string[0xff], index;
static File:handle;
handle = fopen(file, io_read);
while(fread(handle, string)) {
if((index = strfind(string, "=", false)) != -1) {
string[index] = EOS;
if(strcmp(string, tag, false)) {
string[index] = '=';
strcat(buffer, string);
}
}
}
fclose(handle);
write:
format(string, sizeof string, "%s=%s\r\n", tag, value);
strcat(buffer, string);
handle = fopen(file, io_write);
fwrite(handle, buffer);
fclose(handle);
return 1;
}
stock file_get(file[], tag[]) {
static string[0xff];
string[0] = EOS;
if(!fexist(file) || !strlen(tag))
return string;
static
File:handle,
line[0xff], i;
handle = fopen(file, io_read);
while(fread(handle, line)) {
if((i = strfind(line, "=", false)) != -1) {
line[i] = EOS;
if(!strcmp(tag, line, false)) {
format(string, sizeof string, line[++i]);
break;
}
}
}
return string;
}
Download:
http://pastebin.com/WquqkYeC
Crйditos:
- zPain: Desenvolvimento do script
- ipsBruno: Pequeno esclarecimento