Italia
Foro

Benötige Aiuto um eine analoge Zeit (hier 60 Min.) in der Anzeige rückwärts laufen zu

 

Bernd
Lies
Problem: Der Anwender bearbeitet im Hptprg. Funktionen (hier: Auswahl von Fragen und deren Beantwortung). Parallel dazu soll in einer Statuszeile die analoge Zeit (60 Min.) bei Start der Auswahl der Fragen auf Null laufen. Ist die Zeit auf Null so soll das Hptprg. mit einm Hinweis geschlossen werden.
 
XProfan X2
xprofan 9.0, windows xp pro
31.12.2013  
 




Julian
Schmidt
Willst du eine Analog- oder Digitalanzeige?
Hier ein Beispiel mit rückläufiger Zeit und Digitalanzeige und 24h-Format.
CLS
Declare int t, d, h, m, s, c
t = &gettickcount
c = 60'Anzahl der Minuten

While 1

    d = (c*60000)-(&gettickcount - t) + 1000
    h = (d mod 86400000) /3600000
    m = (d mod 3600000) / 60000
    s = (d mod 60000) / 1000
    Settext %hwnd, Str$(h) + "h; " + Str$(m) + "m; "+Str$(s)+"s"

    If (d<=0)

        Messagebox("Die Zeit ist abgelaufen","MELDUNG",0)
        end

    EndIf

EndWhile

 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
31.12.2013  
 




maroro
Programmazione Grundlagen

Alle meine Programme haben ein grundlegendes Schema.

Als erstes werden die Grundlagen gelegt Variablen Arrays Ini-File lesen.

Dann wird das Fenster aufgebaut Listboxen Buttons etc.

Jetzt kommt eine Schleife oder Loop in der/dem die Nutzereingaben abgefangen werden.

Von dort wird zu den einzelnen Aktionen verzweigt.

Folgt dein Programm auch diesem Muster?
 
31.12.2013  
 




H.Brill
Da du ja XProfanX2 hast, würde ich die Uhr in einem
Prozess laufen lassen. Siehe :

Multiprozessing mit XProfan
und die Proc
SetTitleTime

Da man auch prozess-übergreifend auf Controls Zugriff
hat, könntest du bei Ablauf der Zeit reagieren, z.B.
mit Sendkey was an einen Button schicken, oder circa
FileMap usw. Roland hat es ja in der Aiuto sehr gut
beschrieben.

Könnte dann etwa so aussehen (hier mal mit einem Hotkey
Taste Pause) gemacht :
Declare Btn1&, Btn2&, edit1&, text1&
WindowTitle "Mein Fenster"
Window 600, 400
Btn1&    = @Create("Button", %HWnd, "Ende", 5, 10, 60, 25)
Btn2&    = @Create("Button", %HWnd, "Start Watch", 80, 10, 100, 25)
text1&   = @Create("Text",   %HWnd, "Eingabe : ", 5, 40, 80, 25)
edit1&   = @Create("Edit", %HWnd, "", 85, 40, 120, 25)
AddHotkey 1001, 19, 0' Pause - Taste

WhileNot @Clicked(Btn1&)

    WaitInput

    If @Clicked(Btn2&)

        pExec("|StartWatch", %HWnd, 1)

    EndIf

    If MenuItem(1001)

        Messagebox("Die Zeit ist abgelaufen","MELDUNG",0)

    EndIf

    Case %Key = 2 : Break' Schließen-Kreuz abfragen

EndWhile

End

Proc StartWatch

    Parameters handle&, c&
    Declare d&, h&, m&, s&, t&
    Var ende% = 0
    t& = &GetTickCount

    WhileNot ende%

        d& = (c& * 60000)-(&gettickcount - t&) + 1000
        h& = (d& mod 86400000) /3600000
        m& = (d& mod 3600000) / 60000
        s& = (d& mod 60000) / 1000
        Settext handle&, Str$(h&) + "h; " + Str$(m&) + "m; "+Str$(s&)+"s"
        case getText$(handle&) = "" : ende% = 1

        If (d& <= 0)

            SendKey(handle&, 19)
            ende% = 1

        EndIf

    EndWhile

EndProc

 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
01.01.2014  
 




Bernd
Lies
Die Antworten mit dem Erstellen einer Analog- oder Digitaluhr sind o.k. Mein Problem ist die Einbindung in meinem Prgramm. D. h. wo genau müssen die Befehle rein: als Proc oder ????. Mein Programm steht und funktioniert super. Leider eben nicht mit der Uhr.
 
xprofan 9.0, windows xp pro
02.01.2014  
 




Julian
Schmidt
Maroro schrieb es bereits.

maroro (Unbekannt)
Mach nicht den Fehler und versuche es einfach reinzukopieren ... versuche lieber die funktionsweise zu verstehen so das du es selbst schreiben kannst.


Ich hoffe du nimmst dir Das zu Herzen.
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
03.01.2014  
 




H.Brill
Habs deswegen oben extra als Proc ausgelegt, daß
du es besser in deinem Programm benutzen kannst.
Ich hab ja nur zum besseren Verständnis ein Programm
drumherum gebastelt, bzw. damit du es testen kannst.
Wenn dein Programm schon soweit steht fertig ist,
weißt du ja bestimmt, was Procs sind bzw. wie sie
einzubinden sind. Ich gehe deshalb mal davon aus,
daß du nicht ganz am Anfang mit dem Programmieren
mit XProfan stehst.

Also nochmal :
Im Hauptprogramm habe ich einen Hotkey (AddHotkey)
definiert. Wenn die Pause-Taste nun gedrückt wird, sei
es nun per Hand auf der Tastatur oder simuliert mit Sendkey,
wird ein Menü-Item aktiviert. Das funktioniert genauso, als
wären Menüpunkte in deinem Programm vorhanden. Mit
AddHotkey wird das als Ereignis verknüpft. Wenn es auftritt,
wird eine Messagebox gezeigt.

Im Unterprogramm (Proc) sende ich eben diesen Tastaturdruck
mit Sendkey an das Hauptprogrammfenster, wenn die Zeit abgelaufen
ist.

Lese doch bitte in der Aiuto die Argomenti Multiprozessing und
auch Hotkeys und schaue dir die Beispiele an.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
03.01.2014  
 




Bernd
Lies
Vielen Dank an Alle. Habe mich mit dem Code von H.Brill auseinander gesetzt und mit der Xprofan-Aiuto verstanden. Habe dann selbst einen Code in mein Programm programmiert (naturalmente ab und an auf den Code von H.Brill geschaut) und es corre Super.
Nochmals Danke per die Aiuto
 
XProfan X2
xprofan 9.0, windows xp pro
09.01.2014  
 




H.Brill
Na dann bin ich ja froh, daß ich etwas Lehrreiches
weitergeben konnte.
Hab hier noch was per Einsteiger :
Oftmals muß man als Einsteiger die Aiuto durchforsten,
um ein GUI-Programmgerüst zusammen zu bauen.
Man weiß zwar in etwa, wie es geht, muß aber trotzdem
immer wieder nachschauen, hauptsächlich, was die
Programmschelife etc. betrifft. Für die Benutzer des
mit XProfan gelieferten XProfed (Editor), habe ich folgenden
Code :
WindowTitle "Programm - Gerüst"
Window 640, 400
ClearClip
Print "Gerüst wird geschrieben...."
PutClip "'$I ' Hier können .inc File eingebunden werden" + Chr$(13)
PutClip "WindowTitle " + Chr$(34) + "Mein Fenster" + Chr$(34) + Chr$(13)
PutClip "Window 640, 400" + Chr$(13)
PutClip "Declare ende%, Btn1&, Btn2&" + Chr$(13)
PutClip "' Hier werden die Dialogelemente definiert" + Chr$(13)
PutClip "Btn1& = @Create(" + Chr$(34) + "Button" + Chr$(34) + ", %HWnd," + Chr$(34) + "Ende" + Chr$(34) + ", 10, 10, 60, 25)" + Chr$(13)
PutClip "Btn2& = @Create(" + Chr$(34) + "Button" + Chr$(34) + ", %HWnd," + Chr$(34) + "Mach was" + Chr$(34) + ", 100, 10, 80, 25)" + Chr$(13)
PutClip "ende% = 0" + Chr$(13)
PutClip "' Hier kommt die Ereignis - Schleife" + Chr$(13)
PutClip "WhileNot ende%" + Chr$(13)
PutClip "     WaitInput" + Chr$(13)
PutClip "     If @Clicked(Btn1&)" + Chr$(13)
PutClip "        ende% = 1" + Chr$(13)
PutClip "     ElseIf @Clicked(Btn2&)" + Chr$(13)
PutClip "        MachWas()" + Chr$(13)
PutClip "     EndIf" + Chr$(13)
PutClip "     Case %Key = 2 : ende% = 1 ' Schließen-Kreuz abfragen" + Chr$(13)
PutClip "EndWhile" + Chr$(13)
PutClip "' Hier können die Procs per das Programm geschrieben werden" + Chr$(13)
PutClip "Proc MachWas" + Chr$(13)
PutClip "     MessageBox(" + Chr$(34) + "Hallo" + Chr$(34) + ", " + Chr$(34) + "Info" + Chr$(34) + ", 0)" + Chr$(13)
PutClip "EndProc" + Chr$(13)
PutClip "End" + Chr$(13)
Print "Quellcode kann aus Zwischenablage kopiert werden !"
Print "Zum Beenden Taste drücken !"
WaitKey
End

Wenn man diesen compilert (.exe erstellen) und ins Benutzer-Menü
einbindet, kann man schön mit -Bearbeiten + Einfügen oder halt mit
STRG-V ein neues Programm anfangen. Die fehlenden Controls, wie
Listboxen, Buttons usw. kann man dann nachher selber noch dazu
schreiben oder vorhandene löschen bzw. austauschen.
Wer will, kann sich auch obigen Code noch auf seine Bedürfnisse
noch anpassen.

Evtl. ist es per den einen oder anderen nützlich.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
09.01.2014  
 




Julian
Schmidt
Dazu noch ein Tipp von mir.

Ich nutze das Programm ac'tivAid [...]  mit der Erweiterung "Hotstrings" welche dafür sorgt, dass von mir eingegebene Texte/Abkürzungen automatisch durch von mir eingebene Text ersetzt werden.
So hab ich mir verschiedene Textbausteine angelegt, z.B wird bei Eingabe von #txt dieser Text durch ein Beispiel-Edit ersetzt, ebenso bei #cmd durch einen Button usw...Das nimmt einen schon viel Arbeit ab und ist per Anfänger absolut zu empfehlen.

In ac'tivAid gibt es noch viele andere nützliche Tools/Erweiterungen, einfach mal die Liste durchgehen. Es ist wohl per jeden was dabei.
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
09.01.2014  
 




Bernd
Lies
Danke, werde ich benutzen bzw. mir das Programm ansehen.
 
XProfan X2
xprofan 9.0, windows xp pro
11.01.2014  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

12.117 Views

Untitledvor 0 min.
Member 862464128.03.2024
iF30.12.2015
Jürgen Strahl03.05.2015
Uwe Lang07.02.2015
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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