Patzick Temat założony przez niniejszego użytkownika |
[Allegro] problem z time.h » 2008-09-16 19:28:33 próbowałem w allegro wyświetlić aktualną datę, poszperałem trochę i wyszło coś takiego #include <allegro.h> #include <time.h>
time_t * currTime; struct tm * t;
currTime * = time( NULL ); t = localtime( & currTime );
potem użyłem do wyświetlenia textprintf_ex( bufor, font, 250, 20, makecol( 255, 255, 255 ), - 1, "Dzis jest %d dzien miesiaca", tm->tm_mday );
okazało się, że coś nie tak z tą linijką którą zaznaczyłem, oraz z wyświetleniem. Załączam log kompilacji, i dzięki za sugestie :) Kompilator: Default compiler Building Makefile: "C:\Documents and Settings\Patzick\Pulpit\Ściągane\C++\Prog Wroc\gra\gra\Makefile.win" Wykonywanie make... make.exe -f "C:\Documents and Settings\Patzick\Pulpit\Ściągane\C++\Prog Wroc\gra\gra\Makefile.win" all g++.exe -c main.cpp -o main.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" -DALLEGRO_STATICLINK
main.cpp:23: error: expected constructor, destructor, or type conversion before '=' token main.cpp:23: error: expected `,' or `;' before '=' token main.cpp:24: error: expected constructor, destructor, or type conversion before '=' token
main.cpp:24: error: expected `,' or `;' before '=' token
main.cpp: In function `void ObslugaMenu()': main.cpp:305: error: expected primary-expression before '->' token
make.exe: *** [main.o] Error 1
Wykonanie zakończone |
|
DejaVu |
» 2008-09-16 19:53:40 Linijka powinna wyglądać tak: time_t currTime; currTime = time( NULL ); |
|
Patzick Temat założony przez niniejszego użytkownika |
» 2008-09-16 20:37:24 Nie wiem czy dobrze zrozumiałem- wystarczy zamienić miejscami currTime = time(NULL); z struct tm* t; ? Zrobiłem tak, lecz dalej to samo. W kompilatorze dalej jest expected constructor, destructor, or type conversion before '=' token
w linijce
currTime = time(NULL); |
|
DejaVu |
» 2008-09-16 21:09:08 Dostajesz tą samą odpowiedź po raz drugi... #include <time.h> int main() { time_t currTime = time( NULL ); return 0; }
|
|
Patzick Temat założony przez niniejszego użytkownika |
» 2008-09-16 23:31:56 niestety nie daje takiego efektu jaki bym chciał :( wyświetla mi jakieś cyfry ( z tego co wyczytałem to ilość godzin od 1970 roku), ja chciałbym jednak, żeby wyświetlało mi dzień, miesiąc i rok. Czy da się to rozgraniczyć jakoś? |
|
DejaVu |
» 2008-09-17 00:12:06 #include <stdio.h> #include <time.h> int main() { time_t czas = time( NULL ); struct tm * odczytCzasu = localtime( & czas ); printf( "Obecny czas to: %s", asctime( odczytCzasu ) ); return 0; } Jeśli chcesz po polsku, musisz sobie odczytać poszczególne pola, które Ciebie interesują ze zmiennej odczytCzasu. /edit: Pola struktury tm masz opisane tutaj: http://ddt.pl/kursy/?LessonId=109 |
|
Patzick Temat założony przez niniejszego użytkownika |
» 2008-09-17 16:12:26 Niestety dalej pokazuje 7-cyfrową liczbę 4063184 kod wygląda tak void ObslugaMenu() { time_t czas = time( NULL ); struct tm * odczytCzasu = localtime( & czas ); do { clear_to_color( bufor, makecol( 0, 0, 0 ) ); if( key[ KEY_S ] ) ObslugaGry(); blit( tlo_menu, bufor, 0, 0, 0, 0, 660, 480 ); textprintf_ex( bufor, font, 250, 250, makecol( 255, 255, 255 ), - 1, "Graj (klawisz S)" ); textprintf_ex( bufor, font, 250, 270, makecol( 255, 255, 255 ), - 1, "Wyjdz (klawisz Q)" ); textprintf_ex( bufor, font, 250, 20, makecol( 255, 255, 255 ), - 1, "Dzis jest %d r.", asctime( odczytCzasu ) ); blit( bufor, screen, 0, 0, 0, 0, 660, 480 ); } while( !( key[ KEY_Q ] || close_button_pressed ) ); };
Jeżeli możesz napisz mi przykład podający dzień, miesiąc i rok, byłbym wdzięczny :) pozdrawiam |
|
DejaVu |
» 2008-09-17 17:18:10 W moim przykładzie jest %s a nie %d. |
|
« 1 » 2 |