Skocz do zawartości

Zablokowane Operacje na plikach tekstowych


Rekomendowane odpowiedzi

Właśnie realizowałem to na plikach ini . Jak pewnie wiecie (lub nie) prowadze managera biathlonu i na forum mam zawodników właśnie w postaci "Tomasz SIKORA (82/71/74/86)" a w pliku ini wpisywałem ich tak np.

zawodnik=Tomasz SIKORA

szybkość=82

itp.

i zajmowało mi to wiele czasu, więc chciałbym skrócić ten czas.

Odnośnik do komentarza
Udostępnij na innych stronach

Powiedzmy, że wpisałeś wszystko do zmiennej "tekst".

GML
a=0

do

{

Imie[a]=string_copy(tekst,0,string_pos(" ")+1)

tekst=string_replace(tekst,Imie,"")

nazwisko[a]=string_copy(tekst,0,string_pos(" ")+1)

tekst=string_replace(tekst,nazwisko,"")

tekst=string_replace(tekst,"(","")

a1[a]=string_copy(tekst,0,string_pos("/")+1)

tekst=string_replace(tekst,a1,"")

//i tak ze wszystkimi, oprócz ostatniego

a4[a]=string_copy(tekst,0,string_pos(")")+1)

tekst=string_replace(tekst,a1,"")

//i na koniec "czyścisz zmienne z śmieci:"/","(" itd.

a+=1

}

while tekst=""

Odnośnik do komentarza
Udostępnij na innych stronach

Napisałem to w ten sposób i ani rusz nie chce działać :(

Niby wszystko jest ok , ale w poszczególnych zmiennych nie ma tego co miało być tzn. program nie wykonuje żadnych operacji . Program wyświetla błędy:

"Error in function real()." oraz "File is not opened for reading." A jak dla sprawdzenia dałem w draw żeby została wyświetlona zmienna imie[1] to się okazało, że jest w niej imie oraz pierwsza litera nazwiska. Nie wiem co jest źle, proszę o pomoc.

 

GML
for (i=1; tekst!=""; i+=1)

{

imie=string_copy(tekst,0,string_pos(" ",tekst)+1);

tekst=string_replace(tekst,imie,"");

nazwisko=string_copy(tekst,0,string_pos(" ",tekst)+1);

tekst=string_replace(tekst,nazwisko,"");

tekst=string_replace(tekst,"(","");

szybkosc=string_copy(tekst,0,string_pos("/",tekst)+1);

tekst=string_replace(tekst,szybkosc,"");

tekst=string_replace(tekst,"/","");

wytrzymalosc=string_copy(tekst,0,string_pos("/",tekst)+1);

tekst=string_replace(tekst,wytrzymalosc,"");

tekst=string_replace(tekst,"/","");

sila=string_copy(tekst,0,string_pos("/",tekst)+1);

tekst=string_replace(tekst,sila,"");

tekst=string_replace(tekst,"/","");

strzelanie=string_copy(tekst,0,string_pos(")",tekst)+1);

tekst=string_replace(tekst,strzelanie,"");

tekst=string_replace(tekst,")","");

zawodnicy=i;

}

 

for (i=1; i<=zawodnicy; i+=1)

{

szybkosc=real(szybkosc);

wytrzymalosc=real(wytrzymalosc);

sila=real(sila);

strzelanie=real(strzelanie);

}

Odnośnik do komentarza
Udostępnij na innych stronach

Ty usuwasz z zmiennej tekst, co powoduje, że w całym nie ma "/" i wtedy zmienne będą równe:"". usuń te linijki:

GML
tekst=string_replace(tekst,"/","");

i na końcu (ale przed pętlą) dodaj:

GML
sila=string_replace(sila,"/","");

//itd.</span>

Odnośnik do komentarza
Udostępnij na innych stronach

dzięki wielkie :thumbsup:

 

mam teraz tak:

GML
for (i=1; tekst!=""; i+=1)

{

imie=string_copy(tekst,0,string_pos(" ",tekst));

tekst=string_replace(tekst,imie,"");

nazwisko=string_copy(tekst,0,string_pos(" ",tekst));

tekst=string_replace(tekst,nazwisko,"");

tekst=string_replace(tekst,"(","");

szybkosc=string_copy(tekst,0,string_pos("/",tekst));

szybkosc=string_replace(szybkosc,"/","");

tekst=string_replace(tekst,szybkosc,"");

tekst=string_replace(tekst,"/","");

wytrzymalosc=string_copy(tekst,0,string_pos("/",tekst));

wytrzymalosc=string_replace(wytrzymalosc,"/","");

tekst=string_replace(tekst,wytrzymalosc,"");

tekst=string_replace(tekst,"/","");

sila=string_copy(tekst,0,string_pos("/",tekst));

sila=string_replace(sila,"/","");

tekst=string_replace(tekst,sila,"");

tekst=string_replace(tekst,"/","");

strzelanie=string_copy(tekst,0,string_pos(")",tekst));

strzelanie=string_replace(strzelanie,")","");

tekst=string_replace(tekst,strzelanie,"");

tekst=string_replace(tekst,")","");

zawodnicy=i;

}

 

i właśnie jak wywale to co napisałeś to nie działa. Teraz działa wszystko, ale tylko wtedy jeśli wszystkich zawodników dam w jednej linijce, bo jak już oddziele enterami to wczytuje się tylko pierwszy. może jescze na to jest jakieś rozwiązanie? :rolleyes:

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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