Skocz do zawartości

tekstowanie


1pietras

Rekomendowane odpowiedzi

nie potrafie odczytac x i y z pliku

(plik do odczytu:)

Account=1pietras Password=1tajne3 Name=Pietras polozenie_x= 240,0000 polozenie_y= 288,0000

 

do zapisywania napisałem:

Account='1pietras'

Value='1tajne3'

Name='Pietras'

file_open_write(Account+".txt");

file_write_string('Account=')

file_write_string(Account);

file_write_string(' ')

file_write_string('Password=')

file_write_string(Value)

file_write_string(' ')

file_write_string('Name=')

file_write_string(Name)

file_write_string(' ')

file_write_string('polozenie_x=')

file_write_real(x)

file_write_string(' ')

file_write_string('polozenie_y=')

file_write_real(y)

file_close();

 

a do odczytania:

file_open_read("1Pietras.txt")

file_read_string(Account)

file_read_string(Value)

file_read_real(x)

player.x=x

player.y=y

file_close()

 

co zrobilem źle??

Odnośnik do komentarza
Udostępnij na innych stronach

Co robię źle? Otóż:

 

1)

 

file_read_string(Account)

 

próbuję odczytać string z pierwszej linii pliku tekstowego o indeksie przechowywanym w zmiennej Account, ponieważ zmienna Account przechowuje string: "1pietras", który nie jest indeksem otwartego pliku, zwracanego prze funkcję "file_open_read('1Pietras.txt')" występuje błąd.

 

2) to samo z

file_read_string(Value)

file_read_real(x)

 

Funkcja file_read_string lub file_read_real oczekuje argumentu, którym jest ów indeks otwartego pliku, co pozwoli odczytać string lub liczbę z aktualnej linijki pliku.

 

Aby właściwie odczytać ten string zrób coś takiego:

 

var f;
f = file_open_read('1Pietras.txt');
<tu daj zmienna, do której chcesz wczytać string> = file_read_string(f);
file_text_close(f);
//zmienna f, przechowuje indeks otwartego pliku

 

efektem wczytania stringa będzie dokładnie string: "Account=<nazwa konta> passwrd=<hasło> ... itd"- tylko jak wyłuskać z tego dane o koncie oraz pozstałe z tego stringa ? Można to zrobić, ale byłoby to nieco kłopotliwe.

 

3)

 

file_close()

 

Zamykasz otwarty plik o indeksie równym nic?

 

Poza tym uważam że cały sposób zapisu i odczytu danych jest kompletnie nie przemyślany. Wątpę nawet czy rozumiesz jak działają te funkcje, jakich argumentów oczekują i jakie wartości zwracają.

---------------------------------------------

 

Co można na to poradzić?

 

1) Albo skorzystaj z rady kolegi powyżej (najlepiej - przynajmniej narazie)

2) Albo zrób coś takiego:

 

Zapis:

 

var f;
f = file_tetxt_open_write(Account+".txt");

//pierwsza linijka to konto
file_text_write_string(f,Account);

file_text_writeln(f) // zamiast pisać spacje: "file_write_string(' ')" przechodzimy do kolejnej linijki pliku tekstowego.

//druga linijka to haslo
file_write_string(f,Value)

file_text_writeln(f); //przejscie do nastepnej linijki

//Itd...

file_close(f);

 

Odczyt:

 

var f;
f = file_open_read("1Pietras.txt");

file_text_read_string(f); //wczytaj konto
file_text_readln(f);// przeskocz do nastepnej linijki
file_text_read_string(f)//wczytaj hasło

//itd...

 

Tak czy siak wszystkie metody obsługi plików w GM są do bani, poczekajcie aż ukończę mój dodatek, który pozwoli manipulować plikami i danymi w nich, tak łatwo jak na strukturach danych w GM.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...