Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Перестал работать скрипт подсчета времени [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Без описания
JustUserR Модератор
Отправлено: 08 Сентября, 2010 - 10:17:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




qnx пишет:
В очередной раз спасибо огромное за ответ. поставил как Вы посоветовали, но вроде и по-моему работает...
Пожалуйста! Вышеуказанный вариант решения был предложен по той причине что использовании числовых кодов символов заместо их реального представления иногда является действенным методом - по причине того что в web-программировании связанном с работой на удаленном сервере значительную роль играют кодовые таблицы нправильные использование которых может привести к ошибкам - что в значительно мере сказывается при работе со строковыми функциями
Буду рад ответить вам и на другие вопросы по Perl-у


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
qnx
Отправлено: 27 Сентября, 2010 - 18:01:05
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Авг. 2010  
Откуда: город-герой Киев


Помог: 0 раз(а)




чтоб не плодить темы продолжу свои эксперименты в этой теме.
начал читать книгу по микроконтроллерам и там нашел пример реализации матрицы))
как в фильме выпадение случайных символов.
упрощенно сделал следующее
вопрос таков.
как бы сгладить вывод? может есть какая-то альтернатива cls команде (это для win)
п.с. $glob_matrix_array - массив с длинами столбцов
CODE (htmlphp):
скопировать код в буфер обмена
  1. #!C:\Perl\bin
  2.  
  3. #$| = 1;
  4.  
  5. my @glob_matrix_array;
  6. for (my $i = 0; $i < 70; ++$i)
  7. {
  8.         $glob_matrix_array[$i] = int(rand(22));
  9. }
  10.  
  11. my @global_symbols_array = ("A".."Z", "a".."z", "0".."9");
  12. #print @global_symbols_array;
  13. #for(my $i = 0; $i < 10; ++$i)
  14. #{
  15. #       print $global_symbols_array[rand(@global_symbols_array)];
  16. #}
  17. for (my $i = 0; $i < 23; ++$i)
  18. {
  19.        
  20.         for (my $k = 0; $k < 70; ++$k)
  21.         {
  22.                 if ($glob_matrix_array[$k] < $i)
  23.                 {
  24.                         print ' ';
  25.                 }
  26.                 else
  27.                 {
  28.                         print $global_symbols_array[rand(@global_symbols_array)];
  29.                 }
  30.         }
  31.         print "\n";
  32. }
  33. while(1)
  34. {
  35.         for (my $i = 0; $i < 70; ++$i)
  36.         {
  37.                 my $dejstvie = int(rand(3));
  38.                 if ($dejstvie == 0)
  39.                 {
  40.                
  41.                 }
  42.                 if ($dejstvie == 1)
  43.                 {
  44.                         --$glob_matrix_array[$i];
  45.                         if ($glob_matrix_array[$i] < 1)
  46.                         {
  47.                                 $glob_matrix_array[$i] = 1;
  48.                         }
  49.                 }
  50.                 if ($dejstvie == 2)
  51.                 {
  52.                         ++$glob_matrix_array[$i];
  53.                         if ($glob_matrix_array[$i] > 22)
  54.                         {
  55.                                 $glob_matrix_array[$i] = 21;
  56.                         }
  57.                 }
  58.         }
  59.        
  60.         sleep(1);
  61.        
  62.         for (my $i = 0; $i < 23; ++$i)
  63.         {
  64.                
  65.                 for (my $k = 0; $k < 70; ++$k)
  66.                 {
  67.                         if ($glob_matrix_array[$k] < $i)
  68.                         {
  69.                                 print ' ';
  70.                         }
  71.                         else
  72.                         {
  73.                                 print $global_symbols_array[rand(@global_symbols_array)];
  74.                         }
  75.                 }
  76.                 print "\n";
  77.         }
  78. }
  79.  
  80. #for(my $i = 0; $i < 40; ++$i)
  81. #{
  82. #       print "$glob_matrix_array[$i] ";
  83. #}
  84.  
  85. #print @glob_matrix_array;
 
 Top
JustUserR Модератор
Отправлено: 28 Сентября, 2010 - 00:17:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




qnx пишет:
Как бы сгладить вывод? может есть какая-то альтернатива cls команде (это для win)
В случае если вы осуществляете последовательный вывод сгенерированных наборов символов на экран с предваряющей очисткой экрана с применением команды cls - то полученный таким образом результат работы будет обеспечивать достаточно сильное мерцание терминала - связанное с временем задержки между осуществление очистки экрана и вывода на него накопленной информации из буфера Как в случаях прямой работы с графическими терминалами и в других схемах - для решения поставленного вопроса применяется постраничная буферазция - заключающаяся в фоновой генерации последующего состояния окна в виде bitmap-файла и его последующее практически мгновенное наложение с перекрытием Для этой цели необходимо использовать непосредственной функции работы с терминалом - предоставляемые модулем Win32::Console более подробную информацию по которому вы можете получить здесь http://www[dot]google[dot]ru/url?sa=t&am[dot][dot][dot]qpB_Z55FzzsvKeGw


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
qnx
Отправлено: 28 Сентября, 2010 - 16:55:47
Post Id



Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Авг. 2010  
Откуда: город-герой Киев


Помог: 0 раз(а)




спс.
хорошая штука, вижу как настраивается отображение теста, его цвет...., но к сожалению не нахожу как бы сделать, чтоб буферизировать свой вывод..(
и еще такой момент нужно уточнить.. как сделать sleep менее чем на секунду? и как обращаться к определенному символу строки?
my $string = "abcd";
как вывести 2 символ? 'c' (при счете с 0, а не с 1)
п.с. в последней реализации программы у меня уже формируются массивы строк, но не горизонтальных, а вертикальных.. и их нужно выводить посимвольно....

(Отредактировано автором: 28 Сентября, 2010 - 17:30:06)

 
 Top
JustUserR Модератор
Отправлено: 29 Сентября, 2010 - 00:38:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




qnx пишет:
Спс. хорошая штука, вижу как настраивается отображение теста, его цвет...., но к сожалению не нахожу как бы сделать, чтоб буферизировать свой вывод..(
Пожалуйста! Для управления автоматическим накоплением выводимой информации в буфере используется указанная ранее переменная $| - тем не менее в случае необходимости формирования собственного буфера возвожно применение обычного строкового значения с вложением в него требуемых данных путем интерполяции и применения фукнции sprintf Кроме того указанный процесс можно автоматизировать с учетом динамического контроля обращения к потоку вывода и осуществления собственных действий по обработке - конкретных реализаций существует достаточно много в том числе классический вариант представлен здесь http://dklab[dot]ru/chicken/nablas/3[dot]html
qnx пишет:
Как обращаться к определенному символу строки?
В языке Perl строковые переменные и константы являются целостными скалярными конструкциями - и таким образом для обращения к отдельномму символу необходимо применять функцию substring поскольку обращением к отдельным компонентам фактически не реализуемо - кроме того для обработки строк как правило применяется механизм регулярных выражений
qnx пишет:
И еще такой момент нужно уточнить.. как сделать sleep менее чем на секунду
Для реализации временных задержек величина которых определяется к микросекундах - возможно использование функции usleep


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы по Perl/Python/.NET »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB