pabluuz Opublikowano 24 Lipca 2009 Udostępnij Opublikowano 24 Lipca 2009 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hanjuso Opublikowano 24 Lipca 2009 Udostępnij Opublikowano 24 Lipca 2009 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() Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pabluuz Opublikowano 24 Lipca 2009 Autor Udostępnij Opublikowano 24 Lipca 2009 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 25 Lipca 2009 Udostępnij Opublikowano 25 Lipca 2009 Poczytaj kurs gml dla początkujących, jest tam punkt o tablicach Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 25 Lipca 2009 Udostępnij Opublikowano 25 Lipca 2009 Weź Makary nie gadaj głupot, tablice w GM to jakieś abstrakcyjne są... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 25 Lipca 2009 Udostępnij Opublikowano 25 Lipca 2009 Może i abstrakcyjne, ale jakie użyteczne(i frustracji dostarczające) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 25 Lipca 2009 Udostępnij Opublikowano 25 Lipca 2009 Tak, w przypadku GM tablice są bardzo pożyteczne ;d Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 25 Lipca 2009 Administratorzy Udostępnij Opublikowano 25 Lipca 2009 Jak się umie je dobrze obsłużyć, to i owszem :) Szybciej na pewno jest tak, niż pisać ds_list_add ... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pabluuz Opublikowano 25 Lipca 2009 Autor Udostępnij Opublikowano 25 Lipca 2009 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 :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TeoTN Opublikowano 26 Lipca 2009 Udostępnij Opublikowano 26 Lipca 2009 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. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę