- •Программирование для Windows
- •Литература
- •Вам необходимо знать и уметь
- •Первая программа
- •Соглашения операционной системы Windows
- •Вызовы функций Windows
- •Идентификаторы, написанные прописными буквами
- •Новые типы данных
- •Описатели
- •Венгерская нотация
- •Точка входа программы
- •Оконная процедура
- •Регистрация класса окна
- •Создание окна
- •Отображение окна
- •Цикл обработки сообщений
- •Оконная процедура
- •Обработка сообщений
- •Воспроизведение звукового файла
- •Сообщение wm_paint
- •Сообщение wm_destroy
- •Сложности программирования для Windows
- •Синхронные и асинхронные сообщения
- •Думайте о пользователе
- •Лекция3. Приступаем с изучению компонент
- •Урок 4. Класс tObjectи его потомки
- •Урок 5. Работа с кнопками
- •Урок 6. Компонент ActionList
- •Урок 7. Работаем с меню (класс tMainMenu)
- •Урок 8. Работаем с контекстным меню (класс tPopupMenu)
- •Урок 9. Компонент Edit
- •Урок 10. Работаем с двумя формами
- •Урок 11. Текст (компоненты tLabel и tStaticText)
- •Урок 12. Компонент ListBox
- •Урок 13. Компонент ComboBox
- •Урок 14. Используем api-функции
- •Урок 15. Разные MessageBox'ы
- •Урок 16. Компонент CheckBox
- •Урок 17. Компонент RadioButton
- •Урок 18. Класс tStrings
- •Урок 19. Класс tStringList
- •Урок 20. Работаем с сетью. Клиент (класс tClientSocket)
- •Урок 21. Работаем с сетью. Сервер (класс tServerSocket)
- •Урок 22. Компонент ImageList
- •Урок 23. Пересчитываем компоненты на форме
- •Урок 24. Форма - добавление методов
- •Урок 25. Форма - добавление полей
- •Урок 27. Значок на панели задач (компонент tTrayIcon)
- •Урок 28. Работаем со сплиттером
- •Урок 29. Компонент Panel
- •Урок 30. Совместное использование сплиттера и Panel'ей
- •Урок 31. Компонент HotKey
- •Урок 32. Компонент StatusBar
- •Урок 33. Установка главной формы приложения
- •Урок 34. Рисование на форме
Урок 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'а на сервер.
С написанием клиента все!