Показать сообщение отдельно
Старый 11.12.2010, 18:08   #4
fall
Оператор ЭВМ
 
Регистрация: 08.12.2010
Адрес: Белорусь
Сообщений: 25
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: Исправьте код пожалуйста

Чтобы не плодить новых тем, позволю себе воспользоваться этой, ведь суть вопроса та же.

Набросал код, но он работает не так как задумывалось.
Почему-то если выбрать пункт меню, то соответствующая процедура текст не выводит. Если процедуру вызвать до вывода меню, то текст отображаеться. Видно какая-то мелочь, но никак не могу разобраться...

program BusList;

uses font32;

var
  
okclickedcommand
  
whkeyinteger;  
   


   

procedure cls2;
begin
  setColor
(255255255);
  
fillRect(00wh);
  
delay(200)
end;


   
   
procedure ShowList(sstring);
var
  
htext integer;
begin 

  textwindow
(22w-2h-12); 
  
htext := format(s0);
  
cls2;
  
drawtextwindow;
  
  
repaint;
  
delay(2000);
end;


  
  
procedure ShowFirstMenu;
var 
    
p1p2 integer
  exit, 
nextclicked ,cmdQuitcommand;  
  
begin 

  ShowMenu
('Выберите остановку'CH_IMPLICIT); 
     
  
p1   := MenuAppendString('Halt'); 
  
p2   := MenuAppendString('Вывести текст'); 
    
  
next := CreateCommand('Далее'CM_SCREEN0); 
  
AddCommand(next); 
    
  
ShowCanvas;   
  
  
repeat 
    delay
(100); 
    
clicked := GetClickedCommand
  
until clicked <> EmptyCommand;  
 
  
ClearForm
  
  if 
clicked next then begin
        
if MenuGetSelectedIndex p1 then halt
    if 
MenuGetSelectedIndex p2 then ShowList('Test test test test test test test test');  
  
end;
 
end;




begin

  w 
:= getWidth;
  
:= getHeight;
  
  
font32.init(1);
  
font(0);
  
loadfont('Verdana_7'); 

// Если выводить текст до вывода меню, то все впорядке.
// ShowList('Test test test test test test test test');  

  
ShowFirstMenu;  

  
end

Последний раз редактировалось fall, 11.12.2010 в 19:55. Причина: Исправил код
(Offline)
 
Ответить с цитированием