Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.10.2010, 03:29
doctordradd doctordradd вне форума
Прохожий
 
Регистрация: 20.10.2010
Сообщения: 18
Репутация: 10
По умолчанию Правильно сложить цифровые значения Combobox-ов

Подскажите, пожалуйста, как правильно произвести сложение цифровых значений Combobox-ов.

При сложении у меня выдает результат сложения значений ItemIndex, которые выставлены по умолчанию в Combobox, нужно, чтоб при изменении значений автоматически менялся результат Edit1.

Код:
Edit1.Text:=IntToStr(StrToInt(Combobox1.Text)+StrToInt(Combobox2.Text));

Спасибо.
Ответить с цитированием
  #2  
Старый 24.10.2010, 03:51
Аватар для ryderx34
ryderx34 ryderx34 вне форума
Активный
 
Регистрация: 22.01.2010
Сообщения: 211
Версия Delphi: 7, 2010
Репутация: 1349
По умолчанию

засунь этот код в OnChange ComboBox-ов
Ответить с цитированием
  #3  
Старый 24.10.2010, 05:21
doctordradd doctordradd вне форума
Прохожий
 
Регистрация: 20.10.2010
Сообщения: 18
Репутация: 10
По умолчанию

Ммм...извините, не совсем побял, вернее совсем не понял...
Не обьявлял ничего combobox-ам перед строкой сложения, т.е. берется значение текста combobox как есть, если нетрудно, покажите, пожалуйста, как засунуть в onChange...
спасибо
Ответить с цитированием
  #4  
Старый 24.10.2010, 05:36
Аватар для ryderx34
ryderx34 ryderx34 вне форума
Активный
 
Регистрация: 22.01.2010
Сообщения: 211
Версия Delphi: 7, 2010
Репутация: 1349
По умолчанию

в ObjectInspector-е, на вкладке Events, найди OnChange, кликни два раза по этой строке и появится процедура, вот в неё и вписывай свой код:
Код:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  Edit1.Text:=IntToStr(StrToInt(Combobox1.Text)+StrToInt(Combobox2.Text));
end;
Ответить с цитированием
  #5  
Старый 24.10.2010, 18:16
doctordradd doctordradd вне форума
Прохожий
 
Регистрация: 20.10.2010
Сообщения: 18
Репутация: 10
По умолчанию

Спасибо, сложение получилось!

Возникла новая проблема при чтении данных результата, если считать результат, не изменяя значение комбобоксов, результат в окошке Edit1 показывает 2, т.е. результат сложения индексов комбобоксов, при изменении значения комбобоксов результат получается правильный...
Подскажите, пожалуйста, как считать результат в этом случае.

Так считываю и записываю:
Чтение:

Код:
Edit1.text:=main.ini.ReadString(SECT,'n6','');
Combobox1.ItemIndex:=Combobox1.Items.IndexOf(main.ini.readstring(SECT,'n20',''));
Combobox2.ItemIndex:=Combobox2.Items.IndexOf(main.ini.readstring(SECT,'n21',''));

Запись:

Код:
main.ini.WriteString(Nombres_PPL.Text,'n6',Edit1.Text);
main.ini.WriteString(Nombres_PPL.Text,'n20',Combobox1.Text);
main.ini.WriteString(Nombres_PPL.Text,'n21',Combobox2.Text);

Так же возникла проблема при чтении и записи данных с Datetimepicker, записывается изначально выбранная дата, при попытке редактировать дата меняется автоматически на дату создания календаря (17.10.2010 в моем случае) и невозможно изменить поле и перезаписать дату...

Запись:

Код:
if length(DateTimePicker1.Format)>0 then
       main.ini.WriteString(Nombres_PPL.text,'n3',formatdatetime('dd/mm/yyyy', (DateTimePicker1.Date)))

Чтение:

Код:
DateTimePicker1.Format:=main.ini.ReadString(SECT,'n3','');

lmikle: Все. Дальше буду карать за неиспользование тегов!!!

Спасибо.
Ответить с цитированием
  #6  
Старый 24.10.2010, 20:08
Аватар для ryderx34
ryderx34 ryderx34 вне форума
Активный
 
Регистрация: 22.01.2010
Сообщения: 211
Версия Delphi: 7, 2010
Репутация: 1349
По умолчанию

попробуй так:
Код:
// запись
Main.Ini.WriteString('SECT','n6',Edit1.Text);
Main.Ini.WriteInteger('SECT','n20',ComboBox1.ItemIndex);
Main.Ini.WriteInteger('SECT','n21',ComboBox2.ItemIndex);
Main.Ini.WriteDate('SECT', 'n3', DateTimePicker1.Date);
// чтение
Edit1.Text := Main.Ini.ReadString('SECT','n6','');
ComboBox1.ItemIndex := Main.Ini.ReadInteger('SECT','n20',0);
ComboBox2.ItemIndex := Main.Ini.ReadInteger('SECT','n21',0);
DateTimePicker1.Date := Main.Ini.ReadDate('SECT', 'n3', StrToDate('24.10.2010'));
Ответить с цитированием
  #7  
Старый 25.10.2010, 20:38
doctordradd doctordradd вне форума
Прохожий
 
Регистрация: 20.10.2010
Сообщения: 18
Репутация: 10
По умолчанию

Заработали пикеры, их 2, спасибо...

Значения комбобоксов как и ранее без изменений, считываются, но значение поля результата сложения считывается 2, т.е. индекс по умолчанию, для того чтоб изменить данные, приходится менять значение комбобокса любого...

Смысл программы: Вводятся данные различные людей с формы ввода, при клике на человеке открывается такая же форма что и при вводе с уже введенными данными, которые нужно изменять иногда.

Очень буду благодарен, если поможете довести до ума, в delphi не силен, редактирую базу телефонного справочника, больше с html и анимацией работаю...
Спасибо.

Последний раз редактировалось doctordradd, 25.10.2010 в 23:21.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:54.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025