| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java ME (J2ME) > MidletPascal |
| Автор: LordGuest 30.1.2006, 13:38 |
| Привет. Работаю с телефоном Siemens S65. Компилятор Midlet Pascal 2. Возникли вопросы. Как работать с файловой системой: получить список файлов, загружать их, читать. |
| Автор: Dancer 30.1.2006, 15:18 |
| перейти на Java. Поставить WTK, JSR-75 |
| Автор: javastic 31.1.2006, 10:13 |
| LordGuest, а что это за зверь такой midlet pascal ? |
| Автор: LordGuest 1.2.2006, 15:53 |
| Это такой компилятор для разработки мидлетов. Все пишется на паскале, а компилятор преобразует все в байт-код на Java. В общем можно писать мидлеты для мобильных на удобном языке, правда возможности похоже ограничены MIDP 1/2. |
| Автор: Ozzя 1.2.2006, 16:14 |
| On a computer, the data is saved to files which exist on a disk drive. Mobile phones don't have disks, so MIDlet applications need a different method of saving data. J2ME provides access to phone's flash memory through an interface called record store. |
| Автор: Dancer 1.2.2006, 18:15 |
| Ozzя, есть у мобильника и файловая система, и приложения могут сними работать, просто необходима поддержка ряда API производителями аппаратов. (RMS конечно рульная штука, но я так понимаю вопрос был именно про файловую систему телефона, то есть смотрим в сторону JSR-75) как с ним работать на более или менн примитивном уровне, я уже кажется описывал здесь где-то. Если не поленюсь и время будет, но накатаю статейку как этим можно начать пользоваться, хотя всю инфу можно конечно найти на java.sun.com |
| Автор: Ozzя 1.2.2006, 18:20 |
| Dancer Я разве спорю ;) Вопрос был про Midlet Pascal. У него нет такой возможности. |
| Автор: WGR 11.8.2006, 07:46 |
| Продолжаем тему http://midletpascal.com ______________ а то вроде форум программистов в про midletpascal не слова нет моё первое приложение на midlet pascal |
| Автор: javastic 11.8.2006, 10:02 |
| WGR, симпатичный тетрис. Молодец! =) |
| Автор: skyboy 11.8.2006, 10:18 |
если я ничего не путаю, MidletPascal позволяет подключать "сторонние" библиотеки на Java как модули. Потому проблема состоит только в поиске библиотеки, реализующей нужные функции... [offtop] Проект, кстати, уже больше полгода не развивается... А жаль... Реализовали бы ещё динамические массивы, и расширили бы возможности записей - даже без объектов можно было бы обойтись... А так... [/offtop] |
| Автор: WGR 11.8.2006, 12:01 | ||||
ЭХХХХ как на душе хорошо когда тебя похвалили А подключаемые библиотеки очень легко делать (я смотрел) найду инфу скину сюда ______ народ подтягиваитесь -есть много вопросов будем обсуждать могу исходник тетриса выложить.... Добавлено @ 12:04
НЕ надо ничего искать Человек знающий яву -легко напишет |
| Автор: skyboy 11.8.2006, 12:48 |
| WGR, человек, знающий Java - будет писать на Java, а не пользоваться довольно ограниченным транслятором с Паскаля. |
| Автор: WGR 11.8.2006, 12:57 | ||
| skyboy, НУ понятное дело я имел ввиду кому нужна библиотека попросит друга которыу напишет на яве библиотеку с нужными процедурами и функциии и скажет тому другу название функции и входные переменные и уСЁ Или можно ёщё самому пробовать писать библиотеки небольшие для начального обучения явы в самый раз - для тех кто начинал в паскале Добавлено @ 12:58 skyboy,
и с библиотеками там нет ограничений |
| Автор: javastic 11.8.2006, 15:36 |
| Интересно, а как выглядит исходный код на этом МидлетПаскале? Кто-нибудь может привести пример? |
| Автор: W0LF 11.8.2006, 15:42 |
| Да, я тож хо увидеть |
| Автор: Mayk 11.8.2006, 15:48 | ||
Взято с http://www.midletpascal.com/projects.php
|
| Автор: W0LF 11.8.2006, 15:57 |
| Автор: javastic 11.8.2006, 15:58 |
| ВАУ!!! Настоящий процедурный подход. Явно с любовью к Паскалю написано! Добавлено @ 15:59 Особенно мне понравился цикл в самом конце проги! =) |
| Автор: skyboy 11.8.2006, 16:15 |
| javastic, а в j2me можно отталкиваться от событий или тоже - так же, цикл с ожиданием? |
| Автор: W0LF 11.8.2006, 16:23 | ||
Там ожидание нажатия в отдельном системном потоке идет:
Добавлено @ 16:29 http://www.realcoding.net/article/view/2473?ShmID=cf14af0ccefd0e16f210efc1a9ea4ce5 нормально написано |
| Автор: javastic 11.8.2006, 16:36 |
| skyboy, а коммандные кнопки могут обрабатываться откуда угодно и из любого класса. А если хочешь в текущем, то просто назначаешь интерфейс обработки нажатия кнопок как CommandListener WOLF тебе правильно истолковал. Давай, переходи на Джаву |
| Автор: W0LF 11.8.2006, 16:41 |
| Да, JAVA РУЛИТ! Добавлено @ 16:42 |
| Автор: WGR 11.8.2006, 16:48 |
| Исходник тетриса на мидлет паскаль |
| Автор: skyboy 11.8.2006, 16:51 |
| отдельный поток - это хорошо. потому я и сказал, что этот интерпретатор сильно ограничен. А теперь ещё и развиваться перестал Перейду. Через полгода нырну... |
| Автор: WGR 11.8.2006, 16:55 |
| уже на 90 процентов доделал универсальное приложение для мобильнык книг с рисунками |
| Автор: WGR 11.8.2006, 17:48 |
| Простенький мидлет проигрывает wavку program midi; begin if not openPlayer('/windows.WAV', 'audio/x-wav') then halt; if not setPlayerCount(-1) then halt; if not startPlayer then halt; delay(5000); end. _____ А как это будет выглядеть в j2me ???????????? |
| Автор: W0LF 12.8.2006, 17:52 | ||
Это один раз проиграет твой wav. Если же тебе надо с управлением и бесконечным проигрыванием, то смотри http://www.mobilab.ru/articles/78/ |
| Автор: RacerDeXakep 9.4.2007, 19:39 |
| Всем, здрасте!! Помогите решить трабл, не доходит до меня, как исправить!! Вот код: procedure on (st : string) ; begin setColor(255, 255, 255); fillRect(0, 0, GetWidth, GetHeight); setColor(255, 0, 0); setfont(FONT_FACE_SYSTEM , FONT_STYLE_BOLD, FONT_SIZE_LARGE); DrawText(st, (Getwidth) div 2, ((Getheight - 6) div 2) + 1); repaint; delay(1000); end; procedure menu; begin ShowMenu('Выберите действие', CH_IMPLICIT); //это заголовок меню igrat := MenuAppendString('Играть'); //это добавляются 3 пункта меню about := MenuAppendString('Автор'); vyhod := MenuAppendString('Выход'); play := CreateCommand('Выбрать', CM_SCREEN , 1); //тут добавляются команды, для 2 кнопок сразу под экраном AddCommand(play); exit := CreateCommand('Выход', CM_EXIT, 1); AddCommand(exit); repeat //запускаем цикл, пока игрок не нажал одну из 2 кнопок delay(100); clicked := getClickedCommand; until (clicked = play) or (clicked = exit); if clicked = exit then halt; //если выбрали выход, то... showCanvas; // "убираем" меню if menuGetSelectedIndex = igrat then igra; //смотрим, какой пункт выбрал игрок и в зависимости от этого вызываем нужную процедуру if menuGetSelectedIndex = about then ab; if menuGetSelectedIndex = vyhod then halt; menu; //опять вызываем меню end; type zp=record b : boolean; end; var a : array [0..20, 0..20] of zp; if direction_y = up then y1 := y1 - speed; if direction_y = down then y1 := y1 + speed; if direction_x = left then x1 := x1 - speed; if direction_x = right then x1 := x1 + speed; key := GetKeyPressed; if KeyToAction(key) = GA_UP then if y2<>0 then y2 := y2 - 3; if KeyToAction(key) = GA_DOWN then if y2<>(GetHeight - 5) then y2 := y2 + 3; if KeyToAction(key) = GA_LEFT then if x2<>0 then x2 := x2 - 3; if KeyToAction(key) = GA_RIGHT then if x2<>(GetWidth - 30) then x2 := x2 + 3; procedure block; var i,k : integer; begin for i:=0 to (GetWidth div 10) - 1 do for k:=0 to (GetHeight div 10) - 1 do if a[i,k].b then begin SetColor(0, 0, 0); fillRect(i*10, k*10, 10, 10 ); SetColor(255, 255, 255); drawRect(i*10+2, k*10+2, 6, 6 ); end; end; for z:=0 to GetWidth div 10 do for d:=0 to GetHeight div 10 do if ( d < 5 ) and ( d > 0 ) and ( z > 0 ) and ( z < (GetWidth div 10) - 1) then a[z,d].b:=true else a[z,d].b:= false; if (a[ x1 div 10, y1 div 10].b) or (a[ (x1+10) div 10, y1 div 10].b) or (a[ x1 div 10, (y1+10) div 10].b) or (a[ (x1+10) div 10, (y1+10) div 10].b) then begin if direction_y = down then direction_y := up else direction_y := down; if direction_x = left then direction_x := right else direction_x := left; if (a[ x1 div 10, y1 div 10].b) then a[ x1 div 10, y1 div 10].b:=false; if (a[ (x1+10) div 10, y1 div 10].b) then a[ (x1+10) div 10, y1 div 10].b:=false; if (a[ x1 div 10, (y1+10) div 10].b) then a[ x1 div 10, (y1+10) div 10].b:=false; if (a[ (x1+10) div 10, (y1+10) div 10].b) then a[ (x1+10) div 10, (y1+10) div 10].b:=false; end; Ошибочка в строке 15 и 34: " error, identefier 'igrat' is not procedure, function, variable or unit name" "newproject.mpsrc:34: error, character '.' expected, 'type' found" Заранее благодрен!! |
| Автор: Dancer 10.4.2007, 10:33 |
| объяви кто у тебя такой igrat а так же avtor, vyxod, play. Var igrat,vyhod,play: UserType; ну или какой-то определённый в MIDlet Pascal. я в нём не силён сорри. Но при описании процедуры то обязан описать переменные, которые будут в ней использоваться, либо эти перемнные уже должны быть глобально описаны у тебя где-то "выше" |
| Автор: RacerDeXakep 10.4.2007, 14:07 |
| Dancer, Спасибо!! |
| Автор: kolja102 14.4.2008, 16:53 |
| У меня вот такой вот вопрос,можно ли в MP написать игры типа dope wars? |
| Автор: vlad275 15.4.2008, 00:12 |
| Я с этой игрой не знаком. IMHO Если оптимизировать графику настолько чтобы размер игры не превышал ограничения по размеру мобильного телефона для которого вы пишите, то можно. |
| Автор: Bunya 5.5.2008, 20:07 |
| Привет! Только начинаю писать на MidletPascal`e, поэтому еще не все разгребаю. Так вот. Пишу редактор расписания.Необходимо записывать данные в RecordStore. все хорошо, но русские буквы не распознает. Вот что получается. http://ipicture.ru/Gallery/Viewfull/1689447.html Как с этим бороться? |