Deutsch
Quelltexte/ Codesnippets

Ohne Sekunden Timeedit

 

ByteAttack
Hallöchen!
Gibt es eine Sendmessages o.ä. um einen TimeEdit ohne Sekundeneingabe zu erstellen?
Habe im MSN leider nichts gefunden.
 
Website:  [...] 
Facebook:  [...] 
17.12.2007  
 



Hrm, Minimalbeispiel
 
17.12.2007  
 




Michael
Wodrich
steht direkt in der Hilfedatei das Beispiel:
KompilierenMarkierenSeparieren
proc setTime

    parameters control&,stunden&,minuten&,sekunden&
    declare daten#
    dim daten#,20
    SendMessage(control&,4097,0,daten#)
    Word Daten#,8=stunden&
    Word Daten#,10=minuten&
    Word Daten#,12=sekunden&
    SendMessage(control&,4098,0,daten#)
    dispose daten#

endproc

-Begin------------------------------------------------------------------
Declare hWin&, hButton&, Ende&, hTime&
hWin& = @Create(Dialog, %hWnd, Test, 100, 100, 200, 200)
hButton& = @Create(Button, hWin&, Ende, 10, 10, 180, 24)
hTime& = @Create(TimeEdit, hWin&, , 10, 50, 100, 24)
Clear Ende&

WhileNot Ende&

    WaitInput

    If @GetFocus(hButton&)

        Ende& = 1

    EndIf

EndWhile

@MessageBox(@GetText$(hTime&), Zeit, 0)
-End--------------------------------------------------------------------
End

Schöne Grüße
Michael Wodrich

P.S.:
In der Sig stand gerade: XProfan braucht keine Beispiele.
Das kommt manchmal ganz schön ironisch mit der Automatik
 
Programmieren, das spannendste Detektivspiel der Welt.
17.12.2007  
 




Michael
Wodrich
Volltreffer......
Da mußte es doch was geben.

DTM_FIRST = { $1000 | 4096 }
DTM_GETMCCOLOR = { $1007 | 4103 }
DTM_GETMCFONT = { $100A | 4106 }
DTM_GETMONTHCAL = { $1008 | 4104 }
DTM_GETRANGE = { $1003 | 4099 }
DTM_GETSYSTEMTIME = { $1001 | 4097 }
DTM_SETFORMAT = { $1005 | 4101 }
DTM_SETFORMATA = { $1005 | 4101 }
DTM_SETFORMATW = { $1032 | 4146 }
DTM_SETMCCOLOR = { $1006 | 4102 }
DTM_SETMCFONT = { $1009 | 4105 }
DTM_SETRANGE = { $1004 | 4100 }
DTM_SETSYSTEMTIME = { $1002 | 4098 }


SetFormat würde ich sagen...

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
17.12.2007  
 




Michael
Wodrich
Seit Microsoft auf dem .NET-Tripp ist kann man da wirklich nichts mehr finden. Weder die MSDN- noch die Technical-Bulletin Suche haben etwas brauchbares Zutage gefördert - das ist wirklich traurig.

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
17.12.2007  
 



Richtig - da stimme ich Dir mitheulend vollkommen zu!
 
18.12.2007  
 




Michael
Wodrich
Der Vollständigkeit halber reiche ich das hier mal nach:
KompilierenMarkierenSeparieren
proc setTime

    parameters control&,stunden&,minuten&,sekunden&
    declare daten#
    dim daten#,20
    SendMessage(control&,4097,0,daten#)
    Word Daten#,8=stunden&
    Word Daten#,10=minuten&
    Word Daten#,12=sekunden&
    SendMessage(control&,4098,0,daten#)
    dispose daten#

endproc

proc setTimeFormat

    parameters control&,formatString$
    declare daten#
    dim daten#,(len(formatString$)+1)
    String daten#,0 = formatString$
    SendMessage(control&,4101,0,daten#)
    dispose daten#

endproc

-Begin------------------------------------------------------------------
Declare hWin&, hButton&, Ende&, hTime&
hWin& = @Create(Dialog, %hWnd, Test, 100, 100, 200, 200)
hButton& = @Create(Button, hWin&, Ende, 10, 10, 180, 24)
hTime& = @Create(TimeEdit, hWin&, , 10, 50, 100, 24)
Clear Ende&
setTimeFormat(hTime&,hh:mm)

WhileNot Ende&

    WaitInput

    If @GetFocus(hButton&)

        Ende& = 1

    EndIf

EndWhile

@MessageBox(@GetText$(hTime&), Zeit, 0)
-End--------------------------------------------------------------------
End

Schöne Grüße
Michael Wodrich

P.S.: Es wäre natürlich schön, wenn XProfan 11 das Setzen von Datum und Zeit und auch das Setzen des Formatstrings mit anbieten würde.
 
Programmieren, das spannendste Detektivspiel der Welt.
18.12.2007  
 




ByteAttack
ich habe mir extra die MSDN (3,3GB) runtergeldaden und bin so schlau wie je zuvor....
Tja. In MEINER HLP XProfan 10 habe ich den Quelltext nicht gefunden! Da muss ich vieleicht noch mal schauen ???
Trotzdem Danke.
 
Website:  [...] 
Facebook:  [...] 
18.12.2007  
 




ByteAttack
Das Beispiel ist Gut. Keine Frage- Wie bekomme ich jetzt aber damit eine 24h Stunden anzeige hin (Geht nur bis 12)
(Ich weiß - Ich nerve)
 
Website:  [...] 
Facebook:  [...] 
18.12.2007  
 




ByteAttack
OK! Selbst mal was rausgefunden (Dank dem gutel alten PRFellow - WFDTPICK.INC)
Einfach das hh:mm in HH:mm umschreiben
 
Website:  [...] 
Facebook:  [...] 
18.12.2007  
 




Michael
Wodrich
Richtig, oder bei den neuen DotNet-Funktionen abschauen und austesten was damals mit der alten API schon alles möglich war.

Beispiel:
Value
- Description

d
- The one- or two-digit day.

dd
- The two-digit day. Single-digit day values are preceded by a zero.

ddd
- The three-character weekday abbreviation.

dddd
- The full weekday name.

h
- The one- or two-digit hour in 12-hour format.

hh
- The two-digit hour in 12-hour format. Single-digit values are preceded by a zero.

H
- The one- or two-digit hour in 24-hour format.

HH
- The two-digit hour in 24-hour format. Single-digit values are preceded by a zero.

m
- The one- or two-digit minute.

mm
- The two-digit minute. Single-digit values are preceded by a zero.

M
- The one- or two-digit month number.

MM
- The two-digit month number. Single-digit values are preceded by a zero.

MMM
- The three-character month abbreviation.

MMMM
- The full month name.

t
- The one-letter AM/PM abbreviation; that is, AM is displayed as A.

tt
- The two-letter AM/PM abbreviation; that is, AM is displayed as AM.

X
- A callback field. The control still uses the other valid format characters, and queries the owner to fill in the X portion. Therefore, the owner must be prepared to handle the DTN_WMKEYDOWN, DTN_FORMAT, and DTN_FORMATQUERY messages. Multiple X characters can be used in series to signify unique callback fields.

y
- The year is displayed as the last two digits, but with no leading zero for years less than 10.

yy
- The last two digits of the year; that is, 1996 would be displayed as 96.

yyyy
- The full year; that is, 1996 would be displayed as 1996.

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
18.12.2007  
 




p.specht

Das ganze mit deutschen Erläuterungen:
Windowtitle "Zeitformat-Ein/Ausgabe in XProfan-10 und -11 einstellen"
'Orig.(2 Programme): Michael Wodrich v. 17.12.2007
'Auf Deutsch übersetzt und kombiniert by p.Specht 2018-12-16
Windowstyle 24:font 2':CLS
Eingabe:
Declare hWin&, hButton&, Ende&, hTime&
hWin& = @Create("Dialog", %hWnd, "Test", 100, 100, 200, 200)
hButton& = @Create("Button", hWin&, "Ende", 10, 10, 180, 24)
hTime& = @Create("TimeEdit", hWin&,"", 10, 50, 100, 24)
Clear Ende&

proc setTimeFormat

    parameters control&,formatString$
    declare daten#:dim daten#,(len(formatString$)+1)
    String daten#,0=formatString$
    SendMessage(control&,4101,0,daten#):dispose daten#
    'Steuerziffer 4101:= DTM_SETFORMATA
    'DTM_FIRST = { $1000 | 4096 }
    'DTM_GETMCCOLOR = { $1007 | 4103 }
    'DTM_GETMCFONT = { $100A | 4106 }
    'DTM_GETMONTHCAL = { $1008 | 4104 }
    'DTM_GETRANGE = { $1003 | 4099 }
    'DTM_GETSYSTEMTIME = { $1001 | 4097 }
    'DTM_SETFORMAT = { $1005 | 4101 }
    'DTM_SETFORMATA = { $1005 | 4101 }
    'DTM_SETFORMATW = { $1032 | 4146 }
    'DTM_SETMCCOLOR = { $1006 | 4102 }
    'DTM_SETMCFONT = { $1009 | 4105 }
    'DTM_SETRANGE = { $1004 | 4100 }
    'DTM_SETSYSTEMTIME = { $1002 | 4098 }

endproc

setTimeFormat(hTime&,"HH:mm:ss")
'd - Der ein- oder zweistellige Tag.
'dd - Der zweistellige Tag. Einstellige Tageswerte werden mit einer Null vorangestellt.
'ddd - Das dreistellige Wochentagskürzel.
'dddd - Der vollständige Wochentagsname.
'h - Die ein- oder zweistellige Stunde im 12-Stunden-Format.
'hh - Die zweistellige Stunde im 12-Stunden-Format. Einstellige Werte werden durch eine Null eingeleitet.
'H - Die ein- oder zweistellige Stunde im 24-Stunden-Format.
'HH - Die zweistellige Stunde im 24-Stunden-Format. Einstellige Werte werden durch eine Null eingeleitet.
'm - Die ein- oder zweistellige Minute.
'mm - Die zweistellige Minute. Einstellige Werte werden durch eine Null eingeleitet.
'
'M - Die ein- oder zweistellige Monatsnummer.
'MM - Die zweistellige Monatsnummer. Einstellige Werte werden durch eine Null eingeleitet.
'MMM - Das dreistellige Monatskürzel.
'MMMM - Der vollständige Monatsname.
'
't - Die einbuchstabige Abkürzung AM/PM, d.h. AM wird als A angezeigt.
'tt - Die zweistellige AM/PM-Kürzel, d.h. AM wird als AM angezeigt.
'
'X - Ein Rückruffeld. Das Steuerelement verwendet weiterhin die anderen gültigen Formatzeichen
'und fordert den Eigentümer auf, den X-Teil auszufüllen. Daher muss der Eigentümer darauf
'vorbereitet sein, die Nachrichten DTN_WMKEYDOWN, DTN_FORMAT und DTN_FORMATQUERY zu verarbeiten.
'Mehrere X-Zeichen können in Reihe verwendet werden, um eindeutige Rückruffelder zu kennzeichnen.
'
'y - Das Jahr wird als die letzten beiden Ziffern angezeigt, ohne führende Null für Jahre unter 10.
'yyy - Die letzten beiden Ziffern des Jahres, d.h. 1996 wird als 96 angezeigt.
'yyyy - Das ganze Jahr, d.h. 1996 würde als 1996 angezeigt.

WhileNot Ende&

    WaitInput
    case @GetFocus(hButton&):Ende& = 1

EndWhile

' Falls PC-Uhr tatsächlich verstellt werden soll:

proc setTime :parameters control&,stunden&,minuten&,sekunden&

    declare daten#:dim daten#,20:SendMessage(control&,4097,0,daten#)
    Word Daten#,8=stunden&:Word Daten#,10=minuten&:Word Daten#,12=sekunden&
    SendMessage(control&,4098,0,daten#):dispose daten#

endproc

Ausgabe:
@MessageBox(@GetText$(hTime&),"Zeit", 0)
END
' Beispiel von https://msdn.microsoft.com/en-us/windows/desktop/bb761759 :
' Windows desktop applications Develop Desktop technologies Desktop App UI Windows Controls
' ...Control Library Date and Time Picker Date and Time Picker Control Reference
' ...Date and Time Picker Messages DTM_GETMCCOLOR
'DTM_GETMCCOLOR message
'Ruft die Farbe für einen bestimmten Teil des Monatskalenders innerhalb eines Datums- und Zeitpickers (DTP) ab.
'Sie können diese Nachricht explizit senden oder das Makro DateTime_GetMonthCalthCalColor verwenden.
'
'Parameter
'wParam
'Ein Wert vom Typ int, der angibt, welche Monatskalenderfarbe abgerufen werden soll.
'Dieser Wert kann einer der folgenden sein:
'Wert Bedeutung
'MCSC_BACKGROUND - Ruft die Hintergrundfarbe ab, die zwischen den Monaten angezeigt wird.
'MCSC_MONTHBK - Liefert die Hintergrundfarbe, die innerhalb des Monats angezeigt wird.
'MCSC_TEXT - Liefert die Farbe, mit der Text innerhalb eines Monats angezeigt wird.
'MCSC_TITLEBK - Ruft die Hintergrundfarbe ab, die im Titel des Kalenders angezeigt wird.
'MCSC_TITLETEXT - Ruft die Farbe ab, die für die Anzeige von Text im Titel des Kalenders verwendet wird.
'MCSC_TRAILINGTEXT - Ruft die Farbe ab, die für die Anzeige von Kopftags- und Nachtagstext verwendet wird.
'' ...    Kopf- und Nachlauftage sind die Tage des vorhergehenden und nachfolgenden Monats.
'die im aktuellen Monatskalender erscheinen.
'
'lParam muss Null sein.
'
'Funktion gibt einen COLORREF-Wert zurück, der die Farbeinstellung für den angegebenen Abschnitt darstellt.
'des Monatskalenders bei Erfolg. Die Meldung gibt -1 zurück, wenn sie nicht erfolgreich war.
''
'Minimaler unterstützter Client: Windows Vista (nur Desktop-Anwendungen)
'Minimaler unterstützter Server: Windows Server 2003 (nur Desktop-Anwendungen)
'Headerfile: Commctrl.h
 
XProfan 11
So Computer sind halt auch nur Menschen...
16.12.2018  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

7.830 Betrachtungen

Unbenanntvor 0 min.
lange-jens15.10.2019
Georg Teles26.08.2019
Pedro Miguel26.05.2019
Walter31.03.2019
Mehr...

Themeninformationen



AGB  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Impressum  |  Mart  |  Support  |  Suche

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie