Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:miw:miw08_prolog_ardxpce [2008/10/05 09:56] miw |
pl:miw:miw08_prolog_ardxpce [2019/06/27 15:50] (aktualna) |
send_list([B1, B2], recogniser, new(move_gesture)), | send_list([B1, B2], recogniser, new(move_gesture)), |
send(B1, connect, B2, @in_out_link). | send(B1, connect, B2, @in_out_link). |
| |
| |
| |
| |
| |
| |
| |
| |
| |
Przygotowany plik (na podstawie grafu ard dla termistatu): {{:pl:miw:projekt.pl|projekt.pl}} wprowadzam do SWI-Prolog komendą: "[swi('demo/projekt')].", następnie wpisuję komendę: "projekt.". Wynikiem jest przykładowy graf. Jedynym pomysłem na tworzenie diagramów ARD w XPCE, jest ręczne przygotowanie pliku *.pl, który po załadowaniu wyświetli zawarte w nim informacje. Uproszczeniem procesu tworzenia pliku była by prosty edytor. Aby móc przygotować potrzebny plik musimy widzieć jak tworzyć odpowiednie figury, jak je ze sobą łączyć, w jaki sposób możemy mieć na nie wpływ. | Przygotowany plik (na podstawie grafu ard dla termistatu): {{:pl:miw:projekt.pl|projekt.pl}} wprowadzam do SWI-Prolog komendą: "[swi('demo/projekt')].", następnie wpisuję komendę: "projekt.". Wynikiem jest przykładowy graf. Jedynym pomysłem na tworzenie diagramów ARD w XPCE, jest ręczne przygotowanie pliku *.pl, który po załadowaniu wyświetli zawarte w nim informacje. Uproszczeniem procesu tworzenia pliku była by prosty edytor. Aby móc przygotować potrzebny plik musimy widzieć jak tworzyć odpowiednie figury, jak je ze sobą łączyć, w jaki sposób możemy mieć na nie wpływ. |
| |
Wynikiem jest następujący graf: | Wynikiem moich prób jest następujący graf, składający się z prostokątów połączonych odpowiedni strzałkami (jak w wstępie przykład dla termostatu), użytkownik ma możliwość przesuwania obiektów wciskając i przytrzymując lewy przycisk myszy.: |
| |
{{:pl:miw:obraz2.png|:pl:miw:obraz2.png}} | {{:pl:miw:obraz2.png|:pl:miw:obraz2.png}} |
send(B5, connect, B7, @in_out_link), | send(B5, connect, B7, @in_out_link), |
send(B6, connect, B7, @in_out_link). | send(B6, connect, B7, @in_out_link). |
| |
| Istnieje również możliwość tworzenia podpisanych obiektów. Można to osiągnąć poprzez podpisanie każdego z nich lub stworzenie tak zwanego "text boxa". Drugie wyjście otrzymujemy w przykładowy sposób: |
| |
| text_box(TB, Text, Width, Height) :- |
| new(TB, device), |
| send(TB, display, |
| new(B, box(Width, Height))), |
| send(TB, display, |
| new(T, text(Text, center, normal))), |
| send(T, center, B?center). |
| |
| Niestety nie udało mi się zintegrować tego typu obiektu z przykładowym grafem. Wadą takiego obiektu jest słaba odporność na zmiany wielkość obiektu oraz aby ja modyfikować należy dość dobrze znać się na strukturze obiektu. |
| |
| Przesuwanie obiektu możemy osiągnąć poprzez przykładową komend: |
| |
| send(B1,x,100), send(B1,y,120). |
| |
| Integrację z użytkownikiem możemy osiągnąć poprzez predykat: |
| |
| send(B1, recogniser, |
| click_gesture(left, '', double, |
| message(@pce, write_ln, hello))). |
| |
| Którego rezultatem jest po dwukrotnym kliknięciu kółka w linii komend pojawi się napis: "hello" tak jak na poniższych obrazkach: |
| |
| przed: |
| |
| {{:pl:miw:obraz3.png|:pl:miw:obraz3.png}} |
| |
| po: |
| |
| {{:pl:miw:obraz4.png|:pl:miw:obraz4.png}} |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
==== 6. Wnioski: ==== | ==== 6. Wnioski: ==== |
| |
Pierwsze podejście do stworzenia przykładowego grafu podjąłem w systemie Ubuntu 8.04. Po zainstalowaniu z internetu odpowiednich paczek aplikacja nie odpalała się. Mimo prób uzyskania możliwości pracy z prologiem i XPCE pod Linuxem nie otrzymałem żadnych pozytywnych wyników. | Pierwsze podejście do stworzenia przykładowego grafu podjąłem w systemie Ubuntu 8.04. Po zainstalowaniu z internetu odpowiednich paczek aplikacja nie odpalała się. Mimo prób uzyskania możliwości pracy z prologiem i XPCE pod Linuxem nie otrzymałem żadnych pozytywnych wyników, a brak lepszej znajomości z systemem nie pozwalał mi na rozwiązanie problemu. |
Drugie podejście podjąłem w bardziej znanym mi środowisku jakim jest Windows XP. Aplikacja działa poprawnie. | Drugie podejście podjąłem w bardziej znanym mi środowisku jakim jest Windows XP. Aplikacja działa poprawnie. |
XPCE nie jest tak proste i przyjazne w użytkowaniu jak może się wydawać na pierwszy rzut oka. Trzeba spędzić dużo czasu zanim się nauczy w nim programować. Jest ono ściśle związane z językiem Prolog. | XPCE nie jest tak proste i przyjazne w użytkowaniu jak może się wydawać na pierwszy rzut oka. Trzeba spędzić dużo czasu zanim się nauczy w nim programować. Jest ono ściśle związane z językiem Prolog, ma duże możliwości lecz stworzenie GUI jest pracochłonne, przy założeniu, że nie zna się jeszcze XPCE. |
| |
| |