Руководство по программированию с wxWidgets (1. Вспомогательные классы wxWidgets). |
- Statistics
- Participants
- Translate into Russian
- Translation result
- Translation complete.
Вспомогательные классы wxWidgets.
wxWidgets содержит большую группу вспомогательных классов, облегчающих работу программистам. Есть классы для работы со строками, файлами, xml документами, потоками, базами данных и сетью. Здесь мы рассмотрим лишь крошечную капельку из этого огромного озера.
Библиотека wxWidgets может быть использована для создания как консольных, так и GUI приложений. В этой главе будет продемонстрировано использование некоторых вспомогательных классов в консольных приложениях.
Консоль.
Итак, напишем небольшую консольную программу, которая помещает некоторый текст в окно консоли. Внимание: в Unix/Linux нужно воспользоваться следующими операторами, чтобы скомпилировать программу:
g++ file_name.cpp -o hworld `wx-config --cxxflags --libs`.
console.cpp
#include <wx/string.h>
int main(int argc, char **argv)
{
wxPuts(wxT("A wxWidgets console application"));
}
Результат:
A wxWidgets console application
wxString
Это, вероятно, наиболее полезный класс. wxString — класс, отвечающий за отображение символьных строк.
В следующем примере мы определим три строки wxString. Затем мы объединим их в одну строку, используя операцию сложения.
addition.cpp
#include <wx/string.h>
int main(int argc, char **argv)
{
wxString str1 = wxT("Linux");
wxString str2 = wxT("Operating");
wxString str3 = wxT("System");
wxString str = str1 + wxT(" ") + str2 + wxT(" ") + str3;
wxPuts(str);
}
Результат:
Linux Operating System
Метод Printf() используется для форматирования строк.
formatted.cpp
#include <wx/string.h>
int main(int argc, char **argv)
{
int flowers = 21;
wxString str;
str.Printf(wxT("There are %d red roses."), flowers);
wxPuts(str);
}
Результат:
There are 21 red roses.
В следующем примере мы проверяем строку на наличие в ней другой строки. Для этого мы используем метод Contains().
contains.cpp
#include <wx/string.h>
int main(int argc, char **argv)
{
wxString str = wxT("The history of my life");
if (str.Contains(wxT("history"))) {
wxPuts(wxT("Contains!"));
}
if (!str.Contains(wxT("plain"))) {
wxPuts(wxT("Does not contain!"));
}
}
Результат:
Contains!
Does not contain!
Метод Len() возвращает количество символов в строке.
length.cpp
#include <wx/string.h>
int main(int argc, char **argv)
{
wxString str = wxT("The history of my life");
wxPrintf(wxT("The string has %d characters\n"), str.Len());
}
Результат:
The string has 22 characters
Методы MakeLower() и MakeUpper() преобразуют все символы строки в строчные и прописные соответственно.
cases.cpp
#include <wx/string.h>
int main(int argc, char **argv)
{
wxString str = wxT("The history of my life");
wxPuts(str.MakeLower());
wxPuts(str.MakeUpper());
}
Результат:
the history of my life
THE HISTORY OF MY LIFE
Вспомогательные функции.
wxWidgets содержит несколько удобных вспомогательных функций для выполнения системных команд, получения домашней директории пользователя или названия операционной системы.
В следующем примере мы выполним команду ls (только для Unix/Linux). Для этого нам понадобится функция wxShell().
shell.cpp
#include <wx/string.h>
#include <wx/utils.h>
int main(int argc, char **argv)
{
wxShell(wxT("ls-l"));
}
Результат:
total 40
-rwxr-xr-x 1 vronskij vronskij 9028 2007-09-06 22:10 basic
-rw-r--r-- 1 vronskij vronskij 95 2007-09-06 22:09 basic.cpp
-rw-r--r-- 1 vronskij vronskij 430 2007-09-06 00:07 basic.cpp~
-rwxr-xr-x 1 vronskij vronskij 11080 2007-09-05 23:17 console
-rw-r--r-- 1 vronskij vronskij 500 2007-09-05 23:17 console.cpp
-rw-r--r-- 1 vronskij vronskij 485 2007-09-05 23:16 console.cpp~
Далее мы получим домашнюю директорию пользователя, имя ОС, имя пользователя, имя хоста и общее количество свободной памяти.
system.cpp
#include <wx/string.h>
Original (English): 1.The wxWidgets programming tutorial (wxWidgets helper classes)
