 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Lothar Schirm
Anmeldungsdatum: 24.04.2006 Beiträge: 65 Wohnort: Bayern
|
Verfasst am: 04.03.2014, 19:08 Titel: WX-C Designer: Datum aus "Calendar" ermitteln |
|
|
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.  |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 04.03.2014, 20:38 Titel: |
|
|
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 |
|
 |
Lothar Schirm
Anmeldungsdatum: 24.04.2006 Beiträge: 65 Wohnort: Bayern
|
Verfasst am: 04.03.2014, 20:47 Titel: |
|
|
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 |
|
 |
|
|
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.
|
|