Hkey: Это в MS-VS. В BCB я не знаю как убрал галочку в линкере с динамических библиотек. Сделал. Добавил библиотеки в архив весит раз в 10 больше стало.
В BCB нужно поставить/снять три галочки в свойствах проекта, чтобы прога запускалась везде, по-моему на вкладках Linker и Compile.
1. Начинаю двигать, вроде двигается, отпускаю - обратно возвращается. Оказывается не реализовано перекрытие, а это большой минус. И не надо рисовать перемещаемое окно за пределами области, если за эти пределы его нельзя вынести.
2. Начинаю двигать, вроде двигается, отпускаю - пропадает. Оказывается поместилось в другое окно (видимо из-за этой возможности и п.1). Предупреждать надо, подсвечивать к примеру окно, в которое будет помещено.
3. Если окно находится в другом окне, то не надо при перемещении рисовать его за пределами родительского окна.
Все проблемы из-за возможности помещения окон друг в друга. Лучше сделать эту возможность к примеру при нажатом контроле, тогда можно будет и перекрытие окон нормально сделать.
Далее: скролл используется для перематывания страницы, не надо это переназначать, увеличение уменьшение лучше сделать опять же с контролом к примеру.
И настройте табиндексы во всех формах, иначе невозможно без мыши работать. Вообще в идеале будет, если будет возможно работать с приложением вообще без мыши.
Свойство vertical-align есть только у строчных элементов и у ячеек таблиц. В приведенном примере у дивов как раз выставлены display в table и table-cell.
Могу посоветовать выставить у внешнего дива position: relative, а у внутреннего position: absolute; bottom: 0px;
Практика (моя) показывает, что в подавляющем большинстве случаев нужен не асинхронный, а обычный синхронный запрос к серверу, т.к. потом все равно приходится обрабатывать ответ, но какими-то неимоверными усилиями с перехватом событий.
В результате имеем простой код:
// тырим из prototype
var Try = {
these: function() {
var returnValue;
for (var i = 0; i < arguments.length; i++) {
var lambda = arguments;
try {
returnValue = lambda();
break;
} catch (e) {}
}
return returnValue;
}
};
var Ajax = {
getTransport: function() {
return Try.these(
function() {return new ActiveXObject('Msxml2.XMLHTTP')},
function() {return new ActiveXObject('Microsoft.XMLHTTP')},
function() {return new XMLHttpRequest()}
) || false;
},
Небольшой плюсик в пользу дивов - создание разных стилей для экрана и для принтера. В таблицах конечно тоже можно, но чаще низя, поэтому приходится создавать различные страницы для печати, а как показывает практика, обычные пользователи не доходят до этих страниц, а распечатывают оригинал. На дивах имеем одну хтмл-страничку и 2 файла стилей и когда пользователь распечатывает страницу, на бумаге оказывается только нужная информация без дизайна и различных формочек, банеров, ...
function callback($matches) { // В $matches[0] будет нужное слово, // если оно есть в словаре то функция возвращает ссылку // если нет, то само слово } $news = preg_replace_callback("/\w+/", "callback", $news);
В результате имеем один проход по новости (причем даже внутри регулярного выражения без возвратов).
С помощью выложенных букмаклетов можно с любого сайта в один клик узнать почти все (кроме заголовков), что показывает be1. Для ссылок на странице тоже есть хороший букмаклет от Коли Дубра.
Это в MS-VS. В BCB я не знаю как убрал галочку в линкере с динамических библиотек.
Сделал. Добавил библиотеки в архив весит раз в 10 больше стало.
В BCB нужно поставить/снять три галочки в свойствах проекта, чтобы прога запускалась везде, по-моему на вкладках Linker и Compile.
Странно, у Creeping Shadow все работало...
Скорее всего у него установлен BCB.
У меня не находит CC3269MT.DLL
Окна в плане юзабилити сделаны ужасно.
1. Начинаю двигать, вроде двигается, отпускаю - обратно возвращается. Оказывается не реализовано перекрытие, а это большой минус. И не надо рисовать перемещаемое окно за пределами области, если за эти пределы его нельзя вынести.
2. Начинаю двигать, вроде двигается, отпускаю - пропадает. Оказывается поместилось в другое окно (видимо из-за этой возможности и п.1). Предупреждать надо, подсвечивать к примеру окно, в которое будет помещено.
3. Если окно находится в другом окне, то не надо при перемещении рисовать его за пределами родительского окна.
Все проблемы из-за возможности помещения окон друг в друга. Лучше сделать эту возможность к примеру при нажатом контроле, тогда можно будет и перекрытие окон нормально сделать.
Далее: скролл используется для перематывания страницы, не надо это переназначать, увеличение уменьшение лучше сделать опять же с контролом к примеру.
И настройте табиндексы во всех формах, иначе невозможно без мыши работать. Вообще в идеале будет, если будет возможно работать с приложением вообще без мыши.
Пока все.
С уважением.
Свойство vertical-align есть только у строчных элементов и у ячеек таблиц. В приведенном примере у дивов как раз выставлены display в table и table-cell.
Могу посоветовать выставить у внешнего дива position: relative, а у внутреннего position: absolute; bottom: 0px;
Практика (моя) показывает, что в подавляющем большинстве случаев нужен не асинхронный, а обычный синхронный запрос к серверу, т.к. потом все равно приходится обрабатывать ответ, но какими-то неимоверными усилиями с перехватом событий.
В результате имеем простой код:
Недостаток: невозможность посыла post запросов. Но для многих задач вполне достаточно. В том числе перечисленных Вами.
Примерчик:
P.S. А изучить я бы посоветовал код prototype.js.
Небольшой плюсик в пользу дивов - создание разных стилей для экрана и для принтера. В таблицах конечно тоже можно, но чаще низя, поэтому приходится создавать различные страницы для печати, а как показывает практика, обычные пользователи не доходят до этих страниц, а распечатывают оригинал. На дивах имеем одну хтмл-страничку и 2 файла стилей и когда пользователь распечатывает страницу, на бумаге оказывается только нужная информация без дизайна и различных формочек, банеров, ...
Как вариант
Скрипт isscript.php отмечает где-нить включен ли JavaScript.
PHP код:
// получем ссылки в массив
preg_match_all("/<[Aa][ \r\n\t]{1}[^>]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\n\r\t]*([^ \"'>\r\n\t#]+)[^>]*>/",$contents,$url);
Как в переменную contents загнать содержимое анализируемой морды , и что делать потом с массивом ссылок, думаю придумать не сложно
Код на PHP
Только не забудьте перед этим вырезать из странички комментарии и скрипты.
opaHzheBb1u,
В результате имеем один проход по новости (причем даже внутри регулярного выражения без возвратов).
Циклы не выход с точки зрения здравого смысла: очевидно, что при оптимальном варианте новость просматривается один раз.
Лучше использовать preg_replace_callback с регулярным выражением /\w+/. Если мысль не ясна - пишите, поясню.
маленькое имхо: www.be1.ru/stat/ рулез.
С помощью выложенных букмаклетов можно с любого сайта в один клик узнать почти все (кроме заголовков), что показывает be1. Для ссылок на странице тоже есть хороший букмаклет от Коли Дубра.