Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2013, 16:47   #11
Andrej_K
Форумчанин
 
Регистрация: 27.07.2013
Сообщений: 256
По умолчанию

Спасибо. И этот код сделать процедурой при создании формы (открытии окна)?
А вот тут — Table.Fields[0] — значение в квадратных скобках разве инкремировать не нужно? Это делает Table.Next?

Последний раз редактировалось Andrej_K; 23.12.2013 в 16:55.
Andrej_K вне форума Ответить с цитированием
Старый 23.12.2013, 17:10   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
И этот код сделать процедурой при создании формы (открытии окна)?
Та это кагбэ на твое успотрение. Сразу после открытия набора вставь.
Цитата:
значение в квадратных скобках разве инкремировать не нужно?
Нет. Это номер поля (колонки) а не записи. Table.Next переходит на следующую запись.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.12.2013, 17:29   #13
Andrej_K
Форумчанин
 
Регистрация: 27.07.2013
Сообщений: 256
По умолчанию

Блин, тема плавно переходит в сторону БД.
Но что делать, сдесь продолжу уже…

Вот что я намудрил:

Код:
procedure TFormGlavnoeOkno.FormCreate(Sender: TObject);
begin
While not ADOTableKluchevyeSlova.eof do begin
 CheckListBoxSpisokSlov.Items.Add(ADOTableKluchevyeSlova.Table.Fields[1].asString);
 ADOTableKluchevyeSlova.Next;
end;
end;
Хлещет ошибками…
В таблице у меня есть ещё ключевое поле (первое), поэтому я правильно сделал, что полю, из которого делается выборка, назначил «1»? Всего два поля.

Последний раз редактировалось Andrej_K; 23.12.2013 в 17:35.
Andrej_K вне форума Ответить с цитированием
Старый 23.12.2013, 17:42   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Во 1-х нужно показывать какие ошибки
Во 2-х датасет должен быть открыт на момент выполнения такого кода. Подозреваю, что этого не сделано
В 3-их нумерация начинается с 0 и это легко проверяется даже методом тыка без пустых вопросов на форуме
В 4-ых перед началом цикла не помешает ADOTableKluchevyeSlova.First, кто знает где находится указатель записи
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 23.12.2013 в 17:45.
Аватар вне форума Ответить с цитированием
Старый 23.12.2013, 17:53   #15
Andrej_K
Форумчанин
 
Регистрация: 27.07.2013
Сообщений: 256
По умолчанию

Вот ошибки.
То, что начинается с ноля, я знаю. Речь шла о поле, данные которого нужно выводить, оно у меня второе по счёту, вот я и поставил значение «1».
Изображения
Тип файла: jpg 1.jpg (80.4 Кб, 35 просмотров)
Тип файла: jpg 2.jpg (98.9 Кб, 94 просмотров)
Тип файла: jpg 3.jpg (51.9 Кб, 50 просмотров)

Последний раз редактировалось Andrej_K; 23.12.2013 в 18:00.
Andrej_K вне форума Ответить с цитированием
Старый 23.12.2013, 18:01   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Внимательнее будь: DataModuleVinos содежит твое АДОквери, вот его ты в цикле и забыл
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.12.2013, 18:09   #17
Andrej_K
Форумчанин
 
Регистрация: 27.07.2013
Сообщений: 256
По умолчанию

Сделал вот так:

Код:
procedure TFormGlavnoeOkno.FormCreate(Sender: TObject);
begin
While not DataModuleVynos.ADOTableKluchevyeSlova.eof do begin
 CheckListBoxSpisokSlov.Items.Add(DataModuleVynos.ADOTableKluchevyeSlova.FieldByName('Slova').AsString);
 DataModuleVynos.ADOTableKluchevyeSlova.Next;
end;
end;

end.
Теперь выдаёт ошибок уже меньше, но выдаёт) Сборка и компиляция проходят нормально, а призапуске вот такая хрень:
Изображения
Тип файла: jpg pic_3.jpg (34.3 Кб, 38 просмотров)
Andrej_K вне форума Ответить с цитированием
Старый 23.12.2013, 18:15   #18
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Возможно это потому что FormglavnoeOkno создается раньше чем DataModule.
Значит нужно этот код вставлять в другое место программы. Например в OnCreate этого Датамодуля. При этом не забывая писать в коде FormGlavnoeOkno.DataModuleVynos.ADO TableKluchevyeSlova.Бла-Бла
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.12.2013, 19:56   #19
Andrej_K
Форумчанин
 
Регистрация: 27.07.2013
Сообщений: 256
По умолчанию

Да, видимо дело в этом. Я кинул на форму кнопку и по её нажатию запустил цикл:

Код:
procedure TFormGlavnoeOkno.Button1Click(Sender: TObject);
begin
While not DataModuleVynos.ADOTableKluchevyeSlova.eof do
begin
 CheckListBoxSpisokSlov.Items.Add(DataModuleVynos.ADOTableKluchevyeSlova.FieldByName('Slova').AsString);
 DataModuleVynos.ADOTableKluchevyeSlova.Next;
end;
end;
Всё вывелось в ЧекЛистБокс как миленькое. Буду думать, как запустить вывод при запуске приложения.
Andrej_K вне форума Ответить с цитированием
Старый 23.12.2013, 20:22   #20
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Думать здесь особенно нужды нет - все уже давным-давно придумано.
Если дата модуль при запуске программы создавать первым, перед созданием главной формы, то к моменту OnCreat формы компоненты доступа к БД будут активными и к ним можно обращаться без ошибок.
А чтобы дата модуль создавался первым нужно открыть меню Project - Options
закладка Forms и в левом списке перетащить мышкой дата модуль вверх на первое место.
Все. Можно заполнять список в FormCreate формы.
Прик вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть ли такой компонент в Delphi? bakanaev Общие вопросы Delphi 2 09.07.2013 11:54
Есть ли такой компонент в Delphi bakanaev Общие вопросы Delphi 5 07.04.2013 13:51
Подскажите пожалуйсто, есть-ли такой компонент? dinamid Компоненты Delphi 6 23.12.2009 09:19
Сумма прописью, есть ли такой компонент? Vit@L Общие вопросы Delphi 8 01.12.2009 13:10
Есть ли такой компонент? artemavd Компоненты Delphi 6 11.05.2009 01:47