![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#16
|
|||
|
|||
|
Подскажи еще на счет этого -
Ini := TIniFile.Create('С:\1.txt'); Если написать Ini := TIniFile.Create('1.txt'); разве файл не буди читаться из корневого каталога??? Или обязательно прописывать путь? Спасибо огромное за помощь. |
|
#17
|
|||
|
|||
|
Обязательно прописывать путь! Я уже на этом много раз попадался...
Код:
Ini := TIniFile.Create(ExtractFilePath(Application.ExeName)+'1.txt'); |
|
#18
|
|||
|
|||
|
Спасибо еще раз!
|
|
#19
|
|||
|
|||
|
Да не зачто )))
|
|
#20
|
|||
|
|||
|
Я еще не закончил, так что помощь еще пригодится, задумал себе целый проект для учебы, а теперь со своими знаниями расхлёбываю))
|
|
#21
|
|||
|
|||
|
Подскажите, что означают в коде %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
|
|||
|
|||
|
Помогите решить следующую задачу:
- необходимо при нажатии кнопки на первой форме поймать фокус одного из 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
|
|||
|
|||
|
Насчет %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
|
|||
|
|||
|
А если на против каждого ComboBox'а поставить RadioButton (она меньше места занимает). При наведении на ComboBox - выделяется RadioButton, стоящая напротив него, а дальше добавлять текст в этот ComboBox? Или все ComboBox'ы объединить RadioGroup??
Последний раз редактировалось Beast, 24.08.2008 в 11:57. |
|
#25
|
|||
|
|||
|
ну можно сделать RadioGroup с тремя RadioButton'ами причем поставить Visible в false и когда какая либо из Боксов получает фокус соответствюущий RadioButton получает Checked := true; И при нажатии кнопки Добавить смотрится какой Батн активен
|
|
#26
|
|||
|
|||
|
RadioGroup оказался не удобным, придется расставлять RadioButton'ы и работать уже через них.
|
|
#27
|
|||
|
|||
|
а в каком из событий для ComboBox'а лучше писать код программы, чтобы при его фокусе - RadioButton.Checked принимал значение true ?
|
|
#28
|
|||
|
|||
|
как привильно написать надо эту процедуру?
Код:
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; Извиняюсь, впредь постараюсь быть поаккурутнее. Последний раз редактировалось Beast, 24.08.2008 в 14:10. |
|
#29
|
|||
|
|||
|
Вот таким образом решил добавить в 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
|
|||
|
|||
|
Ан нет(((
Код:
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. |