Skocz do zawartości
pabluuz

zapisanie stringa w list

Rekomendowane odpowiedzi

Na początku chciałem was wszystkich powitać, nie odwiedzałem forum już od dłuższego czasu, związane to było ze studiami, pracą itp.

 

Zwracam się do was z pewnym problemem, z którym nie potrafię sobie poradzić, mam nadzieje, że ktoś z forum będzie znał rozwiązanie tego problemu (bo każdy problem ma swoje rozwiązanie)

 

Sprawa wygląda tak-

Z tego co doczytałem w manualu (game maker7 pro), odpowiednikiem c++-owej tablicy jest game-makerowy "list". Bardzo mnie to ucieszyło, że język GML też posiada takową strukturę i chciałbym ją wykorzystać w moim programie.

Potrzebuję zapisać kilka stringów i intów do takowego lista. Problem wygląda tak, że przy zapisaniu tego lista jako string (w celu zapisania do pliku.txt, funkcja ds_list_write(id)) , następnie odczytaniu tego pliku z powrotem do programu i przekonwertowaniu tego stringa z powrotem na lista GML zaczyna się gubić i odczytywać wszystkie wartości zawarte w liscie jako wartości liczbowe (a przypomnę, że są tam zapisane stringi i wartości liczbowe).

Rozwiązanie, które przychodzi mi na myśl jako pierwsze, to przekonwertowanie takowego stringa przed wrzuceniem go do lista na jakąś wartość liczbową, lecz nie potrafię takiej konwersji dokonać.

 

Czy ktoś z was może posiada takie umiejętności, lub umie rozwiązać ten problem w inny sposób?

 

~pabluuz

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
c++-owej tablicy jest game-makerowy "list"
W GM tez sa tablice takie jak w c++

Nie wiem dokladnie jak dziala ds_list write i read, ale przekonwertowac liczbe na string i odwrotnie mozna poprzez

GML
string()

// i

real()

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
W GM tez sa tablice takie jak w c++

Nie wiem dokladnie jak dziala ds_list write i read, ale przekonwertowac liczbe na string i odwrotnie mozna poprzez

GML
string()

// i

real()

 

 

Dzięki bardzo za pomoc, ale czy wpisując real(jakis_sting); otrzymam zakodowanego stringa? :P sęk w tym, że string jest słowem w tym przypadku.

Mógłbym cię jeszcze poprosić o przybliżenie mi zasady działania tych tablic? Lub chociaż różnice między tablicami w GML a tablicami w Cpp ?

 

 

Jeszcze raz dzięki za pomoc!

~pabluuz

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Poczytaj kurs gml dla początkujących, jest tam punkt o tablicach

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Weź Makary nie gadaj głupot, tablice w GM to jakieś abstrakcyjne są...

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Może i abstrakcyjne, ale jakie użyteczne(i frustracji dostarczające)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Tak, w przypadku GM tablice są bardzo pożyteczne ;d

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jak się umie je dobrze obsłużyć, to i owszem :) Szybciej na pewno jest tak, niż pisać ds_list_add ...

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

W GML można używać tablic jedno i dwuwymiarowych.

 

Może troszkę inaczej, bo zamotałem sprawę. Pracuje nad programem, który posłuży do zapamiętywania haseł. Wpis z hasłem będzie składał się z strony lub programu, username, passworda, oraz liczby porzadkowej (priorytet, niektórych używa się częściej, innych rzadziej). Nie za bardzo wiem, jak przygotować odpowiednią strukturę danych, dlatego na początku pomyślałem, że użyje właśnie ds_list jak najbardziej ułatwi mi pracę, ponieważ program przy uruchomieniu mógłby wpisów szukać w folderze data/accounts/, a następnie wczytując stringa zawartego w tych pliku do listy, a następnie tworzyć kolejne listy. Gdy miałbym już to wszystko w pamięci, mógłbym odszukać w tych listach następnie np nazwe serwisu do którego jest odpowiednie hasło i wyświetlić ją sobie :) kombinowałem też aby robić instancje obiektu "wpis" i zapisywać jako jego zmienne lokalne poszczególne wartości odpowiedniego wpisu (username,passord), ale problemem jest to, że wyczytałem w helpie, że instancja zmienia co stepa swoje ID, co będzie stanowiło do mnie pewne wyzwanie, nie wiem czy to sie dobrze skoordynuje, a pozatym nie wiem jak odwołać się do poszczególnej zmiennej w poszczególnej instancji obiektu, bo np aby odwołać się do zmiennej user w obiekcie wpis, piszę wpis.user , a jeśli obiekt user ma kilka instancji, to jak odwołać się np do instancji nr 214656 ?

 

Dzięki wielkie wam wszystkim za pomoc :)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Może spróbuj za pomocą takiej wersji explode() i implode() jaką ja ostatnio opublikowałem (przycisk szukaj :P) i połącz ją z odczytem z pliku, zaś szyfrowanie rób XORem?

Będziesz mógł łatwo i szybko przenosić dane z pliku do ds_lista (masz praktycznie gotowy skrypt), a potem tylko w pętli robisz porównywanie czy dana pozycja ds_list zgadza się wpisem użytkownika.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

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

Tylko 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ę tutaj.

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×