![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Добрый вечер!
Прошу направить по правильному направлению) Задача такая: Есть Combobox1 Список для Combobox1 берется из файла ComboBoxList.txt Есть два Image: - Image2 - картинка минуса, т.е. как бы кнопка "удалить" - Image1 - картинка плюса, т.е. как бы кнопка "добавить" Есть 2 Memo - Memo1 - для загрузки списка из файла в Мемо - Memo2 - для загрузки списка из файла в Мемо Суть: При входе загружается список в ComboBox1 При выходе список сохраняется в ComboBoxList.txt Например мы пишем слово в ComboBox1 далее - нажимаем на Image1 (+), если такого слова нет в списке, тогда добавляем в список, сохраняем в файл ComboBoxList.txt и загружаем из этого файла новый список в ComboBox1, в противном случае ничего не происходит - нажимаем на Image2 (-), если такое слово есть в списке, тогда удаляем его из списока, сохраняем в файл ComboBoxList.txt и загружаем из этого файла новый список в ComboBox1, в противном случае ничего не происходит Теперь самое интересное необходимо реализовать условие появления картинок Image1 (+) и Image2 (-) в зависимости от того есть введенное слово (или выбранное слово) в списке или нет его. Пример: Список: 1 2 3 4 5 1) вводим значение 6 - в результате появляется Image1 (+) и мы можем добавить это значение в наш список. 2) вводим/выбираем значение 3 - в результате появляется Image2 (-) и мы можем удалить это значение из нашего список. Надеюсь я доходчиво объяснил ситуацию ![]() Вот кусок кода, который уже работает но без реализации последних 2-х улови появления нужных картинок Image1 (+) и Image2 (-) Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, jpeg;
type
TForm1 = class(TForm)
ComboBox1: TComboBox;
Button1: TButton;
Image1: TImage;
Image2: TImage;
Memo1: TMemo;
Memo2: TMemo;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Image1Click(Sender: TObject);
procedure Image2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{$R WindowsXP.res}
procedure TForm1.Button1Click(Sender: TObject);
begin
ComboBox1.Items.SaveToFile('ComboBoxList.txt');
close;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Combobox1.Items.LoadFromFile('ComboBoxList.txt');
end;
procedure TForm1.Image1Click(Sender: TObject);
var list:string;
q:integer; //счетчик цикла
begin
list:=ComboBox1.Text;
Memo1.Lines.LoadFromFile('ComboBoxList.txt'); //загрузка файла в Memo
for q:=0 to Memo1.Lines.Count-1 do //цикл до последней строки Memo
if Memo1.Lines[q]=list then exit;
if Memo1.Lines[q]<>list then Combobox1.Items.Add(list);
Combobox1.Items.SaveToFile('ComboBoxList.txt');//сохранение содержимого Memo в файл
Memo1.Lines.LoadFromFile('ComboBoxList.txt'); //загрузка файла в Memo
ShowMessage('Вы добавили строку'+' '+ComboBox1.Text+' '+'в список!');
end;
procedure TForm1.Image2Click(Sender: TObject);
var
i:integer; //счетчик цикла
begin
Memo1.Lines.LoadFromFile('ComboBoxList.txt'); //загрузка файла в Memo
for i:=0 to Memo1.Lines.Count-1 do //цикл до последней строки Memo
if Memo1.Lines[i]=Combobox1.Text then
begin
Memo1.Lines.Delete(i); //проверка условия и удаление строки
Memo1.Lines.SaveToFile('ComboBoxList.txt');//сохранение содержимого Memo в файл
Combobox1.Items.LoadFromFile('ComboBoxList.txt');
ShowMessage('Вы удалили строку '+' '+ComboBox1.Text+' '+'из списка!');
end;
if Memo1.Lines[i]<>Combobox1.Text then exit;
end;
End.Последний раз редактировалось Vovich, 19.11.2010 в 21:17. |