Seite 1 von 2

C Tutorial Tipp

Verfasst: Di Okt 21, 2008 6:27 pm
von Dominik
Hey ho

Warum weigert ihr euch beim C tutorial unten auf jeder seite ein weiter|zurück navi zu machen?
Hat das in euren Augen einen Nachteil? ich kenne nur vorteile und wenn ihr es nun macht müsst ihr umso weniger seiten abändern später...


interessant wäre auch wenn ihr zeig bzw anschneidet wie das mit einer gui funktioniert bzw es mal öfters nennt , ist ja ein interessantes thema und das schrekt viele c "einsteiger" ab das sie immer nur in der "doofen" konsole arbeiten müssen und selten fenster zu gesicht bekommen , vielleicht mal am anfang nennen das sowas später behandelt wird ???

mfg
ps ja viele rechtschreibefehler hab hier aber ein bier stehen^

Re: C Tutorial Tipp

Verfasst: Di Okt 21, 2008 6:36 pm
von Dirty Oerti
Vielleich lässt sich ja noch ein Wiki Plugin finden, dass eine Navigation ermöglicht.
:)

Deswegen keine Navigation.

Re: C Tutorial Tipp

Verfasst: Di Okt 21, 2008 8:38 pm
von fat-lobyte
Dominik hat geschrieben:interessant wäre auch wenn ihr zeig bzw anschneidet wie das mit einer gui funktioniert bzw es mal öfters nennt , ist ja ein interessantes thema und das schrekt viele c "einsteiger" ab das sie immer nur in der "doofen" konsole arbeiten müssen und selten fenster zu gesicht bekommen , vielleicht mal am anfang nennen das sowas später behandelt wird ???
Das mit der GUI ist so ne sache...
Um auch nur ansatzweise Sinnvoll eine GUI zu Programmieren, muss man sich auf verschiedene Bibliotheken verlassen.
Die sind 1. Plattformabhänig und 2. Alle nicht so einfach zu verstehen.
Man braucht eine recht lange einarbeitungszeit, und du musst auf jeden Fall die Programmiersprache schon gut beherrschen.

Beispielsweise sieht ein Helloworld mit wxWidgets so aus:

Code: Alles auswählen

/*
 * hworld.cpp
 * Hello world sample by Robert Roebling
 */

#include "wx/wx.h" 

class MyApp: public wxApp
{
    virtual bool OnInit();
};

class MyFrame: public wxFrame
{
public:

    MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);

    void OnQuit(wxCommandEvent& event);
    void OnAbout(wxCommandEvent& event);

    DECLARE_EVENT_TABLE()
};

enum
{
    ID_Quit = 1,
    ID_About,
};

BEGIN_EVENT_TABLE(MyFrame, wxFrame)
    EVT_MENU(ID_Quit, MyFrame::OnQuit)
    EVT_MENU(ID_About, MyFrame::OnAbout)
END_EVENT_TABLE()

IMPLEMENT_APP(MyApp)

bool MyApp::OnInit()
{
    MyFrame *frame = new MyFrame( _T("Hello World"), wxPoint(50,50), wxSize(450,340) );
    frame->Show(TRUE);
    SetTopWindow(frame);
    return TRUE;
} 

MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
: wxFrame((wxFrame *)NULL, -1, title, pos, size)
{
    wxMenu *menuFile = new wxMenu;

    menuFile->Append( ID_About, _T("&About...") );
    menuFile->AppendSeparator();
    menuFile->Append( ID_Quit, _T("E&xit") );

    wxMenuBar *menuBar = new wxMenuBar;
    menuBar->Append( menuFile, _T("&File") );

    SetMenuBar( menuBar );

    CreateStatusBar();
    SetStatusText( _T("Welcome to wxWindows!") );
}

void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
{
    Close(TRUE);
}

void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
{
    wxMessageBox(_T("This is a wxWindows Hello world sample"),
        _T("About Hello World"), wxOK | wxICON_INFORMATION, this);
}


Kurz und bündig: ein GUI Tutorial ist einfach zu schwierig, als dass es einem Anfänger helfen könnte.

Falls sich jemand findet, der ein Tutorial schreiben würde, ich bin mir sicher Xin hätte nichts dagegen.

Re: C Tutorial Tipp

Verfasst: Di Okt 21, 2008 8:43 pm
von Dominik
hm also das hello world mit gtk ist vieeeeeeel einfacher;)

naja ich mein man sollte dem leser vielleicht weng appitit auf mehr geben:)

mfg

Re: C Tutorial Tipp

Verfasst: Di Okt 21, 2008 8:46 pm
von nufan
fat-lobyte hat geschrieben:Beispielsweise sieht ein Helloworld mit wxWidgets so aus:

Code: Alles auswählen

/*
* hworld.cpp
* Hello world sample by Robert Roebling
*/

#include "wx/wx.h" 

class MyApp: public wxApp
{
    virtual bool OnInit();
};

class MyFrame: public wxFrame
{
public:

    MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);

    void OnQuit(wxCommandEvent& event);
    void OnAbout(wxCommandEvent& event);

    DECLARE_EVENT_TABLE()
};

enum
{
    ID_Quit = 1,
    ID_About,
};

BEGIN_EVENT_TABLE(MyFrame, wxFrame)
    EVT_MENU(ID_Quit, MyFrame::OnQuit)
    EVT_MENU(ID_About, MyFrame::OnAbout)
END_EVENT_TABLE()

IMPLEMENT_APP(MyApp)

bool MyApp::OnInit()
{
    MyFrame *frame = new MyFrame( _T("Hello World"), wxPoint(50,50), wxSize(450,340) );
    frame->Show(TRUE);
    SetTopWindow(frame);
    return TRUE;
} 

MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
: wxFrame((wxFrame *)NULL, -1, title, pos, size)
{
    wxMenu *menuFile = new wxMenu;

    menuFile->Append( ID_About, _T("&About...") );
    menuFile->AppendSeparator();
    menuFile->Append( ID_Quit, _T("E&xit") );

    wxMenuBar *menuBar = new wxMenuBar;
    menuBar->Append( menuFile, _T("&File") );

    SetMenuBar( menuBar );

    CreateStatusBar();
    SetStatusText( _T("Welcome to wxWindows!") );
}

void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
{
    Close(TRUE);
}

void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
{
    wxMessageBox(_T("This is a wxWindows Hello world sample"),
        _T("About Hello World"), wxOK | wxICON_INFORMATION, this);
}
:shock: Ist das ein ganz normales Konsolen-Hello-World oder macht das sonst noch was?
Wenn nicht, schaut mir das doch ein wenig kompliziert aus...

Re: C Tutorial Tipp

Verfasst: Di Okt 21, 2008 9:42 pm
von Xin
Dominik hat geschrieben:Warum weigert ihr euch beim C tutorial unten auf jeder seite ein weiter|zurück navi zu machen?
Hat das in euren Augen einen Nachteil? ich kenne nur vorteile und wenn ihr es nun macht müsst ihr umso weniger seiten abändern später...
Ich würde das gerne automatisiert hinbekommen, zum Beispiel durch das auslesen der Startseite den eigenen Link finden und den vorherigen, bzw. nachfolgenden Link suchen.

Ein solches Plugin habe ich noch nicht gefunden. Es könnte sein, dass wir selbst ein schreiben müssten, was sich aber als Werbung sicher gut machen würde...
Dominik hat geschrieben:interessant wäre auch wenn ihr zeig bzw anschneidet wie das mit einer gui funktioniert bzw es mal öfters nennt , ist ja ein interessantes thema und das schrekt viele c "einsteiger" ab das sie immer nur in der "doofen" konsole arbeiten müssen und selten fenster zu gesicht bekommen , vielleicht mal am anfang nennen das sowas später behandelt wird ???
Ich habe einen wx-Namensraum in Überlegung.

Wichtig ist erstmal die Fertigstellung von C. Und die Libraries sind wichtig: sie sind deutsch, während eine der beliebtesten Link-Ziele zu dem Thema englisch ist.
Dominik hat geschrieben:hm also das hello world mit gtk ist vieeeeeeel einfacher;)
Ich habe GTK in C programmiert und wx in Python.
Da ich davon ausgehe, dass wxPython und Python in C keinen komplett anderen Aufbau haben, sagt mir wx doch zu.
Dominik hat geschrieben:naja ich mein man sollte dem leser vielleicht weng appitit auf mehr geben:)
Richtig, aber das muss wachsen, nicht explodieren.
nufan hat geschrieben: :shock: Ist das ein ganz normales Konsolen-Hello-World oder macht das sonst noch was?
Wenn nicht, schaut mir das doch ein wenig kompliziert aus...
Es öffnet ein Fenster mit Menüleiste, in dem 'Schließen' und 'About' drin ist, wobei die Menüeinträge Shortcuts haben, um sich schneller durch das Menü zu wurschteln. Weiterhin gibt es unten eine Statuszeile mit einer kurzen Meldung. Der Eintrag 'About' öffnet ein zweites Fenster (eine MessageBox), in dem eine kurze Meldung steht.

Nichts aufwendiges, aber doch mehr als ein 'Hello World' in der Konsole.
Dafür und dass das Programm auf Linux (Gnome), Mac und Windows in den jeweiligen nativen GUI-Systemen läuft, ist das doch ganz okay.

Re: C Tutorial Tipp

Verfasst: Di Okt 21, 2008 10:04 pm
von Dominik
Xin hat geschrieben:
Ein solches Plugin habe ich noch nicht gefunden. Es könnte sein, dass wir selbst ein schreiben müssten, was sich aber als Werbung sicher gut machen würde...
Falls du mal nix findest könnte ichsowas machen:) .

Aber halt nur bevor wir nix finden


mfg

Re: C Tutorial Tipp

Verfasst: Di Okt 21, 2008 10:09 pm
von Xin
Dominik hat geschrieben:
Xin hat geschrieben:
Ein solches Plugin habe ich noch nicht gefunden. Es könnte sein, dass wir selbst ein schreiben müssten, was sich aber als Werbung sicher gut machen würde...
Falls du mal nix findest könnte ichsowas machen:) .
Aber halt nur bevor wir nix finden
Wenn Du das Plugin machen kannst, nur zu. Recherchiere, ob es noch keins gibt (z.B. http://www.dokuwiki.org), bauen wir ein Repository dafür und dann können alle proggen.org-PHP-Programmierer sich beteiligen.
Wenn Du nämlich nix findest, müssen wir es so oder so machen.

Re: C Tutorial Tipp

Verfasst: Di Okt 21, 2008 10:17 pm
von Dirty Oerti
Xin hat geschrieben:
Dominik hat geschrieben:
Xin hat geschrieben:
Ein solches Plugin habe ich noch nicht gefunden. Es könnte sein, dass wir selbst ein schreiben müssten, was sich aber als Werbung sicher gut machen würde...
Falls du mal nix findest könnte ichsowas machen:) .
Aber halt nur bevor wir nix finden
Wenn Du das Plugin machen kannst, nur zu. Recherchiere, ob es noch keins gibt (z.B. http://www.dokuwiki.org), bauen wir ein Repository dafür und dann können alle proggen.org-PHP-Programmierer sich beteiligen.
Wenn Du nämlich nix findest, müssen wir es so oder so machen.
Da würde ich mich gerne auch ein bisschen beteiligen. :)
Und sollten wir etwas brauchbares herausbekommen (da wir kein solches Plugin finden werden und wir es selbst programmieren werden müssen), ist das gleichzeitig schonmal KnowHow, das wir hier mehr anbieten können.
=> Eine Existenzberechtigung mehr :)

Re: C Tutorial Tipp

Verfasst: Mi Okt 22, 2008 3:11 pm
von Kerli
nufan hat geschrieben: :shock: Ist das ein ganz normales Konsolen-Hello-World oder macht das sonst noch was?
Wenn nicht, schaut mir das doch ein wenig kompliziert aus...
Das geht noch viel kürzer: wxWidgets Hello World

Sollte sich jemand ebenfalls mit wxWidgets beschäftigen, dann könnt ihr euch gerne im neunen Namespace 'wx' beteiligen. Da ich mich gerade wieder mit wxWidgets beschäftige tu ich dort ein paar Tipps und Codeschnippsel sammeln.