Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Ашотик2018
19 / 15 / 12
Регистрация: 25.02.2018
Сообщений: 162
1

Значение из COMBOBOX в EDIT из текстового файла

12.03.2018, 09:50. Просмотров 829. Ответов 8
Метки нет (Все метки)

Доброго времени суток!
Есть не обходимость использовать в проекте COMBOBOX и EDIT. Значения в COMBOBOX загрузить из текстового файла COLOR.TXT загрузить удалось, проблем не возникло. Вопрос в следующем - как при выборе опредленного значения в COMBOBOX в EDIT прописывалось значение, которое тоже указано в этом же текстовом файле. Т.е. в текстовом файле записано КРАСНЫЙ - 111, теперь при выборе в COMBOBOX значения "КРАСНЫЙ", в EDIT автоматически вносилось значение, которое задано ему в соответствии в текстовом файле "111". Суть понимаю, но до конца дойти не могу, и если в коде прописывать значения, которые соответствуют ITEM COMBOBOX, то все работает. Но смысл в том, что в любой момент значения могут поменяться, и придется заново переписывать код, и снова компилировать програмку.

Вот что у меня получилось:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
    if ComboBox1.ItemIndex=0 then Edit1.Text :='ВСТАВИТЬ ЗНАЧЕНИЕ ИЗ TXT ФАЙЛА';
    if ComboBox1.ItemIndex=1 then Edit1.Text :='ВСТАВИТЬ ЗНАЧЕНИЕ ИЗ TXT ФАЙЛА';
    if ComboBox1.ItemIndex=2 then Edit1.Text :='ВСТАВИТЬ ЗНАЧЕНИЕ ИЗ TXT ФАЙЛА';
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  Combobox1.Items.LoadFromFile('color.txt');
end;
 
end.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2018, 09:50
Ответы с готовыми решениями:

Как загрузить в edit значение из текстового файла
Допустим есть текстовый файл с 10 строчками,в каждой строчке записано число.Как...

Сравнение текстового файла с данными edit
Доброго времени суток. Глобальная задача создать кроссворд. Локальная ...

Как добавить значение Items в ComboBox через Edit?
Добавляю новое значение в файл combo.txt var f: textfile; begin...

Из текстового файла получить слова и вывести их в разные Edit-ы
В текстовом файле написано " :: 11 :: Лалаа :: Палаа :: Лала Пала :: " ...

Как сделать, чтобы выбирая определённый пункт из ComboBox, в Edit отображалось заданное значение
Дорогие форумчане! Я весь интернет перерыл. И на этом форуме вроде тоже всё...

8
SkyLion27
66 / 65 / 22
Регистрация: 25.06.2017
Сообщений: 120
12.03.2018, 10:02 2
Delphi
1
2
3
4
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
edit1.Text:=Combobox1.Text;
end;
0
D1973
Модератор
3647 / 2627 / 1282
Регистрация: 21.01.2014
Сообщений: 11,116
Записей в блоге: 3
Завершенные тесты: 1
12.03.2018, 10:28 3
Лучший ответ Сообщение было отмечено Ашотик2018 как решение

Решение

Если есть файл примерно такого вида:
Красный - 111
Синий - 222
Зеленый - 333
Черный - 666
то Ваш вопрос можно решить так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
private { Private declarations }
    L: TStringList;
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
//Создание формы
procedure TForm1.FormCreate(Sender: TObject);
begin
 L := TStringList.Create;
 L.NameValueSeparator := '-';
end;
 
//Уничтожение формы
procedure TForm1.FormDestroy(Sender: TObject);
begin
 L.Free;
end;
 
//Заполнение комбобокса
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
 L.LoadFromFile('d:\tmp\111.txt');
 for i := 0 to L.Count - 1 do
  ComboBox1.Items.Add(Trim(L.Names[i]));
 ComboBox1.ItemIndex := -1;
end;
 
//Выбор элемента комбобокса
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
 Edit1.Text := Trim(L.ValueFromIndex[ComboBox1.ItemIndex]);
end;
1
Ашотик2018
19 / 15 / 12
Регистрация: 25.02.2018
Сообщений: 162
13.03.2018, 01:14  [ТС] 4
Спасибо! Да это именно то что нужно!
0
Ашотик2018
19 / 15 / 12
Регистрация: 25.02.2018
Сообщений: 162
13.03.2018, 01:58  [ТС] 5
D1973. Пару небольших вопросов у меня к Вам, если можно то, подскажите как сделать правильно:
1. Код не менял, используется Ваш. Но при повтором нажатии на BUTTON1 в COMBOBOX повторно записываются значения из файла их получается уже несколько, дублирующих друг друга. Как убрать это?
2. Возможно ли как-нибудь реализовать все это без участия кнопки BUTTON1, то есть чтобы при загрузке формы данные из файла сразу грузились в COMBOBOX?

Скриншот к первому вопросу.
0
Миниатюры
Значение из COMBOBOX в EDIT из текстового файла  
qwertehok
2321 / 2222 / 605
Регистрация: 29.08.2013
Сообщений: 14,879
13.03.2018, 08:08 6
Цитата Сообщение от Ашотик2018 Посмотреть сообщение
чтобы при загрузке формы
убери код из кнопки и помести в событие формы - onShow

Цитата Сообщение от Ашотик2018 Посмотреть сообщение
повторно записываются значения из файла их получается уже несколько
перед загрузкой надо очистить Combobox командой Combobox.Items.Clear
1
Ашотик2018
19 / 15 / 12
Регистрация: 25.02.2018
Сообщений: 162
13.03.2018, 09:28  [ТС] 7
Qwertehok, спасибо большое! Работает.
0
D1973
13.03.2018, 09:32
  #8

Не по теме:

Цитата Сообщение от qwertehok Посмотреть сообщение
перед загрузкой надо очистить Combobox
От, блин, забыл... :-|

0
Ашотик2018
19 / 15 / 12
Регистрация: 25.02.2018
Сообщений: 162
13.03.2018, 09:39  [ТС] 9
D1973 ты хоть может и забыл)) я вообще и не знал даже. Сидел и тупил битый час! Спасибо еще раз!
0
13.03.2018, 09:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2018, 09:39

Rак мне cделать так, чтобы при каждом нажатии на button, в edit выводилась строчка из текстового файла.
Здарова всем програмистам подскажите как мне зделать так чтоби при каждом...

Edit Label (линейный) Panel, Edit Label (строки), Memo (одномер-ный),ComboBox ListBox , RadioButton (RadioGroup) CheckBox ,StringGrid (ввод пароля)
1)Edit Label (линейный) Panel Проверить истинность высказывания: "Цифры...

Edit и Combobox
Подскажите пожалуйста. Есть на форме Edit и Combobox. В Combobox-е есть список....


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru