Makary155 Opublikowano 18 Kwietnia 2009 Udostępnij Opublikowano 18 Kwietnia 2009 Witam. Zna się ktoś na MaxWinApi? Od początku. Na pracę semestralną z upowszechniania informacji piszę organizer wykorzystując MaxWinApi. Stworzyłem pole typu datetime. W helpie dlla napisane jest aby użyć zmiennej Datetime_Hour aby odczytać godzinę. Lecz funkcja od pobierania pól z datetime nic mi nie zwraca. Kodzik: W CREATE time=API_Datetime_Create(win,20,20,150,20, DTS_TIMEFORMAT,0) API_Check_Set(1,win) W STEP cmd=API_Check_Command(1) if cmd==button { API_Datetime_GetValue(time) show_message(Datetime_Hour) } i wyskakuje znane nam wszystkim"uknown variable Datetime_Hour" Jak dam w create inicjalizację zmiennej, to zwraca bez przerwy 0. Co robię źle? Pomóżcie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
XxMichałxX Opublikowano 18 Kwietnia 2009 Udostępnij Opublikowano 18 Kwietnia 2009 hm.. ale czemu if cmd==button? e: jak chcesz pokazac godzine to uzyj po prostu current_hour ;P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 18 Kwietnia 2009 Udostępnij Opublikowano 18 Kwietnia 2009 Michaś, nie rozumiesz, on używa DLLa portującego WINAPI do GMa i w jego zaleceniu musi korzystać akurat możliwie tylko z możliwości tego MaxWinApi. Osobiscie to nie korzystałem z tego, ale albo musisz pierw zadeklarowac ta zmienna, albo jest to zmienna stanu z dlla, co za tym idzie musisz sprawdzic dokladniej w dokumentacji, bo jesli to to drugie to wystarczy gdzies (w przykladach/dokumentacji) sprawdzic jaka ma wartosc i sobie utworzyc ja, jesli zas nie, to nie mam bladego pojecia czemu nie gra. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 18 Kwietnia 2009 Udostępnij Opublikowano 18 Kwietnia 2009 ja się znam. Wydaje mi się, że Twój błąd leży w tym: API_Datetime_GetValue(time), - do niczego nie przypisujesz zwracanej godziny. spróbuj: GML org_godzina = API_Datetime_GetValue(time); show_message( org_godzina ); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 19 Kwietnia 2009 Autor Udostępnij Opublikowano 19 Kwietnia 2009 Marku, próbowałem i tak. Komunikat wtedy mi pokazał "ustawiłeś alarm na godzinę 409:409" Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 19 Kwietnia 2009 Udostępnij Opublikowano 19 Kwietnia 2009 A nie ma tam zadnej funkcji do zamiany na wlasciwy czas (cos jak GMowe: date_get_hour() czy cos w ten desen)? bo to az dziwne O.o Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 19 Kwietnia 2009 Autor Udostępnij Opublikowano 19 Kwietnia 2009 Nie ma. Jest API_Datetime_GetValue i napisane w dokumentacji, że do korzystania z tego trza użyć zmiennych Datetime_Hour, Datetime_Minute itd. Oczywiście mogę użyć 2 pola typu edit i dwa obiekty UpDown, ale to będzie wyglądać dziwnie moim zdaniem. Wolałbym użyć tego datetime. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 19 Kwietnia 2009 Udostępnij Opublikowano 19 Kwietnia 2009 Jest API_Datetime_GetValue i napisane w dokumentacji, że do korzystania z tego trza użyć zmiennych Datetime_Hour, Datetime_Minute itd ee, tak patrze na ten Twoj kod i cos mi nie gra: GML API_Datetime_GetValue(time) show_message(Datetime_Hour) a nie powinno to byc jakos w ten sposob?: GML hour=API_Datetime_GetValue(Datetime_Hour) show_message(hour) bo na logike idzie ze ma pobrac godzine poprzez zmienna stanu Datetime_Hour a skoro cos pobiera to i cos zwraca. nie wiem, dziwne to. Podeslij mi jak mozesz dokumentacje tego MaxWinApi to sprawdze dokladnie bo tak na sucho to ciezko mi cos pomoc Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 19 Kwietnia 2009 Autor Udostępnij Opublikowano 19 Kwietnia 2009 Nie mogę fonem. Jak dam tak jak radzisz to mi zwróci jakiś uchwyt(409,631,984,43). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 19 Kwietnia 2009 Udostępnij Opublikowano 19 Kwietnia 2009 Zobaczylem dokumentacje online MaxWinApi 2 i z tego co jest tam napisane wnioskuje ze musisz to zrobic tak: GML time=API_Datetime_Create(win,20,20,150,20, DTS_TIMEFORMAT,0) hours=API_DateTime_GetTimes(time,3) API_DateTime_GetTimes: (0) Control ID: The control ID returned by API_DateTime_Create. (1) Date part, one of the following: 0: Return the year. 1: Return the month 2: Return the day 3: Return the hour 4: Return the minute 5: Return the second 6: Return the miliseconds Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 19 Kwietnia 2009 Autor Udostępnij Opublikowano 19 Kwietnia 2009 Wygląda na to że mam jakąś starą wersję bo nie ma w skryptach tej funkcji. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 19 Kwietnia 2009 Udostępnij Opublikowano 19 Kwietnia 2009 bo używasz starej wersji biblioteki. Poszukaj MaxWinApi 2 http://www.hobbl.com/gmdlls/maxwinapi2/ :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 19 Kwietnia 2009 Autor Udostępnij Opublikowano 19 Kwietnia 2009 Dzięki za link. Problem rozwiązałem sam. Okazało się że winą był niedopracowany gex. Kiedy korzystam ze skryptów a nie z gexa to wszystko śmiga jak głupie. 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ę