Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции.doc
Скачиваний:
17
Добавлен:
14.02.2015
Размер:
641.54 Кб
Скачать

Урок 19. Класс tStringList

Класс TStringListпредназначен для хранения набора строк. Он является непосредственным потомком классаTStrings. Как потомок, он наследует все методы и свойства своего родителя.

В отличие от своего родителя класс TStringListпозволяет создавать свои экземпляры.

Кроме того, этот класс имеет собственные свойства и методы, самые важные из которых перечислены ниже:

Свойство Sortedлогического типа. Если установлено вtrue, то список автоматически сортируется, еслиfalse, то не сортируется.Пример использования:

TStringList *s=new TStringList;

s->Sorted=true;

s->Add("Roman");

s->Add("Igor");

s->Add("Olga");

//Показываем список в ListBox'е.

ListBox1->Items->AddStrings(s);

В ListBoxвыведется отсортированный список ("Igor", "Olga", "Roman").

Свойство Duplicates. Свойство перечисляемого типа, если установлено вdupIgnore, то добавить повторяющуюся стороку нельзя (но при этом старые повторяющиеся строки сохраняются),dupAccept- можно добавлять повторяющиеся строки,dupError- при попытке добавить повторяющуюся строку генерируется ошибкаEStringListError. Это свойство игнорируется, если список не отсортирован.

Свойство CaseSensitive. Свойство логического типа, определяющее, учитывается ли при сортировке регистр (true- учитывается,false- не учитывается).

Метод Sort. Сортирует список. Пример использования:

TStringList *s=new TStringList;

s->Add("Roman");

s->Add("Igor");

s->Add("Olga");

s->Sort();

//Показываем список в ListBox'е.

ListBox1->Items->AddStrings(s);

В ListBoxвыведется отсортированный список ("Igor", "Olga", "Roman").

Урок 20. Работаем с сетью. Клиент (класс tClientSocket)

В библиотеке VCLесть два компонента, предназначенных для работы с сетью на низком уровне - т. е. на уровне протоколовTCP/IP. Это компонентыClientSocketиClientSocket. Оба они расположены на вкладкеInternetПалитры компонетов.

На этом занятии мы с вами создадим клиента. Создайте новое приложение в C++Builder'е. На форме разместите 2 кнопки,editи компонентClientSocketс вкладкиInternetПалитры компонетов:

Задайте для первой кнопки свойство Captionкак "Подсоединится", для второй - "Отправить", свойствоTextдляedit'а установите в "" (пустую строку). Программа будет работать так: сначала мы подсоединяемся к серверу, нажав на кнопку "Подсоединится", затем вводим некоторые данные вeditи отправляем их серверу, нажав на кнопку "Отправить".

Наша формы после размещения всех компонентов должна выглядеть приблизительно так:

Теперь займемся настройкой сокета. Устанавливаем для него Addressв 127.0.0.1 (так как тестирование мы будем делать на локальном компьютере), порт в 2000 (тут можно поставить и любое другое число - важно только, что сервер, который мы сделаем на следующем уроке, будет слушать именно порт с этим номером).

Теперь займемся кодом для кнопок. Для кнопки с заголовком "Подсоединится" пишем код по подсоединению к серверу:

void __fastcall TForm1::Button1Click(TObject *Sender)

{

ClientSocket1->Active=true;

}

Тут мы просто активизируем сокет, но для него уже установлены свойства PortиAddress, так что мы именно по этому адресу и именно к этому порту и будем подсоединятся.

Теперь код для второй кнопки:

void __fastcall TForm1::Button2Click(TObject *Sender)

{

ClientSocket1->Socket->SendText(Edit1->Text);

}

Тут наш сокет просто посылает данные из edit'а на сервер.

С написанием клиента все!