

Lucky
Пользователи-
Постов
33 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Галерея
События
Весь контент Lucky
-
Тогда меняй БП, тебе же говорили... Ещё и видяшку не помешало бы поменять - проц мощный, система охлаждения, возможно, не справляется.
-
Кстати, sql.ru - пристанище для людей, просящих помощи по базам данных. А вообще, их (компонентов) несколько групп: ADO, dbExpress, компоненты для работы с Interbase, BDE (после 7-й версии не развивается, чисто для поддержки старого ПО).
-
Марко Кэнту. Delphi 7 для профессионалов.
-
бывает... отсюда мораль - именуй компоненты, как надо, чтобы не было такого головняка в след. раз
-
И нафига эта зелёная борода нужна? Читай выше, ёлы палы... смотри внимательней form3.table1.Locate и form3.Label1.Locate
-
Взят метод от компонента по работе с БД (например, Table или Query). Locate производит поиск в Dataset по указанным полям первой позиции с указанными значениями этих полей. Table и Query - потомки TDataset. Locate - метод TDataset (TDataset.Locate(...)). Судя по загруженному модулю DBTables, используется BDE.
-
Для проверки вхождения символа в строку используй функцию Pos. Присвоение Key нулевого символа (Key := #0) оставляет строку Edit'а без изменений. Кстати, для определения символа-разделителя целой и дробной частей используй константу DecimalSeparator (модуль SysUtils).
-
Конечно, ответ хотелось услышать от toll'a, но, что-то он молчит...genemy Да, ты прав, ЭТО лишнее. И прав в том, что через вьюшки можно данные менять, что-то я подрастерялся малость... X-tender Я и имел в виду ограниченный набор данных. Да и явное ограничение по действиям пользователя определяется набором его прав (т.е., у одного пользователя может быть несколько ролей).
-
Нет, Я не Петя.Фраза "динамическое представление данных" разве не означает, что этот набор создаётся в момент обращения к представлению? Ответ - динамические наборы данных (НЕ таблицы). Т.е., обращаясь к вьюшке за данными (например, SELECT * FROM View1) мы, по-сути, исполняем тот запрос, который её и формирует. Например, пускай представление View1 определено как SELECT * FROM Table1 WHERE Field3>100Тогда запрос вида SELECT * FROM View1можно представить в виде следующего запроса: SELECT * FROM (SELECT * FROM Table1 WHERE Field3>100) v1 Не помню, как насчёт MS SQL, но в Oracle есть материализованные представления (т.е. это вьюшки, у которых хранится результат в виде таблицы). Через вьюшки обычно решается распределение прав доступа к тем или иным данным - кому попало давать права на просмотр всей таблицы нет необходимости. Поэтому, вьюшки являются неким инструментом в разграничении таких прав - мы даём пользователю права на просмотр вьюшки, а не всей таблицы, тем самым оберегая себя от непредвиденных последствий (вдруг тот окажется "прошаренным маньяком" и понапакостит в данных). Таким образом, исходя из соображений безопасности, конечному пользователю данные следует передавать посредством представлений, а внесение изменений осуществлять посредством процедур (т.е. исключить прямой доступ к данным). А теперь, ВНИМАНИЕ, встречный вопрос: "В примере про JOIN я допустил ошибку. В каком месте?".
-
Views (вьюшки) - динамические представления данных. Её состав определяется командой выборки данных (SELECT). Вьюшка определена заранее, простой выбор из таблицы - более гибок. Кроме того, к вьюшке нельзя создавать индексы. Основное назначение - отражение данных конечному пользователю (т.к. даёт доступ только на просмотр данных), т.е. через вьюшку данные нельзя изменить.
-
toll Сдаётся мне, неспроста такие вопросы... В общем, чтобы не тормозило, создавай индексы - даёт ну оооооочень большой скачок в производительности. Причём, индексы в таблицах должны соответствовать тем полям, по которым идёт сравнение (т.е., в том числе и составные индексы). И можно воспользоваться разного рода соединениями через JOIN, например: SELECT t1.FieldA, t3.FieldB FROM Table1 t1 LEFT OUTER JOIN Table2 t2 ON t1.ID_t2 = t2.ID AND t2 LEFT OUTER JOIN Table3 t3 ON t2.ID_t3 = t3.ID CooDi Чтобы данные отсечь, их нужно сначала найти, а для этого и применяют индексы.
-
нужно поставить ADOConnection.LoginPrompt := false (по-умолчанию стоит true)
-
давай уже, не томи...
-
Что протёрли данной жидкостью? Тонким слоем протирали, али как?
-
The_Ice Это мы к чему сейчас клоним? Ежу понятно, что Canvas - это экземпляр класса TCanvas. Просто Dackregin не имеет представления об объектно-ориентированном программировании (ООП). Я лишь дал почву для размышления, а углубляться, уж извините, нужно самостоятельно. Dackregin Изучай принципы ООП.
-
The_Ice смысл ведь понятен? Cristian пространство имён System.Draw
-
coder потомучто Мелкософт пропагандирует до-соплей свой подход к работе с базами данных через ODBC, в то же время в Delphi способов куча - и ODBC (ADO), и родная поддержка Interbase, и dbExpress (прямое соединение через клиентские библиотеки). Я работаю с Oracle, и пробовал разные способы, поверь - через dbExpress получение данных идёт быстрее. Кроме того, модель работы с данными в C# просто убивает своей нерациональностью - зачем-то сделали возможность ПОЛУЧЕНИЯ ВСЕЙ СХЕМЫ ДАННЫХ НА КЛИЕНТА и дальнейшее извращение с созданием связей и прочего, что ДОЛЖНО БЫТЬ НА СЕРВЕРЕ БД. Кароче, бред какой-то... Конечно, есть второй вариант - работа посредством запросов, но по-незнанию люди-то хватаются именно за первый вариант. Объяснение типа "поддержка оффлайновых сервисов" меня не устраивает по той причине, что можно всё это организовать в виде локальной СУБД. В общем, двойная работа получается... Полнейшее нарушение принципа построения клиент-серверных приложений. И вся эта штука может храниться в виде XML (оффлайновая БД). Да-да, XML - это, типа, круто, да? Но почему, чёрт возьми, я должен в КЛИЕНТСКОМ ПРИЛОЖЕНИИ делать работу СЕРВЕРА БД? Видимо, те несколько тысяч людей с нетрадиционной сексуальной ориентацией, которые работают в компании, должны были что-то придумать... Они бы лучше, чем такую хрень придумывать, над производительностью подумали, сборщик мусора получше бы тестили или компоненты по работе с данными отработали (BindingSource например), чтобы эти звери память десятками мегабайт не жрали... Кароче, слюна сейчас брызгать уже начнёт...
-
Dackregin Canvas - это НЕ ФУНКЦИЯ, это КЛАСС.
-
мда... с C# башка становится похожа на голову шарпея (это такая порода собак, у них просто мозг шерстью покрыт, т.к. черепная коробка отсутствует *24) А вообще, на той же Википедии (http://ru.wikipedia.org) можно почитать про эти языки. По собственному опыту скажу, что с базами данных всё-таки эффективнее работать через Delphi. Кроме того, Delphi, в отличии от C#, поддерживает создание как полноценных Win-приложений, так и для платформы .Net.
-
Что бы не делал в 4 строчке с конца пишет: что "а" неизвестный индефикатор. И с Подпрограммами функций тоже самое. бл.., это что? с..ка, меня сейчас вывернет от такого кодинга.... человек, смотри сюда: var n,i,j:integer; Procedure XXX (var a:array [1..100,1..100] of integer); хм, нормальное начало описания ПРОЦЕДУРЫ ХХХ, хотя уместней такие вещи в своём типе описать begin write(' '); было бы интереснее вместо этой фигни вывести, например, вот это (_*_), а то так на экране ничерта не видать readln(n); for i:=1 to n do for j:=1 to n do a[i,j]:=j*i; end; а вот тут КОНЕЦ ПРОЦЕДУРЫ begin а вот тут НАЧАЛО ОСНОВНОЙ ПРОГРАММЫ [b]write(XXX(a[i,j]):3);[/b] это тут у меня начались спазмы... ХХХ - это ведь ПРОЦЕДУРА??? а у них НЕТ РЕЗУЛЬТАТА!!! writeln и потом, a[i,j] - это аргумент ПРОЦЕДУРЫ, точнее ВЫХОДНОЙ ПАРАМЕТР, или я пьян? end; а это что за хренотень? (это тут компилятор выругаться должен после устранения верхних проблем) end. а вот это конец программы, или нет??? А теперь вопрос: где учимся? ваша училка срисовывает ответы из книжки, вообще не врубаясь в суть происходящего, ничего вам не объясняя, или студент сам проквасил семестр, и теперь хвосты нагоняет? Идентификатор - знаю, индефикатор - это что? Новое оружие для разрушения мозга на клеточном уровне? Нас марсиане пытаются захватить? Товарищи, учите правильнописание, т.е. грамоту.
-
А кто придумал такое оригинальное хранение интервала? Обычно используется 2 поля: минимальная и максимальная граница интервала. Например, если таблицу обозвать Games и интервал определить полями MinAge, MaxAge, то запрос может выглядеть так: SELECT * FROM Games WHERE (:MinA BETWEEN MinAge AND MaxAge) OR (:MaxA BETWEEN MinAge AND MaxAge) где :MinA и :MaxA - входные параметры, определяющие возрастные границы.
-
Да, пылесос и капля масла дадут вторую жизнь вашим вентиляторам.
-
Всё равно, сдаётся мне, что что-то в залоченных ядрах не так - не зря ведь их на заводе прикрывают. Даже по законам маркетинга, полноценный проц кастратом делать не будут. Значит, есть в этих ядрах какой-то изъян. Стабильность в тестах ещё ни о чём не говорит - просто не возникало ДЛЯ ДАННОГО ПРОЦЕССОРА ошибочной ситуации. Проверка на более широком круге задач может выявить эту ошибку (игры, обработка видео-, аудиопотоков, архивирование и восстановление информации и т.п.). Возможно, окажутся нестабильны какие-либо блоки SIMD-расширений и т.п.
-
тут решение (правда, на Паскале, но один фиг) http://www.cyberforum.ru/pascal/thread60467.html по-поводу масштабирования... возьми какою-нибудь переменную, в которой будешь хранить коэффициент увеличения изображения, и умножай на этот коэффициент полученные координаты (не забывая про положение относительно центра координат)