forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Как сделать (http://forum.boolean.name/showthread.php?t=1479)

Kren 12.09.2006 17:58

Как сделать
 
Доброго всем времени суток

Только что скачал MidletPascal но пока ничего не получается, помогите пожалуйста новичку

1. Как сделать меню например:
О программе
Сссылка
Ссылка
и тд.

Так же кнопки Выход из программы и Выбрать пункт из меню
при выборе пункта меню выводится форма с текстом, его можно прочитать и кнопка назад в меню

Очень нужно, подскажите как все сделать от начала до конца, пытался сделать но ничего не получается

2. Можно ли сделать и как такую функцию:
Выбираю в меню раздел захожу, а он делает запрос например site.site/news.txt и закачивает их в форму, после прочтения обратно выход в меню

За ранее всем Вам очень благодарен, жду ответов!!!

Kren 12.09.2006 17:59

Re: Как сделать
 
Если есть готовые подробные примеры, тоже буду рад посмотреть и воспользоваться как образцом

dermeg 12.09.2006 18:38

Re: Как сделать
 
Вот смотри пример:

program NewProject;
var menuCommand,exitCommand:command;
exitGame:integer;
keyCode:integer;
clicked: command;
exit, about,backgame,news: integer;
img: image;

//вызов меню
procedure menu;
var play:command;
begin
showMenu('Crazy Monkey', CH_IMPLICIT);

backgame := menuAppendString('Вернуться в игру');
news := menuAppendString('Новости проекта');
about := menuAppendString('О игре...');
exit := menuAppendString('Выход из игры');

play := createCommand('Выбрать', CM_SCREEN, 1);
addCommand(play);
repaint;
repeat
delay(100);
clicked := getClickedCommand;
until clicked = play;
showCanvas;
end;

//новости
procedure newsShow;
var conn: http;
htmlBody: string;
contentType: string;
label_id: integer;
cm : command;
begin
ShowForm;
label_id:=formAddString('Подождите, идёт загрузка новостей...');
if not openHttp(conn, 'http://www.cr.pskov.name/crnews.php') then halt;
setHttpMethod(conn, GET);
addHttpHeader(conn, 'User-agent', 'MIDletPascal browser');
if sendHttpMessage(conn) <> 200 then halt;
htmlBody := getHttpResponse(conn);
contentType := getHttpHeader(conn, 'Content-type');
closeHttp(conn);
clearForm;
label_id:=formAddString(htmlBody);
cm := createCommand('Назад', CM_BACK, 1);
addCommand(cm);
repaint;
repeat
delay(100);
clicked := getClickedCommand;
until clicked = cm;
removeCommand(cm);
clearForm;
menu;
end;

//о программе
procedure aboutShow;
var label_id,space_id: integer;
cm : command;
begin
showForm;
setTicker('Игра написана MEG-Studio 2006');
label_id:=formAddString('Crazy Monkey - эмулятор игрового автомата.');
cm := createCommand('OK', CM_OK, 1);
addCommand(cm);
repaint;
repeat
delay(100);
clicked := getClickedCommand;
until clicked = cm;
removeCommand(cm);
clearForm;
menu; // Убираем предупреждение с экрана
end;

//основной цикл программы
begin
exitGame:=0;
menuCommand := createCommand('Меню', CM_OK, 1);
exitCommand := createCommand('Выход', CM_BACK, 1);
img:=LoadImage('/icon.png');
addCommand(menuCommand);
addCommand(exitCommand);
repeat
//читает нажатие клавиш 1 2 3 4 5 6 7 8 9 0 # *
// keyCode := GetKeyClicked;
//читает нажатие командных клавиш
clicked:=getClickedCommand;
if (clicked = menuCommand) then
begin
menu;
end;
if (clicked = exitCommand) then
begin
exitGame:=1;
end;
//провека какой пункт меню был выбран
if menuGetSelectedIndex = news then newsShow;
if menuGetSelectedIndex = about then aboutShow;
if menuGetSelectedIndex = exit then exitGame:=1;
DrawImage(img,Random(170),Random(170));
repaint;
delay(500);
until (exitGame=1);
end.

Kren 12.09.2006 21:25

Re: Как сделать
 
Огромное Вам спасибо, все работает :)))

Kren 13.09.2006 18:38

Re: Как сделать
 
У меня появился еще вот такой вопрос, буду благодарен за ответ:
Как сделать? например, у театра есть афиша на месяц-два, нужно сделать так что бы ее можно было скачать в телефоне и просматривать в программе локально, скачивать тоже из программы, потом в меню есть кнопка, проверить афишу, если афиша таже то ее не скачивает, а если новая то удаляет старую и закачивает новую и сохраняет, возможно вообще так или это моя не скромная фантазия?

dermeg 13.09.2006 20:16

Re: Как сделать
 
Возможно, скачиваешь и помещаешь в RecordStore, а вот насчёт новой офиши просто проверяй дату или номер последнго обновления которую тоже храни в RecordStore, качаеш из интернета файл afisha_no.php (или какойнибудь другой) и сравниваеш с номером афиши в телефоне, если номер больше чем номер в RecordStore, то закачиваешь обновление. Покрайней мере я сделал бы примерно вот так. Про RecordStore читай гдето на форуме было.

Kren 14.09.2006 15:08

Re: Как сделать
 
Мда... что-то я ничего не понял, примерчиков нет ни у кого?
Пример работы с RecordStore с комментариями тоже не помешал бы!!!

dermeg 15.09.2006 18:44

Re: Как сделать
 
Про RS читай здесь http://www.boolean.name/showthread.php?t=473

Kren 15.09.2006 19:01

Re: Как сделать
 
Спасибо, все ок!!! :)

KAK? TAK! 03.04.2009 14:44

Ответ: Как сделать
 
спс!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Spiderman 06.04.2009 11:30

Ответ: Как сделать
 
Мой личный совет, Kren - изучай Java! Работай на перспективу и не теряй времени зря.

demon112 06.04.2009 16:19

Ответ: Как сделать
 
c:=formAddString('текст1');
c:=formAddString('текст2');

как сделать чтоб текст 2 писался с новой строки? функция c:=formAddSpace; не помагает(

Dj_Alex 06.04.2009 17:14

Ответ: Как сделать
 
попробуй использовать chr(13) для перевода на другую строку

impersonalis 06.04.2009 23:28

Ответ: Как сделать
 
13 10

demon112 07.04.2009 04:02

Ответ: Как сделать
 
Неканает...(


Часовой пояс GMT +4, время: 09:42.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot