Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 12.02.2009, 20:10   #1
Suicide
AnyKey`щик
 
Регистрация: 20.04.2008
Сообщений: 2
Написано 0 полезных сообщений
(для 0 пользователей)
Вопрос Нет вывода на экран

Вот написал программку, которая должна выводить расписание моей группы, но почему-то drawText не работает? Не могли бы ли Вы, пожалуйста, подсказать, что у меня не так?
Переменная nn - это день номер недели(первая или вторая), по которой учимся. p1 и p2 - подгруппа(тк для каждой отдельно расписание по некоторым дням.
program NewProject;
var 
    senya, zavtra,p11,p22,i,k,nn : integer; 
    play, clicked : command; 
s,z,p1,p2:boolean;
mm:array[2..7] of integer;   
  begin
s:= false;
z:= false;
p1:=false;
p2:=false;
 mm[2]:=28;
 mm[3] := 31;
 mm[4] := 30;
 mm[5] := 31;
 mm[6] := 30;
 mm[7] := 31;
        showMenu('1 или 2 подгруппа?', CH_IMPLICIT); 
     
    p11 := menuAppendString('1'); 
    p22 := menuAppendString('2'); 

    play := createCommand('?', CM_SCREEN, 1); 
    addCommand(play); 

    repeat 
      delay(100); 
      clicked := getClickedCommand; 
    until clicked = play; 
    if menuGetSelectedIndex = p11 then p1 := true;

    if menuGetSelectedIndex = p11 then p2:=true;
 clearForm;
  
i := getMonth(getCurrentTime);
k:=0;
while i<>2 do
begin
k := k + mm[i];
i := i - 1;
end;
k := k + getDay(getCurrentTime)-1;
if odd(trunc(k/7)) then nn := 1;
if not odd(trunc(k/7)) then nn := 2;
showCanvas;     
   setColor(0, 0, 255);
if getWeekDay(getCurrentTime) = 2 then
begin
if nn=1 then
begin
drawText('АИС', 0, 0);
drawText('БЖ', 0, 10);
drawText('КС', 0, 20);
drawText('ПСИХОЛОГИЯ', 0, 30);
end;
if nn=2 then
begin
drawText('ФИЛОСОФИЯ', 0, 0);
drawText('БЖ', 0, 10);
drawText('КС', 0, 20);
end;
end;

if getWeekDay(getCurrentTime) = 3 then
begin
if (nn =1) and p1 then
begin
drawText('КС', 0, 0);
drawText('ПСИХОЛОГИЯ', 0, 10);
end; 
if (nn =2) and p1 then
begin
drawText('----------', 0, 0);
drawText('МЕТРОЛОГИЯ', 0, 10);
end; 
if (nn =1) and p2 then
begin
drawText('---------', 0, 0);
drawText('ПСИХОЛОГИЯ', 0, 10);
end; 
if (nn =2) and p2 then
begin
drawText('КС', 0, 0);
drawText('МЕТРОЛОГИЯ', 0, 10);
end; 
end;

if getWeekDay(getCurrentTime) = 4 then
begin
if nn = 1 then drawText('ФИЛОСОФИЯ', 0, 0);
if nn = 2 then drawText('ПСИХОЛОГИЯ', 0, 0);
drawText('ПО АИС', 0, 10);
drawText('ФИЗРА', 0, 20);
drawText('АСУП', 0, 30);   
end;

if getWeekDay(getCurrentTime) = 5 then
begin
if (nn =1) and p1 then
begin
drawText('АНГЛ', 0, 0);
drawText('КС', 0, 10);
drawText('РЭИС', 0, 20);
end; 
if (nn =2) and p1 then
begin
drawText('АНГЛ', 0, 0);
drawText('АИС', 0, 10);
drawText('ФИЛОСОФИЯ', 0, 20);
drawText('КС', 0, 30);
end; 
if (nn =1) and p2 then
begin
drawText('-------------', 0, 0);
drawText('КС', 0, 10);
drawText('РЭИС', 0, 20);
drawText('КС', 0, 30);
end; 
if (nn =2) and p2 then
begin
drawText('КС', 0, 0);
drawText('АИС', 0, 10);
drawText('ФИЛОСОФИЯ', 0, 20);
end; 

end;

if getWeekDay(getCurrentTime) = 6 then
begin
if (nn =1) and p1 then
begin
drawText('АСУП', 0, 0);
drawText('АСУП', 0, 10);
drawText('РЭИС', 0, 20);
end; 
if (nn =2) and p1 then
begin
drawText('АСУП', 0, 0);
drawText('ПСИХОЛОГИЯ', 0, 10);
drawText('РЭИС', 0, 20);
end; 
if (nn =1) and p2 then
begin
drawText('АНГЛ', 0, 0);
drawText('АСУП', 0, 10);
drawText('АСУП', 0, 20);
drawText('РЭИС', 0, 30);
end; 
if (nn =2) and p2 then
begin
drawText('АНГЛ', 0, 0);
drawText('ПСИХОЛОГИЯ', 0, 10);
drawText('АСУП', 0, 20);
drawText('РЭИС', 0, 20);
end; 

end;


if getWeekDay(getCurrentTime) = 7 then
begin
drawText('ФИЗКУЛЬТУРА', 0, 0);
drawText('МЕТРОЛОГИЯ', 0, 10);
end;
repaint; 
delay(4333);


end.

Последний раз редактировалось Suicide, 12.02.2009 в 20:31.
(Offline)
 
Ответить с цитированием
Старый 12.02.2009, 21:45   #2
beZ_probleM
ПроЭктировщик
 
Регистрация: 31.03.2008
Сообщений: 134
Написано 8 полезных сообщений
(для 8 пользователей)
Ответ: Нет вывода на экран

ты наверное хотел взять день недели а не месяца, тогда
замени
i := getMonth(getCurrentTime);
на
i := getWeekDay(getCurrentTime);

потомучто у тебя токо шесть елементов в массиве
mm:array[2..7] of integer;
а если ты будешь брать день месяца например 21 то такого елемента не будет существовать)
тоесть твоя прога будет работать токо когда число месяца от меньше 7=)
удачи
(Offline)
 
Ответить с цитированием
Старый 17.02.2009, 21:34   #3
Suicide
AnyKey`щик
 
Регистрация: 20.04.2008
Сообщений: 2
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Нет вывода на экран

Не, там всё правильно. Больше никто не смотрел? Почему может не происходить вывод на экран?
(Offline)
 
Ответить с цитированием
Старый 17.02.2009, 22:04   #4
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Нет вывода на экран

:= getMonth(getCurrentTime);
k:=0;
while 
i<>do //<<-----------------------
begin
:= mm[i];
:= 1;
end
На стрелке код зацикливается, если i < 3, естественно, до вывода дело не доходит.
Похоже, в j2me месяцы с нуля нумереются, сейчас февраль и у меня единицу выдает, а если в указанную точку подать i=1, то i никогда не станет равно 2.
(Offline)
 
Ответить с цитированием
Старый 17.02.2009, 23:51   #5
beZ_probleM
ПроЭктировщик
 
Регистрация: 31.03.2008
Сообщений: 134
Написано 8 полезных сообщений
(для 8 пользователей)
Ответ: Нет вывода на экран

ViNT можно перевести часы на месяц назад и проверить действительно ли выдаёт ноль=)
(Offline)
 
Ответить с цитированием
Старый 18.02.2009, 00:14   #6
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Нет вывода на экран

Сообщение от beZ_probleM Посмотреть сообщение
ViNT можно перевести часы на месяц назад и проверить действительно ли выдаёт ноль=)
В обшем-то уже вычитал, что 0 не выйдет, т.к. по хелпу функция возвращает значение от 1 до 12, но факт оcтается фактом - прога зависает потому, что при входе в цикл i=1.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Lib_beta: Перенаправления вывода в картинку/на дисплей odd Библиотеки 19 28.10.2010 21:43
Lib_st для вывода стилизированного текста Phantom Библиотеки 10 19.05.2009 12:14
библиотека вывода рисунков через 3D Platon Библиотеки 5 13.06.2007 22:49
Предложите способ вывода цифровой информации. UA6BIX Основной форум 4 12.12.2006 10:49
Экран в гиф... SubZer0 Болтовня 12 16.05.2006 01:26


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com