Tartalomjegyzék

< wxWidgets kézikönyv

>>

Hasznos osztályok

A programozók munkáját segítő osztályok. Karaktersorozatok, fájlok, XML fájlok, folyamok, adatbázisok, hálózatok kezelését teszi lehetővé.

A wxWidgetsel konzolos és grafikus programokat készíthetünk.

Konzol

konzol.cpp
#include <wx/string.h>
 
int main(int argc, char **argv)
{
    wxPuts(wxT("Egy wxWidgets konzol alkalmazás"));
}

Kimenet:

Egy wxWidgets konzol alkalmazás

Ha gond van a magyar ékezetekkel használjuk a locale.h C függvénygyűjteményt.

A forrás fordítása:

g++ `wx-config --libs --cxxflags` -o konzol konzol.cpp

wxString

A wxString egy karakterek tárolásásra használható osztály.

A következő példában három sztringet készítünk, amelyet egyesítünk egyetlen sztringgé.

osszefuzes.cpp
#include <wx/string.h>
 
int main(int argc, char **argv)
{
    wxString str1 = wxT("Linux");
    wxString str2 = wxT("operációs");
    wxString str3 = wxT("rendszer");
 
    wxString str = str1 + wxT(" ") + str2 + wxT(" ") + str3;
 
    wxPuts(str);
}

Kimenet

Linux operációs rendszer

A Printf() metódussal formázhatjuk a sztringet.

formazva.cpp
#include <wx/string.h>
 
int main(int argc, char **argv)
{
 
    int viragok = 21;
 
    wxString str;
    str.Printf(wxT("Ott van %d piros rózsa."), viragok);
 
    wxPuts(str);
}

Kimenet:

Ott van 21 piros rózsa.

A következőkben azt vizsgáljuk, vajon egy sztring tartalmazza-e az általunk keresett sztringet. Ehhez a Contains() metódust használjuk.

tartalmaz.cpp
#include <wx/string.h>
 
int main(int argc, char **argv)
{
 
    wxString str = wxT("A macska leesett a fáról");
 
    if (str.Contains(wxT("macska"))) {
        wxPuts(wxT("Tartalmazza!"));
    }
 
    if (!str.Contains(wxT("kutya"))) {
        wxPuts(wxT("Nem tartalmazza!"));
    }
}

Kimenet

Tartalmazza!
Nem tartalmazza!

A Leng() metódus megmondja a sztring hány karakterből áll.

hossz.cpp
#include <wx/string.h>
 
int main(int argc, char **argv)
{
    wxString str = wxT("A macska leesett a fáról");
    wxPrintf(wxT("A sztring %d karakterből áll\n"), str.Len());
}

Kimenet

A sztring 24 karakterből áll

A MakeLower() és a MakeUpper() metódusok a karaktereket kis és nagybetűvé alakítják.

nagysag.cpp
#include <wx/string.h>
 
int main(int argc, char **argv)
{
    wxString str = wxT("A macska leesett a fáról");
 
    wxPuts(str.MakeLower());
    wxPuts(str.MakeUpper());
} 

Kimenet

a macska leesett a fáról
A MACSKA LEESETT A FÁRÓL

Hasznos függvények

Találunk néhány függvényt folyamatok futtatásához, a felhasználó home könyvtárának kinyerésére vagy az operációs rendszer nevének kiderítésére.

A következő példában egy ls parancsot futtatunk. Ehhez a wxShell() függvényt fogjuk használni. Ez csak Unixon működik.

shell.cpp
#include <wx/string.h>
#include <wx/utils.h>
 
int main(int argc, char **argv)
{
 
    wxShell(wxT("ls -l"));
 
}

Kiemenet:

total 4
-rwxr-xr-x 1 andras andras   7492 okt 18 19:39 konzol
-rw-r--r-- 1 andras andras    125 okt 18 19:42 konzol.cpp
-rwxr-xr-x 1 andras andras  10197 okt 18 19:49 osszefuzes
-rw-r--r-- 1 andras andras    261 okt 18 19:52 osszefuzes.cpp

A következőben a home könyvtárat, az operációs rendszer nevét, a felhasználó nevét, a host nevet és a szabad memóriát kérdezzük le.

system.cpp
#include <wx/string.h>
#include <wx/utils.h>
 
int main(int argc, char **argv)
{
    wxPuts(wxGetHomeDir());
    wxPuts(wxGetOsDescription());
    wxPuts(wxGetUserName());
    wxPuts(wxGetFullHostName());
 
    long mem = wxGetFreeMemory().ToLong();
 
    wxPrintf(wxT("Memória: %ld\n"), mem);
}

Kiemenet:

/home/andras
Linux 2.6.26-2-686 i686
Sallai András
matrix
Memória: 135753728