Приветствуем на Форум Херсона. Форум Херсонской молодежи.. На данный момент Вы находитесь на форуме как Гость и имеете очень ограниченные возможности и права. Что бы писать или отвечать в темах, загружать картинки, файлы на форуме Вам нужно зарегистрироваться, что совершенно бесплатно. Регистрация очень быстрая, не откладывайте эту процедуру! Если возникнут проблемы с регистрацией напишите нам. |
|
Программирование Все вопросы по написанию программ |
Просмотр темы (Новые вначале) |
20.10.2007 22:25 | ||
NLO34 | мда, действительно. я просто столкнулся с проблемой индексов, и спихнул все на делфу. вникать глубже и разбирать что за что отвечает не стал. спасибо за ремарку) | |
17.10.2007 16:50 | ||
zwitter |
TComboBox::Sorted ? true ? хотя тут оно посортирует по алфавиту, а тебе надо по возрастанию дат. так что советую отсортировать даты и засвинячить туда. а потом думать как организовать корректное добавление в список |
|
17.10.2007 15:50 | ||
Debian | Google can help you | |
16.10.2007 20:28 | ||
Shooter | итак, есче один вопрос. У меня есть ComboBox заполненый датами, перед этим преобразоваными в стринг, тоесть каждая запись имеет формат dd.mm.yyyy. Вопрос - как отсортировать их по возрастанию? либо может есть какой компонент типа ComboDateBox | |
16.10.2007 19:59 | ||
Робот Вертер | Та я ж не про тебя =) Я про него =) Я думал ты в курсе его религиозных догм =) | |
16.10.2007 19:58 | ||
TIGR | мне религия всё позволяет просто изначально спрашивающий отказался от TQuery. я собсвенно и писал что лучше использовать именно запросы и компонент TQuery. | |
16.10.2007 19:53 | ||
Робот Вертер | А почему такое ограничение? Юзать при решении задачи TTable - это догма какаято? Обратиться к TQuery религия не позволяет? =) | |
16.10.2007 19:52 | ||
Робот Вертер |
Тигр короче все уже успел написать =) 2Шутер Ты глубже старайся разбираться с тем с чем работаешь. А то вопросы действительно выглядят как "я тут чето поклацал мышкой на визуальных объектах, и у меня код не компилится". Если занялся работой с БД разберись хоть с чем ты конкретно работаешь. БД существует огромное множество. И скл-ориентированных и более тупых. 2NLO34 Индексы слабое место в Дельфе - это ты весело пошутил Вообщето индексы делают с данными, а за их хранение и передачу отвечает не Дельфя, а транспорт, который ты юзаешь для подключения к данным. ADO например. Вообще Парадоксовские базы - это древность несусветняя. Юзать их можно только на самом начальном этапе, чтоб научиться вообще с данными работать. Потом переходи на чтото скл-евое. Там и индексы рисовать нада. В самих таблицах, а вовсе не в Дельфе. Дельфя получает то, что ты написал в запросе, через тот транспорт, что ты выбрал, а он юзает те индексы, что ты описал в своих таблицах. |
|
15.10.2007 20:33 | ||
TAVI$K@R()N | в следующий раз - обязательно))) | |
15.10.2007 19:58 | ||
TIGR | это конечно можно тока ты уточняй что это sql-запрос, и ему надо было средсвами TTable а не TQuery. | |
15.10.2007 19:08 | ||
TAVI$K@R()N |
еще кстате можно проще делать: есть команда криэйт индекс : create index название_индекса on название_таблицы (название_столбца) |
|
06.10.2007 19:37 | ||
NLO34 |
Когда первый раз столкнулся с индексаций вообще не понял нах она нужна.))) по сути: индексы одно из слабых мест в делфе. у меня была проблемма когда из-за дата создания индексов (я удалял старые, добавлял новые) не раобтала полноценно сама база. (точнее прога с ней связанная) поэтому если тебе понадобится всячески менять или пересоздавать индексные файлы учти эту особенность. |
|
06.10.2007 12:11 | ||
Shooter | TIGR, выражаю благодарность, действительно помог разобраться кое в чем, учитывая что с базами только недавно работать начал, вобщем спасибо тебе | |
06.10.2007 11:18 | ||
TIGR |
Цитата:
ты хочешь сказать что ты создаешь таблицу во время выполнения программы и хочешь добавить индексированое поле? ps Свойство TableType имеет тип TTableType и определяет тип таблицы в базе данных. Если это свойство установлено в ttDefault, тип таблицы определяется по расширению файла, содержащего эту таблицу: Расширение .DB или без расширения: таблица Paradox Расширение .DBF : таблица dBASE Расширение .TXT : таблица ASCII (текстовый файл). ------------------------------------------------------- Если Вы желаете индексировать таблицу по одному или нескольким полям, используйте метод Add для свойства IndexDefs, которое, как можно догадаться, также является объектом, т.е. экземпляром класса TIndexDefs. Свойство IndexDefs для существующей таблицы содержит информацию обо всех индексах таблицы. Эта информация доступна только в режиме выполнения и хранится в виде массива экземпляров класса TIndexDef, хранящих данные об индексах таблицы. Число индексов определяется свойством Count, а доступ к элементам массива осуществляется через свойство Items: property Items[Index: Integer]: TIndexDef; Метод Add класса TIndexDefs имеет следующий вид: procedure Add(const Name, Fields: string; Options: TIndexOptions); Параметр Name, имеющий тип string, определяет имя индекса. Параметр Fields (также имеющий тип string) обозначает имя поля, которое должно быть индексировано, т.е. имя индексируемого поля. Составной индекс, использующий несколько полей, может быть задан списком имен полей, разделенных точкой с запятой “;”, например: ‘Field1;Field2;Field4’. Последний параметр - Options - определяет тип индекса. Он может иметь набор значений, описываемых типом TIndexOptions: TIndexOptions = set of (ixPrimary, ixUnique, ixDescending, ixCaseInsensitive, ixExpression); ... Следует отметить, что для формата Paradox опция ixUnique может использоваться только вместе с опцией ixPrimary пример: Код:
with Table1 do begin DatabaseName:='dbdemos'; TableName:='mytest'; TableType:=ttParadox; {Создать поля} with FieldDefs do begin Add('Surname', ftString, 30, true); Add('Name', ftString, 25, true); Add('Patronymic', ftString, 25, true); Add('Age', ftInteger, 0, false); Add('Weight', ftFloat, 0, false); end; {Сгенерировать индексы} with IndexDefs do begin Add('I_Name', 'Surname;Name;Patronymic', [ixPrimary, ixUnique]); Add('I_Age', 'Age', [ixCaseInsensitive]); end; CreateTable; end; |
|
06.10.2007 09:00 | ||
Shooter |
Цитата:
Процедурка AddIndex сама по себе не работает, перед ее использованием как минимум нужно деактивировать и открыть таблицу, + сделать Exclusive:=True, но даже при всем этом индексировать отказываеться, возможно потому что таблица создаеться при начале выполнения программы, хотя чего я уже только не пробывал... |
|
05.10.2007 23:12 | ||
TIGR |
я так понимаю ты подлючаешь файлы с расширением *.db, эт парадоксовские файлы, для того чтобы добавить индексы в существующую базу у компонента TTable есть метод: procedure AddIndex(const Name, Fields: string; Options: TIndexOptions); вот его и используй. зы вообще лучше и правильней использовать TQuery. |
|
05.10.2007 22:59 | ||
TIGR | что ты имеешь ввиду под словом "дефоултовскую", таких нет. | |
05.10.2007 22:57 | ||
TIGR | не трудно | |
05.10.2007 20:44 | ||
Snaiper | поетому и фореве ))) | |
05.10.2007 20:20 | ||
Shooter | мне нужно проиндексировать самую обычную дефоултовскую базу, подключена она действительно в бде и отображаеться в ттейбл | |
05.10.2007 20:16 | ||
Spayder |
вот из html кода чтоб брало: |
|
05.10.2007 20:09 | ||
Spayder | у меня вот вопрос трудно ли написать прогу например в неё вводиш ссылку определенную на сайт а она выдает тебе инфу которую она берет из хтмл кода код не меняецся от определенной начала до другой точки ? | |
05.10.2007 19:51 | ||
TIGR | наверное ты хочешь индексировать непосредсвено в твоей проге парадоксовскую таблицу, подключенную средсвами бде, и отображенную в TTable. так? | |
05.10.2007 19:32 | ||
Keller | какую таблицу? а то я не врубил... | |
05.10.2007 19:25 | ||
Shooter | на виндоусе можно программировать???))))) | |
05.10.2007 18:54 | ||
Snaiper | Windows-forever =))) | |
05.10.2007 17:31 | ||
Shooter |
Индексациия Привет парни, кто подскажет как програмно проиндексировать таблицу в делфе? |