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

Delphi Sources



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

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.11.2010, 21:14
Vovich Vovich вне форума
Прохожий
 
Регистрация: 19.11.2010
Сообщения: 7
Репутация: 10
Восклицание Combobox + условные операторы

Добрый вечер!
Прошу направить по правильному направлению)
Задача такая:
Есть 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.
Ответить с цитированием
 


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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