Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Динамический ComboBox


Автор: melodie 26.12.2005, 13:32
Здравствуйте!
Помогите мне, пожалуйста. Мне надо сделать что-то вроде динамического комбобокса.
То есть выбираем запись, а если ее нет, то пишем ручками, а она (по кнопке) добавляется в выпающий список..

Сама себе я понимаю это так:
на создание формы пишем (погружаем файл с данными):

Код

procedure TForm1.FormCreate(Sender: TObject);
begin
        ComboBox1.Items.LoadFromFile('test.txt');
end;


а на кнопку вешаем что-то вроде

ComboBox1.Items.SaveToFile('test.txt');

только тут у меня что-то неполучается.. Не сохраняется в файл..
Файл не обязательно тестовый пусть будет.. Это я так, для примера взяла.

Или это лучше сделать через AssignFile, позапись, чтение и все такое...

Помогите..
Буду очень благодарна smile

Автор: _hunter 26.12.2005, 13:41
так что не получается/ с чем помогать?

Автор: melodie 26.12.2005, 13:54
Цитата(_hunter @ 26.12.2005, 13:41)
так что не получается/ с чем помогать?

Просто совсем не могу понять, как мне работать с
ComboBox1.Items.SaveToFile('test.dat');
Надо сначала открывать файл для записи?
Код

var  fl:File;
        a:String;

begin
        a:= ComboBox1.Text;
        AssignFile(fl, 'test.dat');
        {$I-}
        Reset(fl);
        {$I+}
        if IOResult<>0 then 
        Rewrite(fl);
        Seek(fl, FileSize(fl)); 
        ComboBox1.Items.SaveToFile('test.dat');
        CloseFile(fl);

примено так?.. или я не понимаю... smile

Автор: _hunter 26.12.2005, 14:01
Цитата(melodie @ 26.12.2005, 12:54)
Просто совсем не могу понять, как мне работать с
ComboBox1.Items.SaveToFile('test.dat');
Надо сначала открывать файл для записи?

открывать не нужно -- SaveToFile() все сделает сама

Автор: melodie 26.12.2005, 14:09
Цитата(_hunter @ 26.12.2005, 14:01)
открывать не нужно -- SaveToFile() все сделает сама

Ну у меня почему-то не работает.. Не сохраняет данные текстовый файл.. Пустой он...
как быть?

Автор: Snowy 26.12.2005, 14:25
Значит у тебя и комбобокс пустой.
Сначала новое значение нужно в итемсы добавить, а потом уже сохранять.

Автор: _hunter 26.12.2005, 14:28
так не сохраняет данные? или файл пустой?
в этом боксе перед сохранением что-то есть?

Автор: melodie 26.12.2005, 14:59
Все, спасибо большое, все получилось...
ComboBox1.Items.Add(ComboBox1.Text);
А я то голову ломала... smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)