Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
1 / 1 / 1
Регистрация: 02.12.2009
Сообщений: 167

Form1.Components[k] не видит TEdit

17.10.2017, 21:19. Показов 5245. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хотел очистить все Edit на форме от Text. Но по какой-то причине то, что работает с TLabel не работает с TEdit
Bcgjkmpe. ShowMessage('1'); для проверки условия и ничего не выдает.
Почему такое может быть? На машине есть установленный ememcadero starter он может такое сделать(заменить библиотеки и т.п.)?
Вот код который использую
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
procedure TForm1.FormCreate(Sender: TObject);
var
  i:integer;
  k:integer;
begin
SQLQuery1.Close;
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add('Select * from tink');
SQLQuery1.Open;
SQLQuery1.First;
k:=1;
For i:=0 to  SQLQuery1.RecordCount do begin
      if k<9 then begin
       if Form1.Components[k] is TLabel then (Form1.Components[k] as TLabel).Caption := SQLQuery1.Fields[0].AsString;
       if Form1.Components[k] is Tlabel then ShowMessage('1');
         //(Form1.Components[k] as TEdit).Clear;
        SQLQuery1.Next;
        k:=k+1;
        ShowMessage(IntToStr(k));
        end;
       end;
SQLQuery1.Close;
end;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.10.2017, 21:19
Ответы с готовыми решениями:

Метод Main не видит Form1
Нашел одну программку, она работает. Скопировал код к себе,чтобы местами код,а он выдает ошибку using System; using...

ActiveX Control: Form1.Show bvModal if(Form1.Text1.Text <> '') then UserControl.Text2.Text = Form1.Text1.Text
Имеется проект ActiveX Control, в нем: Form1(имеет Text1, Button1), UserControl1 (имеет Text2, Button2). По нажатию на Button2 открывается...

Почему на строку word=form1.pattern.value IE ругается: form1-определение отсутствует?
Почему на строку word=form1.pattern.value IE ругается: form1-определение отсутствует? pattern- это имя текстового поля. Но при...

30
1 / 1 / 1
Регистрация: 02.12.2009
Сообщений: 167
18.10.2017, 00:19  [ТС]
Студворк — интернет-сервис помощи студентам
В каком виде лучше Вам базу кинуть? Я не работал еще толком в MySQL не могу выбрать, что лучше.
Там всего 1 таблица. Я только-только начал заниматься lazarus. Вот скриншот это таблицы.
Миниатюры
Form1.Components[k] не видит TEdit  
0
Джоуи
 Аватар для Joey
1083 / 645 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2
18.10.2017, 00:38
Цитата Сообщение от hiddenRaum Посмотреть сообщение
Хотел этим кодом очистить Edit.Text (удобно когда программируешь и видишь названия элементов, а когда программ работает, то они уже мешают). Но этот код не работает. Для Label вроде работает (с некоторыми оговорками)
Когда обрабатываешь OnCreate, надо быть очень осторожным, потому что в этот момент у компонентов формы некоторые качества отличаются от того, когда программа работает. Например, визуальную их сторону нельзя трогать (грубо говоря).

То, что Вы хотите сделать сработает только на OnShow

Добавлено через 3 минуты
Цитата Сообщение от hiddenRaum Посмотреть сообщение
В каком виде лучше Вам базу кинуть?
как файл. Как он у Вас называется tinkoff
0
1 / 1 / 1
Регистрация: 02.12.2009
Сообщений: 167
18.10.2017, 00:52  [ТС]
Ответ про OnShow не обрадовал, но хотя бы понятен.

Вот файлы базы и таблиц. Скопировать не вышло, так как сервер не дает доступа к файлам. ругнулось и не дало сделать архив для отправки. Там лежат несколько файлов и я не знаю сможете ли вы их потом использовать. чтоб они заработали.
Прикладываю выгрузки из phpmyadmin у него есть средства выгрузки и загрузки. Мне кажется так точно выйдет импортировать базу.
0
1 / 1 / 1
Регистрация: 02.12.2009
Сообщений: 167
18.10.2017, 00:54  [ТС]
Не пиркрепились видимо формат не тот. Вторая попытка
Вложения
Тип файла: zip Desktop.zip (1.7 Кб, 4 просмотров)
0
1 / 1 / 1
Регистрация: 02.12.2009
Сообщений: 167
18.10.2017, 01:01  [ТС]
Перенес код на OnShow - все равно не работает

Добавлено через 3 минуты
Использую кнопку для выполнения кода на уже созданной и загруженной форме. Все равно не срабатывает.
Так что дело как минимум не только в том, что форма еще не до создалась.
0
Джоуи
 Аватар для Joey
1083 / 645 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2
18.10.2017, 01:17
Цитата Сообщение от hiddenRaum Посмотреть сообщение
Использую кнопку для выполнения кода на уже созданной и загруженной форме. Все равно не срабатывает.
Я открыл Ваш проект, перенес код в OnShow - у меня работает. Что-то Вы делаете не так
0
1 / 1 / 1
Регистрация: 02.12.2009
Сообщений: 167
18.10.2017, 11:26  [ТС]
А что я могу делать не так?

Добавлено через 7 минут
У меня 64-bit windows и все остальное установлено 64 бита.
Виндовс русскоязычная, но интерфейс я выбрал на английском языке
Может lazarus-у есть разница, где запускаться на Вашей машине или на моей, но код ведь одинаковый.

Добавлено через 2 часа 36 минут
Создал новый проект. накидал элементы и запустил на компиляцию. Выдает ошибку:
External:SIGS EGV

Хоть Вы и пытаетесь меня уговорить, что Lazarus это хорошо, но я все больше начинаю думать, что это не так.

Добавлено через 1 час 10 минут
Удалил Rad studio, переустановли Lazarus. Лучше не стало. Теперь еще добавились "странности" с SQl компонентами. Ругаются на то что запрещены циклические запросы.
Components так и не заработал. Пойду посмотрю в сторону С#
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33466 / 21565 / 8249
Регистрация: 22.10.2011
Сообщений: 37,017
Записей в блоге: 12
18.10.2017, 11:37
Цитата Сообщение от hiddenRaum Посмотреть сообщение
Пойду посмотрю в сторону С#
Жду вопросов в ветке по Шарпу: "Ааааа!!!!111... Ничего не работает, переустановил Windows - стало еще хуже"

"Нечего на зеркало пенять..." (С)
1
1 / 1 / 1
Регистрация: 02.12.2009
Сообщений: 167
18.10.2017, 11:41  [ТС]
ок...
0
602 / 550 / 210
Регистрация: 24.01.2012
Сообщений: 1,352
18.10.2017, 12:07
Если вместо этого куска кода
Pascal
1
2
3
4
5
6
7
8
9
10
k:=1;
while not SQLQuery1.EOF do begin
       if Components[k] is TLabel then (Components[k] as TLabel).Caption := SQLQuery1.FieldByName('Que').AsString;
       //if Components[k] is TEdit then ShowMessage('1');
       if Components[k] is Tedit then ShowMessage('1');
         //(Form1.Components[k] as TEdit).Clear;
        SQLQuery1.Next;
        k:=k+1;
        //ShowMessage(IntToStr(k));
        end;
вставить этот
Pascal
1
2
3
4
5
6
7
for k:=0 to componentcount-1 do begin
  if (Components[k] is TLabel) and not SQLQuery1.EOF  then begin
    (Components[k] as TLabel).Caption := SQLQuery1.FieldByName('Que').AsString;
    SQLQuery1.Next;
  end;
  if Components[k] is Tedit then (Components[k] as TEdit).text:='';
end;
то должно хоть как-то заработать
1
1 / 1 / 1
Регистрация: 02.12.2009
Сообщений: 167
18.10.2017, 12:38  [ТС]
Да, этот код сработал
Но почему надо писать так не понятно .. мне такие финты не нравятся
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.10.2017, 12:38

Как сделать чтобы окна Form1 и Form1(Design) открывались автоматически?
Как сделать чтобы окна Form1 и Form1(Design) открывались автоматически? В Visual Studio 2010.

Чем отличается Load Form1 от Form1.Visible = true?
ToolBox размещена на основной форме (Form1). На MouseDown подвешено открытие формы Form2 (Form2.Show vbModal), после закрытия которой...

Через Form1 открывают Form2 там открывается Form3 которая меняет данные в Form1. Но они не меняются
В первой форме Main по нажатию кнопки вызываю другую форму private void Button_AddVetrina(object sender, EventArgs e) { ...

Класс Form1 и экземпляр класса Form1. Путаница
Всем привет! Поиском подобной темы не нашел. Создавая любой Windows Forms-проект на VB.NET, по умолчанию создается класс Form1. При...

Как связаны Form1.cs и Form1.Designer.cs?
При создании проекта приложение Windows Forms,у нас имеется 4 вкладки: -1) Program.cs-точка входа для приложения -2) Form1.cs -3)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru