Dobra. Mam bibliotekę allegro (Wersję 5.2 jakby co choć myślę że to nie ma większego znaczenia w kwestii konfiguracji środowiska (każda instaluje się raczej tak samo)) i mam zamiar dołączyć ją do IDE TP.7. Nigdy tego nie robiłem więc poszperałem na oficjalnej stronie wraz z dokumentacją na SourceForge. Nigdzie nie ma instrukcji instalacji biblioteki (które pliki odnieść do jak wyglądających ścieżek i w której zakładce (próbowałem wielu kombinacji)). Do projektu wkleiłem przykładowy kod źródłowy inicjujący tą bibliotekę oraz wskazałem ścieżki do niej z tym że nie jestem pewien jak wyglądać ma ścieżka i do którego pola konkretnie ma ona zostać przypisana. Zakładam że UNITS skoro w kodzie wywoływana jest za pomocą funkcji USES która wiadomo do czego służy. Mam tam (w kodzie) dwie biblioteki (allegro5 oraz allegro5.2font) więc te pliki wrzuciłem do folderu UNITS (W folderze z TP.7) a w zakładce UNITS podałem dokładne ścieżki zakończone pełnymi nazwami plików zakończone odpowiednimi skrótami formatów ów plików. Pomyślnie udawało mi się dołączyć bibliotekę za pomocą C++ CodeBlocks ale na TP.7 już nie jest tak kolorowo. Z samego TP.7 potrafię korzystać przykładowo konfigurować środowisko czy wywoływać tryby graficzne za pomocą wstawek assemblerowych ale przy próbie dołączenia Allegro poległem. Jeśli coś pomyliłem w powyższym tekście albo pominąłem, z góry przepraszam. Jestem zmęczony po całym dniu użerania się z tym. Poniżej zamieszczam ten przykładowy kod. Idę spać, to mi dobrze zrobi ;D
PROGRAM HelloWorld;
(* First Allegro program. *)
USES
allegro5, al5font;
VAR
Timer: ALLEGRO_TIMERptr;
Queue: ALLEGRO_EVENT_QUEUEptr;
Event: ALLEGRO_EVENT;
Display: ALLEGRO_DISPLAYptr;
Font: ALLEGRO_FONTptr;
Redraw, EndProgram: BOOLEAN;
BEGIN
al_init;
al_install_keyboard;
Timer := al_create_timer (1 / 30);
Queue := al_create_event_queue;
Display := al_create_display (320, 200);
Font := al_create_builtin_font;
al_register_event_source (Queue, al_get_keyboard_event_source);
al_register_event_source (Queue, al_get_display_event_source (Display));
al_register_event_source (Queue, al_get_timer_event_source (Timer));
Redraw := TRUE;
EndProgram := FALSE;
al_start_timer (Timer);
REPEAT
al_wait_for_event (Queue, @Event);
IF Event.ftype = ALLEGRO_EVENT_TIMER THEN
Redraw := TRUE
ELSE IF (Event.ftype = ALLEGRO_EVENT_KEY_DOWN)
OR (Event.ftype = ALLEGRO_EVENT_DISPLAY_CLOSE)
THEN
EndProgram := TRUE;
IF Redraw AND al_is_event_queue_empty (Queue) THEN
BEGIN
al_clear_to_color (al_map_rgb (0, 0, 0));
al_draw_text (Font, al_map_rgb (255, 255, 255), 0, 0, 0, 'Hello, World!');
al_flip_display;
Redraw := FALSE
END
UNTIL EndProgram;
al_destroy_font (Font);
al_destroy_display (Display);
al_destroy_timer (Timer);
al_destroy_event_queue (Queue)
END.
Freja Draco