В BCB нужно поставить/снять три галочки в свойствах проекта, чтобы прога запускалась везде, по-моему на вкладках Linker и Compile.
Скорее всего у него установлен BCB.
У меня не находит CC3269MT.DLL
Окна в плане юзабилити сделаны ужасно.
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; }, getContent: function(url) { var req = Ajax.getTransport(); try { req.open('GET', url, false); req.send(null); } catch (e) { return ''; } return req.responseText; } };
Недостаток: невозможность посыла post запросов. Но для многих задач вполне достаточно. В том числе перечисленных Вами.
Примерчик:
if (Ajax.getContent('mail.php?mailto=bla@yandex.ru&body=Message') == '1') alert('Сообщение отправлено'); else alert('Сообщение не удалось отправить');
P.S. А изучить я бы посоветовал код prototype.js.
Небольшой плюсик в пользу дивов - создание разных стилей для экрана и для принтера. В таблицах конечно тоже можно, но чаще низя, поэтому приходится создавать различные страницы для печати, а как показывает практика, обычные пользователи не доходят до этих страниц, а распечатывают оригинал. На дивах имеем одну хтмл-страничку и 2 файла стилей и когда пользователь распечатывает страницу, на бумаге оказывается только нужная информация без дизайна и различных формочек, банеров, ...
Как вариант
<script type="text/javascript"> document.write('<img src="isscript.php?script=1" width="1" height="1">');</script><noscript> <img src="isscript.php?script=0" width="1" height="1"></noscript>
Скрипт isscript.php отмечает где-нить включен ли JavaScript.
Только не забудьте перед этим вырезать из странички комментарии и скрипты.
opaHzheBb1u,
function callback($matches) { // В $matches[0] будет нужное слово, // если оно есть в словаре то функция возвращает ссылку // если нет, то само слово}$news = preg_replace_callback("/\w+/", "callback", $news);
В результате имеем один проход по новости (причем даже внутри регулярного выражения без возвратов).
Циклы не выход с точки зрения здравого смысла: очевидно, что при оптимальном варианте новость просматривается один раз.
Лучше использовать preg_replace_callback с регулярным выражением /\w+/. Если мысль не ясна - пишите, поясню.
С помощью выложенных букмаклетов можно с любого сайта в один клик узнать почти все (кроме заголовков), что показывает be1. Для ссылок на странице тоже есть хороший букмаклет от Коли Дубра.