Español
Foro

Kalenderansicht

 

Dirk
Kuntzmann
¡Hola Profaner,
hay en Profano el Möglichkeit el Kalender, como en Dateedit aufklappt, inmediatamente y ständig Mostrar que se?

Frohe Weihnachten (gehabt a haben) a todos

Saludo Dirk
 
26.12.2007  
 




Rolf
Koch
Hi
meinste algo como?
[web]https://XProfan.com/thread.core?t=5474&highlight=sysmonthcal32[/web]
 
26.12.2007  
 




Dirk
Kuntzmann
¡Hola Rolf,
si du algo schickst se lo sicherlich trabajo, Yo tener desafortunadamente kein Prefellow a Hand, así dass el Test algo dauern kann.
Trotzdem vielen Dank sólo una vez para la respuesta rápida.

Saludo Dirk
 
26.12.2007  
 



Auch ya hier geschaut? [...] 
 
26.12.2007  
 




Rolf
Koch
oder otra vez algo, Yo grad zusammengestellt habe y einfacher es:
KompilierenMarcaSeparación
declare calender&,lesen&
declare dtp#
DEF getsystime(2) SendMessage(&(1),4097,0,&(2))
dim dtp#,20

PROC GETDATE

    declare d$,m$,y$
    parameters chdl&
    getsystime(chdl&,dtp#)
    d$=format$(00,word(dtp#,6))
    m$=format$(00,word(dtp#,2))
    y$=format$(0000,word(dtp#,0))
    return d$+.+m$+.+y$

ENDPROC

cls
calender&=Control(SysMonthCal32,,$54000004,1,1,202,155,%hwnd,2000,%hinstance)
lesen&=Create(Button,%hwnd,Zeige,220,10,100,20)

while 1

    waitinput

    if getfocus(lesen&)

        getdate calender&
        messagebox($(0),Gewählt,0)

    endif

wend

disponer dtp#
 
26.12.2007  
 




Dietmar
Horn
¡Hola Dirk,

Lade Usted simplemente hier de el Wettbewerbsbereich unsere MMJ-Quellcodesammlung runter. Dort findest Usted el de Rolf genannte Ejemplo y en el Unterordner Sistema todos eventuell de los weit encima 1000 Demoquellcodes benötigten Incluir- y sonstige Archivos, así el Demos inmediatamente lauffähig son (el jeweils passende Profano²- o. XProfan-Versión natürlich vorausgesetzt).

Si usted en el Suchfunktion el Quellcodesammlung el Begriff Kalender eingibst, entonces findest Usted weitere Beispiele dazu, el Usted Usted selber adaptar kannst.

Marc-Gordon Kröhn hatte dieses Jahr veces una komplette Terminverwaltung veröffentlicht (esta es u.a. en el XProfan-Manager enthalten: Kurse -> Demo-Programas):

Für el komplette Programa se zwar el ListView.dll de Frank Abbing benötigt, pero la Kalenderteil funktioniert auch sin esta DLL. Dort kannst Usted Usted praktisch alles adaptar, qué Su Herz begehrt, porque el Code es muy bien dokumentiert.
KompilierenMarcaSeparación
(C) 2007 by Marc-Gordon Kröhn, http://www.marc-gordon.de
 $P*
USERMESSAGES 16
Declare lvdll&,exit%,liste&,freelist&,text$,lvfont&,idx%,idx2%,Kalender&,X&,wochenende%,zeile1$,zeile2$
Declare AnzahlSpalten%,BreiteAnfang%,BreiteEnde%,ZeileY%,MerkeX%,MerkeY%,Kalender&,spalte$,ende$,styleset$,st%
Declare Kal_Innen&,Kal_NoAct&,Kal_Text&,Kal_Title&,Kal_TitleText&,Background&,Frage&,butmann&,butfrau&,frageexit%
Declare lvu%,neux%
Def GSC(1) !USER32,GetSysColor
Def GetWindowRect(2) !USER32, GetWindowRect
WindowStyle 16
Frage&=CreateDialog(%hwnd,Frage,((%maxX/2)-127),((%maxY/2)-45),255,91)
CreateText(Frage&,Sind Sie männlich oder weiblich?,5,5,242,20)
butmann&=CreateButton(Frage&,männlich,5,30,92,25)
butfrau&=CreateButton(Frage&,weiblich,150,30,92,25)

WhileNot frageexit%

    GetMessage

    if GetFocus(butmann&)

        st%=1  Style 1
        frageexit%=1

    elseif GetFocus(butfrau&)

        st%=2  Style 2
        frageexit%=1

    endif

Wend

DestroyWindow(Frage&)
##### EINSTELLUNGEN #####
wochenende%=1        Mit Wochenende=1 | Kein Wochenende=0
Case st%=1:Background&=rgb(209,246,255)  Fensterhintergrund Style 1
Case st%=2:Background&=rgb(234,207,239)  Fensterhintergrund Style 2
##### Grafiken & Style #####

Proc Style

    Parameters getstyle%
    Case getstyle%=1:styleset$=\set1  Style 1
    Case getstyle%=2:styleset$=\set2  Style 2
    spalte$=$ProgDir+styleset$+\Spalte.bmp
    zeile1$=$ProgDir+styleset$+\zeile1.bmp
    zeile2$=$ProgDir+styleset$+\zeile2.bmp
    ende$=$ProgDir+styleset$+\endezeile.bmp
    Farben für den Kalender

    if getstyle%=1

        Kal_Innen&=rgb(255,255,210)     Innenfarbe
        Kal_NoAct&=rgb(125,125,125)     Farbe für nicht-aktuellen Monat
        Kal_Text&=rgb(0,0,0)            Textfarbe
        Kal_Title&=rgb(71,118,179)      Titelhintergrund
        Kal_TitleText&=rgb(255,255,255) Titeltext

    elseif getstyle%=2

        Kal_Innen&=rgb(255,255,210)
        Kal_NoAct&=rgb(125,125,125)
        Kal_Text&=rgb(0,0,0)
        Kal_Title&=rgb(154,17,108)
        Kal_TitleText&=rgb(255,255,255)

    endif

EndProc

Proc BMPXY

    ##### Automatische Grafikeinstellungen #####
    ##### Lade Garfiken und ermittel die Größe #####
    MLoadBmp zeile1$
    ZeileY%=%BmpY         Höhe einer Zeile (Nicht Anfangszeile)
    MLoadBmp spalte$
    BreiteAnfang%=%BmpX   Breite der ersten Grafik
    MLoadBmp ende$
    BreiteEnde%=%BmpX      Breite der letzten Grafik

EndProc

##### ListView.dll einbinden
lvdll&=usedll($ProgDir+Listview.dll)
 $I ListView_Funktionen.inc
Register(123456) Oder so ähnlich ;-)
lvfont&=Create(Font,Verdana,14,0,1,0,0)
##### ListView #####

Proc Liste

    Declare wechsel%,Uhrzeit%,Uhrzeit$,text$
    liste&=CreateListview(%hwnd,%hinstance,0,-1,-1,$400)
    EnableEdits(liste&,1)
    text$=011111
    SelectColumnEdits(liste&,addr(text$))
    InsertColumn liste&,,54,0
    InsertColumn liste&,Montag,150,0
    InsertColumn liste&,Dienstag,150,0
    InsertColumn liste&,Mittwoch,150,0
    InsertColumn liste&,Donnerstag,150,0
    InsertColumn liste&,Freitag,150,0
    Case Wochenende%=1:InsertColumn liste&,Samstag,150,0
    Case Wochenende%=1:InsertColumn liste&,Sonntag,150,0
    freelist&=SetLineHeight(liste&,ZeileY%-1)
    DestroyImageList(freelist&)
    wechsel%=2
    Uhrzeit%=0

    WhileLoop 48

        if wechsel%=2

            if Uhrzeit%<10

                Uhrzeit$=0+Str$(Uhrzeit%)+:00

            else

                Uhrzeit$=Str$(Uhrzeit%)+:00

            endif

            SetItem liste&,Uhrzeit$,
            wechsel%=1

        else

            SetItem liste&,,
            Inc wechsel%
            Inc Uhrzeit%

        endif

    EndWhile

    SetFont liste&,lvfont&
    ShowListview(liste&,10,10,width(%hwnd)-220,height(%hwnd)-50)
    InitMessages(%hwnd)
    AnzahlSpalten%=GetColumns(liste&)-1    Anzahl der normalen Zeilen ohne die Anfangszeile

EndProc

##### Erstellt die Hintergrundgrafik für das ListView mit Profan-Mitteln #####

Proc makegrf

    Parameters Lang%
    Declare zf&,StartZeichnenX%,StartZeichnenY%,multi%
    StartZeichnenX%=0
    StartZeichnenY%=0
    multi%=1
    windowStyle 80
    zf&=Create(Window,%hwnd,,0,0,%maxX,ZeileY%*3)
    #### Zeichnen
    StartPaint zf&
    LoadBmp spalte$,StartZeichnenX%,StartZeichnenY%;0
    LoadSizedBmp zeile1$,BreiteAnfang%+StartZeichnenX%,StartZeichnenY%-Lang%,ZeileY%;0
    LoadSizedBmp zeile2$,BreiteAnfang%+StartZeichnenX%,StartZeichnenY%+ZeileY%-Lang%,ZeileY%;0

    WhileNot multi%=AnzahlSpalten%

        loadbmp ende$,Lang%*multi%+BreiteAnfang%,StartZeichnenY%;0
        LoadSizedBmp zeile1$,Lang%*multi%+BreiteAnfang%+BreiteEnde%,StartZeichnenY%-Lang%,ZeileY%;0
        LoadSizedBmp zeile2$,Lang%*multi%+BreiteAnfang%+BreiteEnde%,StartZeichnenY%+ZeileY%-Lang%,ZeileY%;0
        inc multi%

    Wend

    loadbmp ende$,Lang%*multi%+BreiteAnfang%,StartZeichnenY%;0
    SaveBmp $TempDir+LVBACK.BMP,StartZeichnenX%,StartZeichnenY%-Lang%*multi%+BreiteAnfang%+25,ZeileY%*2  +20für evtl. Scrollbar
    endPaint
    DestroyWindow(zf&)
    text$=$TempDir+lvback.bmp
    SetBackImage(liste&,addr(text$),1)

endproc

Proc LVGroesse

    Declare LangLV%,Spaltenbreite%,idx%
    LangLV%=width(liste&)-5
    Spaltenbreite%=(LangLV%-BreiteAnfang%)/AnzahlSpalten%
    idx%=1

    WhileNot idx%=AnzahlSpalten%+1

        SetColumnWidth(liste&,idx%,Spaltenbreite%)
        Inc idx%

    Wend

    makegrf Spaltenbreite%

EndProc

Proc Kal

    Kalender&=Control(SysMonthCal32,,$54000004,width(liste&)+40,10,180,height(liste&),%hwnd,2000,%hinstance)
    SetFont Kalender&,lvfont&
    SendMessage(Kalender&,$100A,0,Background&)Hintergrund
    SendMessage(Kalender&,$100A,4,Kal_Innen&)
    SendMessage(Kalender&,$100A,5,Kal_NoAct&)
    SendMessage(Kalender&,$100A,1,Kal_Text&)
    SendMessage(Kalender&,$100A,2,Kal_Title&)
    SendMessage(Kalender&,$100A,3,Kal_TitleText&)

Endproc

Proc SetOptimalSize

    Parameters hmc&
    Declare h&,w&,mrect#,am%,hoch%
    Dim mrect#,16
    SendMessage(hmc&,$1009,0,mrect#)
    Let w&=Sub(Long(mrect#,8),Long(mrect#,0))
    Let h&=Sub(Long(mrect#,12),Long(mrect#,4))
    am%=height(%hwnd)/h&
    hoch%=(am%*h&)
    neux%=((Width(%hwnd)-10)-w&)
    SetWindowPos Kalender&=neux%,10-w&,hoch%;0
    Dispose mrect#

EndProc

##### Update ListView #####
lvu%=1

Proc Update

    Case Width(%hwnd)<790:SetWindowPos %hwnd=%WinLeft,%WinTop-800,%WinBottom-%WinTop;0
    Case Height(%hwnd)<570:SetWindowPos %hwnd=%WinLeft,%WinTop-%WinRight-%WinLeft,600;0
    MerkeX%=Width(%hwnd)
    MerkeY%=Height(%hwnd)
    SetOptimalSize Kalender&
    SetWindowPos liste&=10,10-neux%-20,height(%hwnd)-30;0 ***
    LVGroesse
    MerkeX%=Width(%hwnd)
    MerkeY%=Height(%hwnd)
    WindowTitle LV-Test - Anzahl LV-Updates:+Str$(lvu%)
    Inc lvu%

EndProc

*** = Da wartet jemand sehnsüchtig auf seine XPrf10
um die Thread.pcu von iF zu benutzen :-)
##### Hauptfenster #####

Proc Hauptfenster

    SetTrueColor 1
    WindowStyle $003F
    WindowTitle LV Test
    Window ((%maxX/2)-512),((%maxY/2)-384)-1024,768
    CLS Background&
    UseFont Verdana,13,0,1,0,0
    SetDialogFont 1

EndProc

##### Hauptprogramm #####
Hauptfenster
Case st%=1:Style 1
Case st%=2:Style 2
BMPXY
Liste
LVGroesse
Kal
Update
##### Hauptprogrammschleife #####
MerkeX%=Width(%hwnd)
MerkeY%=Height(%hwnd)

WhileNot exit%

    GetMessage
    Case %Umessage=16:exit%=1
    CaseNot MerkeX%=Width(%hwnd):Update
    CaseNot MerkeY%=Height(%hwnd):Update
    Case Width(%hwnd)<790:Update
    Case Height(%hwnd)<570:Update

Wend

DestroyWindow(liste&)
Clo
ages(%hwnd) $I ListView_Dispose.inc freedll lvdll&

Saludo
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
26.12.2007  
 




Dirk
Kuntzmann
¡Hola,
vielen Dank para eure Mühe. Das kurze Ejemplo de Rolf es eigentlich alles, Yo z. Z. gesucht habe. Yo habe me zwar mittlerweile auch otra vez Prfellow installiert, aber Rolf kleines Programa mach sí eigentlich el Gleiche.
Tal vez wäre el sí algo para una neue Profano-Versión, como Erweiterung el Date$-Función y wo entonces el angeklickte Datum con gettext$ igual ausgelesen voluntad kann.

Saludo Dirk
 
26.12.2007  
 




Michael
Wodrich
Ab XProfan 8.0 es dieser Wunsch erfüllt:

(el Ejemplo de el Hilfedatei)
KompilierenMarcaSeparación
Declare hWin&, hButton&, Ende&, hDate&
hWin& = @Create(Dialog, %hWnd, Test, 100, 100, 200, 200)
hButton& = @Create(Button, hWin&, Ende, 10, 10, 180, 24)
hDate& = @Create(DateEdit, hWin&, , 10, 50, 100, 24)
Clear Ende&

WhileNot Ende&

    WaitInput

    If @GetFocus(hButton&)

        Ende& = 1

    EndIf

EndWhile

@MessageBox(@GetText$(hDate&), Datum, 0)
End

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




Dirk
Kuntzmann
¡Hola Michael,
el es sí el normale dateedit, wo el Kalender sólo aufklappt, si la Button gedrückt se. Der Wunsch es sí, dass el Kalender siempre adecuado se y ausgelesen voluntad kann, sin dass sólo una Button betätigt voluntad muss. Siehe kurzes Ejemplo de Rolf.

Saludo Dirk
 
27.12.2007  
 




Michael
Wodrich
Sí, como tener Yo wohl geschlafen.... (es bastante deutlich en Deinem ersten Posting).

Como debería Roland entonces una Conjunto(DateEdit, 0|1 ) bauen. Und en Gelegenheit auch el SetDate- y SetTime-Características nachrüsten.
Bisher va el en efecto sólo una Trick.

Ach sí, y en el Gelegenheit entonces auch Conjunto TimeFormat y SetDateFormat para el Formatstrings con einbauen.

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




RGH
Michael Wodrich
Und en Gelegenheit auch el SetDate- y SetTime-Características nachrüsten.


Ab el nächsten Versión es Befehl SetText entsprechend erweitert, así dass para el beiden Controls TimeEdit y DateEdit con SetText el Tiempo beziehungsweise el Datum eingestellt voluntad kann.

Saludo
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
27.12.2007  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

3.686 Views

Untitledvor 0 min.
Walter12.06.2021
Sebald Grandjean16.02.2018
Andre Rohland11.02.2018
Ernst07.10.2016
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie