PDAclub.pl - Forum użytkowników technologii mobilnych
Windows Mobile (Classic, Professional, Standard), Windows Phone 6.x oraz 7/8.x/10 => Oprogramowanie PPC => Dla programistów => Wątek zaczęty przez: carmaris w Lipiec 11, 2009, 13:13:45
-
Jako, iż jest to mój pierwszy post na forum witam :)
Zauważyłem, że na forum jest grupa osób używająca MortScripta. Głównie do nich kieruję posta.
W ramach nauki C# napisałem prosty edytor tekstu, dodałem do niego także funkcję podświetlania składni MortScripta. Obecna wersja obsługuje podstawowe funkcje dowolnego edytora tekstu (np. Notatnika) + owo podświetlanie. Program działa w miarę stabilnie, mogą pojawić się małe błędy. Do działania program wymaga .Net Framework 3.5.
Screenshot:
(http://keb.sytes.net/~carmaris/pliki/MortEdit/screen.jpg)
Strona projektu: MortEdit (http://mortedit.codeplex.com)
O znalezionych błędach możecie informować mnie na bieżąco w tym temacie ;) Nie znalazłem odpowiedniego działu, więc umieściłem temat tutaj. Jeżeli się pomyliłem - proszę o przeniesienie tematu do odpowiedniego działu.
-
Tak sobie myślę, że pierwszą rzeczą jaką mógłbyś dodać mogłoby być odpalnie skryptu na PDA. To w sumie nawet nie jest specjalnie trudne z tego co pamiętam.
-
Właściwie nie bardzo wiem jak się do tego zabrać... Ale dopiszę odpalanie skryptu w "desktopowym" interpreterze MortScripta.
-
Tylko, że odpalanie na PDA to właśnie byłoby najbardziej wartościową cechą edytorka. :-)
Tak na pierwszy rzut oka to należy:
a) dodać klasę projektu ( projekt zawierałby info o powiązanych ze sobą skryptach do kopiowania na PDA )
b) zainstalować mobile sdk - tam są funkcje do kopiowania plików na zdalną maszynę i i uruchamiania na niej programów.
Nie wiem jak jest w c# z funkcjami do obsługi b) ale skoro jest to istotna część ich mobilnego SDK dla C to i do c# to musieli dodać. Zawsze można mały kod skrobnąć w C++ albo C i go opakować w C# potem.
-
Byłoby... ;P Jestem początkujący w C#. Z klasą projektu byłoby dość ciężko, o kopiowaniu na urządzenie i uruchamianiu nie wspominając. :/
-
Tylko, że odpalanie na PDA to właśnie byłoby najbardziej wartościową cechą edytorka. :-)
CE Scripting? chyba zamiennik nam niepotrzebny :wink:
-
Ten CE scrpiting wygląda na młody program. Testowałeś jego stabilność?
Osobiście nie widzę przyczyny by ktoś inny tworzył coś podobnego. Wtedy zwykle dwa projekty rozwijają się szybciej :P.
camaris: Prawdę mówiąc nie sądzę by te dodatki były takie trudne do napisania.
-
Ten CE scrpiting wygląda na młody program. Testowałeś jego stabilność?
Nawet bardzo młody :)
Tym można odblokować każdą nawigację, każdą która łączy z ASynciem.
-
Właśnie go odpaliłem, wybrałem w menu skrypt PHP, wpisałem jakieś proste bzdury i ... zdechł w bólach ( unhandled exception ) :P
Ale fakt daje możliwość odpalania aplikacji zdalnie na PDA. Tylko koncepcji projektu w nim nie widzę jakoś. Nie wiem czy znasz taki dość już stary programik - BVRDE. Pozwala on pisać aplikacje pod linucha na windach Kiedyś go używałem i muszę przyznać, że mimo kilku niedoróbek to fajna rzecz jest.
PS Jednego nie rozumiem czy ten programik ma wbudowany interpreter PHP i odpala te skrypty lokalnie na PC?
-
Nie słyszałem o CE Scripting, nie chcę robić konkurencji ;P Po prostu piszę sobie programik powolutku dla nauki :)
Znalazłem poważny błąd w funkcji zapisującej plik, poprawiłem go, dlatego proszę o pobranie nowszej wersji (jeśli ktoś korzysta xD).
-
Pisanie programów i pokrewna aktywność jest jedną wielką niekończącą się nauką :P
Co to był za błąd? Procedura formatowania twardziela przed zapisem pliku? :mysli:
-
PS Jednego nie rozumiem czy ten programik ma wbudowany interpreter PHP i odpala te skrypty lokalnie na PC?
coś w tym stylu.
-
Jakoś autor ukrył tą koncepcję przed użytkownikami. :P Ciekawe jaki zakres funkcji php ten interpreter obsługuje ...
-
cały manual masz w .pdf w katalogu programu.
-
Masz na myśłi CES_manual.pdf. Zauważyłem go jak najbardziej. Tylko mi się wydaję, że to tylko są rozszerzenia do php do obsługi połączenia z PPC. Całkiem możliwe, że napisane przez autora. Natomiast sam PHP ma dużą liczbę innych funkcji z czego spora część to właściwie rdzeń języka i bez nich nic nie napiszesz większego. Dodatkowe pytanie jaką wersję obsługuje interpreter - 4 czy 5.
-
Błąd był dość głupi z mojej strony - zamiast RichTextBox.Text zapisywał do pliku RichTextBox (całość kontrolki)... Wiem, głupota. :/
-
Pomysł z edytorem jest b.dobry, gratuluję.
Jeśli szukasz dalszych pomysłów to może kompilator skryptów w mortskrypcie, tak żeby produkował program exe, ale chyba jakaś biblioteka runtime byłaby potrzebna, nie znam się na tym
-
Rzecz w tym, że ja też się nie znam. Póki co próbuję napisać klasę obsługującą skrypt i dodać wykonywanie skryptu na komputerze.
-
Kompilator do mortscript-a? Kto w tym języku będzie rzeźbił prawdziwe aplikację żeby go kompilować? Nie to było intencją autora. Przecież można użyć mobilnej wersji pythona. Jest odrobinę przestarzała ale python jako język programowania jest autentycznie potężny. Dodatkowo może prekompilować skrypty. Nie jest to kod maszynowy ale taki zabieg eliminuje przetwarzanie związane z analizą składniową.
-
Kompilator do mortscript-a? Kto w tym języku będzie rzeźbił prawdziwe aplikację żeby go kompilować? Nie to było intencją autora. Przecież można użyć mobilnej wersji pythona. Jest odrobinę przestarzała ale python jako język programowania jest autentycznie potężny. Dodatkowo może prekompilować skrypty. Nie jest to kod maszynowy ale taki zabieg eliminuje przetwarzanie związane z analizą składniową.
A co to jest prawdziwa aplikacja? mozna prosic o przykład?
-
Pomysł z edytorem jest b.dobry, gratuluję.
Jeśli szukasz dalszych pomysłów to może kompilator skryptów w mortskrypcie, tak żeby produkował program exe, ale chyba jakaś biblioteka runtime byłaby potrzebna, nie znam się na tym
Mortrunner? Szukasz obejścia nie tą drogą.
-
Kompilator do mortscript-a? Kto w tym języku będzie rzeźbił prawdziwe aplikację żeby go kompilować? Nie to było intencją autora....
A co to jest prawdziwa aplikacja? mozna prosic o przykład?
Chociażby ten kompilator do mortscript-u który chciałbyś mieć. :P Spróbuj napisać choćby kompilator prostych wyrażeń arytmetycznych w mortscripcie. A nawet już odpuszczę proces generowania kodu. Niech ewaluacja się odbywa na podstawie drzewa składni...
-
Zastanawiam się jaki jest sens pisania klasy projektu, skoro jak sam mówisz w MortScripcie nie są pisane żadne zaawansowane programy... Rozumiem, że chodzi Ci o funkcje typu CallScript, ale podejrzewam, że jeśli ktoś chce wywołać skrypt to ów skrypt powinien być gotowy. Ewentualnie możnaby sprawić by podczas kopiowania program kopiował wszystkie skrypty z danego folderu lub coś w tym rodzaju.
Uruchamianie skryptu na PDA widzę mniej więcej tak:
1. Połączenie programu z PDA poprzez ActiveSync (WMDC)
2. Skopiowanie skryptu (skryptów?) do tymczasowego folderu w pamięci urządzenia lub folderu wybranego przez użytkownika
3. Wywołanie skryptu na urządzeniu
4. Usunięcie tymczasowego katalogu (jeśli był używany)
5. Zakończenie połączenia
Co o tym sądzisz?
-
Nie chodzi o rozmiar projektu tylko o mudułowość. Nie pamiętam czy MS pozwala na włączanie plików ale przynajmniej pozwala na odpalanie skryptów i programów. Może to oznaczać za masz coś takiego w swoich zbiorach skryptów na PC
katalog lib1\ - skrypty s1,s2
katalog myapp\ skrypt app odpalający\wykorzystujący s1,s2
Można by w projekcie zdefiniować gdzie te skrypty s1,s2 app mają się instalować ( w szczególnym przypadku do domyślnego katalogu ). Po drugie nawiązując do Twoich punktów można wprowadzić dwa rodzaje projektów - jeden dla permanentnych instalacji ( kopiowanie skryptów być może z nadpisywaniem starych wersji ) a drugi do tymczasowych instalacji( z usuwaniem skryptów po odpaleniu programu na PPC lub lepiej po zakończeniu sesji z edytorem).
-
Wydałem kolejną wersję programu, wprowadziłem kilka poprawek i funkcję uruchamiania skryptu na PC. Nadal nie wiem jak wykonywać je w PDA - próbowałem z biblioteką OpenNETCF.Desktop.Communication.dll, ale program nie mógł skopiować pliku do urządzenia (foldery tworzył bez problemu, ale usuwać też nie chciał...). Jest na to jakaś rada? Czy może spróbować w inny sposób?
-
Sorry, że się wcinam, ale nieśmiało podrzucę linka :ohreally:
http://ces.mdsoft.pl/ (http://ces.mdsoft.pl/)
screeny i dyskusja podczas tworzenia:
http://forum.mobione.pl/index.php/topic,9790.0.html (http://forum.mobione.pl/index.php/topic,9790.0.html)
-
Gdzieś wyżej już zaznaczyłem, że znam CESa. ME piszę tylko w ramach nauki ;)
-
a, jak tak, to spoko :ok: