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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 24.08.2008, 00:20
Beast Beast вне форума
Прохожий
 
Регистрация: 23.08.2008
Сообщения: 47
Репутация: 10
По умолчанию

Подскажи еще на счет этого -

Ini := TIniFile.Create('С:\1.txt');

Если написать Ini := TIniFile.Create('1.txt');

разве файл не буди читаться из корневого каталога??? Или обязательно прописывать путь? Спасибо огромное за помощь.
Ответить с цитированием
  #17  
Старый 24.08.2008, 00:29
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

Обязательно прописывать путь! Я уже на этом много раз попадался...
Код:
Ini := TIniFile.Create(ExtractFilePath(Application.ExeName)+'1.txt');
Ответить с цитированием
  #18  
Старый 24.08.2008, 00:35
Beast Beast вне форума
Прохожий
 
Регистрация: 23.08.2008
Сообщения: 47
Репутация: 10
По умолчанию

Спасибо еще раз!
Ответить с цитированием
  #19  
Старый 24.08.2008, 00:38
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

Да не зачто )))
Ответить с цитированием
  #20  
Старый 24.08.2008, 00:49
Beast Beast вне форума
Прохожий
 
Регистрация: 23.08.2008
Сообщения: 47
Репутация: 10
По умолчанию

Я еще не закончил, так что помощь еще пригодится, задумал себе целый проект для учебы, а теперь со своими знаниями расхлёбываю))
Ответить с цитированием
  #21  
Старый 24.08.2008, 01:13
Beast Beast вне форума
Прохожий
 
Регистрация: 23.08.2008
Сообщения: 47
Репутация: 10
По умолчанию

Подскажите, что означают в коде %d и %s??

WriteLn(AFile, '[ComboBox2]');
Count := ComboBox2.Items.Count;
WriteLn(AFile, Format('Records = %d', [Count]));
for i := 1 to Count do
WriteLn(AFile, Format('Name%d = %s', [i, ComboBox2.Items.Strings[i-1]]));
Ответить с цитированием
  #22  
Старый 24.08.2008, 01:51
Beast Beast вне форума
Прохожий
 
Регистрация: 23.08.2008
Сообщения: 47
Репутация: 10
По умолчанию

Помогите решить следующую задачу:

- необходимо при нажатии кнопки на первой форме поймать фокус одного из ComboBox'са и переключиться в модальную вторую форму

procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.ShowModal;
end;

- а при нажатии кнопки на второй форме нужно, чтобы она закрылась, а там где был фокус - вставился текст из Edit'а

procedure TForm2.Button1Click(Sender: TObject);
begin
Form1.ComboBox(i).Text:= Edit1.Text;
Form1.ComboBox(i).Items.Add(Edit1.Text);
Form2.Close;
end;

Как надо поступить тут?
Ответить с цитированием
  #23  
Старый 24.08.2008, 11:13
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

Насчет %d и %s почитай файл справки делфи по функции Format или поюзай гугл

А с фокусом я не понял. Ведь после того как ты жмешь на кнопку фокус получает она!
А почемы бы около каждого бокса не поставить кнопку "Добавить"? Если надумаешь делать так, то для каждого клика кнопки пишешь нечто подобное
Код:
 if Form2.ShowModal = mrOk then
 begin
  ComboBox1(i).Text:= Form2.Edit1.Text;
  ComboBox1(i).Items.Add(Form2.Edit1.Text);
 end;

Аналогично для остальных, меняя индексы Боксов

Не забудь в Инспекторе объектов для кнопки Оk на второй форме поставить свойство ModalResult в состояние mrOK а для кнопки Отмена в mrCancel

Последний раз редактировалось Drozh, 24.08.2008 в 11:22.
Ответить с цитированием
  #24  
Старый 24.08.2008, 11:50
Beast Beast вне форума
Прохожий
 
Регистрация: 23.08.2008
Сообщения: 47
Репутация: 10
По умолчанию

А если на против каждого ComboBox'а поставить RadioButton (она меньше места занимает). При наведении на ComboBox - выделяется RadioButton, стоящая напротив него, а дальше добавлять текст в этот ComboBox? Или все ComboBox'ы объединить RadioGroup??

Последний раз редактировалось Beast, 24.08.2008 в 11:57.
Ответить с цитированием
  #25  
Старый 24.08.2008, 12:07
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

ну можно сделать RadioGroup с тремя RadioButton'ами причем поставить Visible в false и когда какая либо из Боксов получает фокус соответствюущий RadioButton получает Checked := true; И при нажатии кнопки Добавить смотрится какой Батн активен
Ответить с цитированием
  #26  
Старый 24.08.2008, 12:26
Beast Beast вне форума
Прохожий
 
Регистрация: 23.08.2008
Сообщения: 47
Репутация: 10
По умолчанию

RadioGroup оказался не удобным, придется расставлять RadioButton'ы и работать уже через них.
Ответить с цитированием
  #27  
Старый 24.08.2008, 12:58
Beast Beast вне форума
Прохожий
 
Регистрация: 23.08.2008
Сообщения: 47
Репутация: 10
По умолчанию

а в каком из событий для ComboBox'а лучше писать код программы, чтобы при его фокусе - RadioButton.Checked принимал значение true ?
Ответить с цитированием
  #28  
Старый 24.08.2008, 13:36
Beast Beast вне форума
Прохожий
 
Регистрация: 23.08.2008
Сообщения: 47
Репутация: 10
По умолчанию

как привильно написать надо эту процедуру?
Код:
procedure TForm1.ComboBoxChange(Sender: TObject);
var
 i: integer;
begin
 for i := 1 to 3 do
 begin
  if TComboBox(i).Focused = true then
   TRadioButton(i).Checked := true
  else
   TRadioButton(i).Checked := false;
 end;  
end;
Admin: Учись правильно оформлять код! При рецедиве - бан.

Извиняюсь, впредь постараюсь быть поаккурутнее.

Последний раз редактировалось Beast, 24.08.2008 в 14:10.
Ответить с цитированием
  #29  
Старый 25.08.2008, 03:01
Beast Beast вне форума
Прохожий
 
Регистрация: 23.08.2008
Сообщения: 47
Репутация: 10
По умолчанию

Вот таким образом решил добавить в ComboBox'ы информацию из другой формы:
Код:
procedure TForm2.Button1Click(Sender: TObject);
var
 i: integer;
 ComboBox:TComboBox;
begin
 i := Form1.RadioGroup1.ItemIndex+1;
 ComboBox := Form1.FindComponent('ComboBox'+IntToStr(i)) as TComboBox;
 ComboBox.Text := ComboBox1.Text + ' ' + Edit1.Text + ' ' + Edit2.Text + '. ' + Edit3.Text + '.';
 ComboBox.Items.Add(ComboBox1.Text + ' ' + Edit1.Text + ' ' + Edit2.Text + '. ' + Edit3.Text + '.');
 Form2.Close;
end;

А вот так удаляю строку из списка необходимого ComboBox'а:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 i: integer;
 ComboBox:TComboBox;
begin
 i := RadioGroup1.ItemIndex+1;
 ComboBox := FindComponent('ComboBox'+IntToStr(i)) as TComboBox;
 ComboBox.Items.Delete(ComboBox.ItemIndex);
 ComboBox.Text := ComboBox.Items.Strings[ComboBox.ItemIndex+1];
end;

Ошибок вроде не выдает, но не знаю - написан код нормально или стоит чего подправить???

Последний раз редактировалось Beast, 25.08.2008 в 03:14.
Ответить с цитированием
  #30  
Старый 25.08.2008, 14:25
Beast Beast вне форума
Прохожий
 
Регистрация: 23.08.2008
Сообщения: 47
Репутация: 10
По умолчанию

Ан нет(((
Код:
procedure TForm2.Button1Click(Sender: TObject);
var
 i: integer;
 ComboBox: TComboBox;
begin
 i := RadioGroup1.ItemIndex+1;
 ComboBox := FindComponent('ComboBox'+IntToStr(i)) as TComboBox;

 if ComboBox.Items.Count > 1 then
 begin
  ComboBox.Items.Delete(ComboBox.ItemIndex);
  ComboBox.Text := ComboBox.Items.Strings[ComboBox.ItemIndex+1];
 end
 else
  ShowMessage('Вы хотите удалить последнюю запись');
end;

Мне нужно, чтобы удалялась из списка строка показанная в ComboBox'е и на ее место записывалась следующая за ней строка, но когда остается последняя запись - должно предупредить. Тут получается так - удаляется строка, а при повторном нажатии кнопки УДАЛИТЬ, ничего не удаляется(( Приходится снова выделять ComboBox, тогда удаляет, почему? Как мне поступить? Заранее спасибо!

Последний раз редактировалось Beast, 25.08.2008 в 15:12.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter