Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

WX-C Designer: Datum aus "Calendar" ermitteln

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Lothar Schirm



Anmeldungsdatum: 24.04.2006
Beiträge: 65
Wohnort: Bayern

BeitragVerfasst am: 04.03.2014, 19:08    Titel: WX-C Designer: Datum aus "Calendar" ermitteln Antworten mit Zitat

Mit "wxCalendarCtrl_GetDate" kann man das angeklickte Datum als wxDatetime Ptr ermitteln. Wie gewinnt man daraus das Datum im Format Tag - Monat - Jahr (z.B. 04.03.2014)?

Edit:
Ich hab's schon. Ein Blick in die wxdatetime.bi wirkt Wunder. Ich habe immer nach eine datetime.bi gesucht und nicht gefunden. Gnade, Gnade!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 04.03.2014, 20:38    Titel: Antworten mit Zitat

Könntest du deine Lösung bitte noch posten, falls in Zukunft jemand danach suchen sollte. Ist immer etwas unglücklich, wenn man die Suche bemüht, genau das findet, was man sucht, der Thread dann aber keine Lösung aufzeigt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Lothar Schirm



Anmeldungsdatum: 24.04.2006
Beiträge: 65
Wohnort: Bayern

BeitragVerfasst am: 04.03.2014, 20:47    Titel: Antworten mit Zitat

Hier ist mein Code:

Code:

'===============================================================================
' KalenderTest.bas
' Erstellt am 04.03.2014
'===============================================================================


#Include Once "wx-c/wx.bi"

Declare Function App_OnInit WXCALL ( ) As wxBool
Declare Function App_OnExit WXCALL ( ) As wxInt

Declare Sub calendar0_event WXCALL ( ByVal event As wxEvent Ptr, ByVal iListener As wxInt )

Dim Shared As wxCalendarCtrl Ptr calendar0


''
'' Translate FBString to wxString
''
Function fbstring_to_wxString( ByVal fbstr As String ) As wxString Ptr
   Dim As wxString Ptr ret
   ret = wxString_ctorUTF8( fbstr )
   Return ret
End Function

''
'' Translate wxString to FBString
''
Function wxString_to_fbstring( ByVal wxstr As wxString Ptr ) As String
   Dim As String ret
   Dim As Integer i
   For i = 0 To wxString_GetLength( wxstr )
      If wxString_CharAtUTF16( wxstr, i ) <> 0 Then
         ret += Chr( wxString_CharAtUTF16( wxstr, i ) )
      EndIf
   Next
   Return ret
End Function


Dim Shared As wxApp Ptr wx_app
Dim Shared As wxFrame Ptr wx_frame
Dim Shared As wxPanel Ptr wx_panel

Function App_OnInit WXCALL ( ) As wxBool
   
   wx_frame = wxFrame_ctor( )
   wxFrame_Create( wx_frame, WX_NULL, -1, fbstring_to_wxString(( "Kalender-Test" )), 440, 292, 400, 400, wxFRAME_DEFAULT_STYLE Or wxCLOSE_BOX Xor wxMAXIMIZE_BOX Xor wxRESIZE_BORDER, WX_NULL )
   wx_panel = wxPanel_ctor2( wx_frame, -1, -1, -1, -1, -1, 0, WX_NULL )
   wxGauge_Create(wxGauge_ctor(), wx_panel, -1,0,0,0,0,0,0,0,0)
 
   ''
   '' create widget calendar0
   ''
   'Dim As wxCalendarCtrl Ptr calendar0
   calendar0 = wxCalendarCtrl_ctor( )
   wxCalendarCtrl_Create( calendar0, wx_panel, -1, wxDateTime_ctor( ), 90, 80, 210, 160, 0, 0 )
   
   wxEvtHandler_Proxy( calendar0, Cast(EventListener, @calendar0_event) )
   wxEvtHandler_Connect( calendar0, wxEvent_EVT_CALENDAR_SEL_CHANGED( ), -1, -1, 0 )
   
   wxWindow_Show( wx_frame, 1 )
   wxApp_OnInit( wx_app )
   Return 1
   
End Function

Function App_OnExit WXCALL ( ) As wxInt
   
   Return wxApp_OnExit( wx_app )
   
End Function

Sub calendar0_event WXCALL ( ByVal event As wxEvent Ptr, ByVal iListener As wxInt )
  'Angeklicktes Datum anzeigen
 
  Dim DateTime As wxDatetime Ptr
  Dim as Integer d, m, y
   
   Select Case wxEvent_GetEventType( event )
      Case wxEvent_EVT_CALENDAR_SEL_CHANGED
         ''add event handler code here
      DateTime = wxCalendarCtrl_GetDate (calendar0)
      y = wxDateTime_GetYear (DateTime)
      m = wxDateTime_GetMonth (DateTime)
      d = wxDateTime_GetDay (DateTime)
      'Monat um 1 erhoehen, da Januar als 0 ausgegeben wird:
      Print "Datum: "; d; "."; m + 1; "."; y

   End Select
   
End Sub


''main
wx_app = wxApp_ctor( )
wxApp_RegisterVirtual ( wx_app, @App_OnInit, @App_OnExit )
wxApp_Run( 0, 0 )
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz