Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт июл 07, 2022 14:51

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 152 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8, 9, 10, 11  След.
Автор Сообщение
 Заголовок сообщения: Re: Багрепорты Quark
СообщениеДобавлено: Пн апр 16, 2012 13:23 
Еще багги попались :(

1. При сворачивании окна Кварка, он остается на панели задач но больше не раскрывается.
2. При уменьшении (мышью) окна по вертикали, он в какой-то момент совсем помирает.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Багрепорты Quark
СообщениеДобавлено: Пн апр 16, 2012 18:36 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Ага, так и есть - константы RED и GREEN в формате BGR.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Багрепорты Quark
СообщениеДобавлено: Пт апр 20, 2012 10:44 
Не в сети

Зарегистрирован: Пт дек 02, 2011 09:02
Сообщения: 4
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пытаясь сделать слово DUMP наткнулся на баг в слове TYPE

Не получается нормально сделать распечатку символьного столбца дампа

address 16 TYPE

выводит не 16 символов, какие бы они ни были, а только пока не встретится символ с кодом 00

Согласно описанию, TYPE должно бы выводить заданное число символов,
независимо от их содержания.

Лечу переопределением:

\ address, len -->
: TYPE 0 DO DUP I + C@ EMIT LOOP DROP ;


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Багрепорты Quark
СообщениеДобавлено: Пт апр 20, 2012 11:20 
WingLion_from_Work писал(а):
Лечу переопределением:
\ address, len -->
: TYPE 0 DO DUP I + C@ EMIT LOOP DROP ;


Можно и так переопределить.
Код:

: TYPE OVER + SWAP DO I C@ EMIT LOOP ;

P.S. обычно
Код:
: BOUNDS OVER + SWAP ;


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Багрепорты Quark
СообщениеДобавлено: Пт апр 20, 2012 13:06 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
: TYPE 0 ?DO COUNT EMIT LOOP DROP ;


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Багрепорты Quark
СообщениеДобавлено: Пт апр 20, 2012 14:00 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7548
Благодарил (а): 21 раз.
Поблагодарили: 142 раз.
WingLion_from_Work писал(а):
выводит не 16 символов, какие бы они ни были, а только пока не встретится символ с кодом 00

Это из-за того, что в Windows основным форматом строк является ASCIIZ. Поэтому нулевой байт является признаком конца строки. При выводе дампов я пользовался заменой символов 0-31 на символ точки. TYPE основан на уже устаревшем представлении строки со счетчиком.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Багрепорты Quark
СообщениеДобавлено: Пт апр 20, 2012 16:03 
Хищник писал(а):
TYPE основан на уже устаревшем представлении строки со счетчиком.

TYPE стандартное слово вывода n-байтов с определённого адреса, а со строкой со счётчиком, в рамках Форта понимается строка в "первом" адресе указывается число последующих байт в строке и обычно для этого перед TYPE используется слово COUNT

P.S. С помощью TYPE можно также выводить часть массива байт-символов не имеющего ограничителя:)
P.S.. Михаил привёл ошибочный код который не должен работать и его сообщение лучше удалить.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Багрепорты Quark
СообщениеДобавлено: Пт апр 20, 2012 16:18 
Хищник писал(а):
WingLion_from_Work писал(а):
выводит не 16 символов, какие бы они ни были, а только пока не встретится символ с кодом 00

Это из-за того, что в Windows основным форматом строк является ASCIIZ.

Можно ли считать ASCIIZ устаревшим форматом строк если есть UNICODE? И сможет
ли Форт программа работать если в Windows UNICOD станет стандартом хранения строк?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Багрепорты Quark
СообщениеДобавлено: Пт апр 20, 2012 18:04 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5036
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 61 раз.
`Kopa писал(а):
Можно ли считать ASCIIZ устаревшим форматом строк если есть UNICODE?

множно, но нужно ли? удобны таки PASCAL строки, которые мы сделали еще и завершаемыми нулем 8).
`Kopa писал(а):
И сможетли Форт программа работать если в Windows UNICOD станет стандартом хранения строк?

А какие проблемы-то? (я больше скажу, форт может и хранить и пользоваться сразу кучей форматов строк, в том числе и непридуманными еще)

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Багрепорты Quark
СообщениеДобавлено: Пт апр 20, 2012 20:21 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
`Kopa писал(а):
Михаил привёл ошибочный код который не должен работать и его сообщение лучше удалить.


COUNT ( c-addr1 -- c-addr2 u ) http://www.taygeta.com/forth/dpans6.htm#6.1.0980

c-addr2 is the address of the first character after c-addr1 я перевожу как
c-addr2 это адрес первого символа после c-addr1.
Т.е. между c-addr1 и c-addr2 тоже символ хоть и длинна строки.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Багрепорты Quark
СообщениеДобавлено: Пт апр 20, 2012 21:28 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7548
Благодарил (а): 21 раз.
Поблагодарили: 142 раз.
`Kopa писал(а):
TYPE стандартное слово

Стандарты имеют тенденцию меняться.
`Kopa писал(а):
Можно ли считать ASCIIZ устаревшим форматом строк если есть UNICODE?

Когда основная масса системных вызовов будет ориентирована на UNICODE-строки, можно будет подумать о переходе на него. Уже сейчас WinAPI имеет Unicode-версии функций. Вопрос удобства и привычки.
mOleg писал(а):
удобны таки PASCAL строки, которые мы сделали еще и завершаемыми нулем

Такие я тоже делал. Они одновременно строки со счетчиком и ASCIIZ.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Багрепорты Quark
СообщениеДобавлено: Пт апр 20, 2012 21:55 
mOleg писал(а):
`Kopa писал(а):
И сможетли Форт программа работать если в Windows UNICOD станет стандартом хранения строк?

А какие проблемы-то? (я больше скажу, форт может и хранить и пользоваться сразу кучей форматов строк, в том числе и непридуманными еще)


Особых проблем нет, если понимать и использовать все тонкости работы конкретной Форт системы. Языки программирования, и в частности Форт вводит определённый уровень абсрагирования понятий. Например Михаил посчитал, что можно использовать COUNT как оператор извлечения байта с текущего адреса и продвижения указателя на один байт. (т.к. длина строки представлена одним байтом).
В моём использовании COUNT прежде всего возможность абстрагироваться от способа хранения строк со счётчиком (один или несколько байтов будут давать длину строки, как хранятся и откуда берутся эти данные уже не столь важно.), но возможно я ошибаюсь и использование COUNT гораздо "многообразнее" (не надо вводить слов подобных C@++ )

P.S. К чему всё это? Переопределить TYPE с учётом знания специфики конкретной Форт скорее всего возможно, но в этом случае нивелируется значимость стандартно определённого слова TYPE
Как то так:)
то Хищник: Значимость и "глубина" стандартов на чём основана?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Багрепорты Quark
СообщениеДобавлено: Пт апр 20, 2012 22:32 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7548
Благодарил (а): 21 раз.
Поблагодарили: 142 раз.
`Kopa писал(а):
то Хищник: Значимость и "глубина" стандартов на чём основана?

На том, насколько эффективным получается программирование, если следовать этим стандартам.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Багрепорты Quark
СообщениеДобавлено: Пт апр 20, 2012 22:46 
Хищник писал(а):
`Kopa писал(а):
то Хищник: Значимость и "глубина" стандартов на чём основана?

На том, насколько эффективным получается программирование, если следовать этим стандартам.

То есть на удобстве, в первую очередь, программистов и пользователей Форт системы?!
Удобство складывается из многих факторов и один из них "опыт" использования знакомых слов и терминов.

P.S. Winglion, даже переопределил слово TYPE .
Свои "удобства", конечно, важнее "удобств" для других пользователей:)


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Багрепорты Quark
СообщениеДобавлено: Пт апр 20, 2012 23:00 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7548
Благодарил (а): 21 раз.
Поблагодарили: 142 раз.
`Kopa писал(а):
То есть на удобстве, в первую очередь, программистов и пользователей Форт системы?!
Удобство складывается из многих факторов и один из них "опыт" использования знакомых слов и терминов.

Первое впечатление слегка обманчиво :) При использовании TYPE в среде, где регулярно попадаются строки, завершаемые нулем, результат бывает непредсказуемым. Поэтому в кварке TYPE принудительно завершает печать, если встретит 0.
`Kopa писал(а):
P.S. Winglion, даже переопределил слово TYPE .

И тут он абсолютно прав.
`Kopa писал(а):
Свои "удобства", конечно, важнее "удобств" для других пользователей:)

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 152 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8, 9, 10, 11  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB