Deutsch
Forum

Benötige Hilfe 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
Programmierung Grundlagen

Alle meine Programme haben ein grundlegendes Schema.

Als erstes werden die Grundlagen gelegt Variablen Arrays Ini-Datei 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 über
FileMap usw. Roland hat es ja in der Hilfe 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 Hilfe die Themen 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-Hilfe verstanden. Habe dann selbst einen Code in mein Programm programmiert (natürlich ab und an auf den Code von H.Brill geschaut) und es läuft Super.
Nochmals Danke für die Hilfe
 
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 für Einsteiger :
Oftmals muß man als Einsteiger die Hilfe 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 Dateien 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 für 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 für 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 für 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 für 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  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

12.377 Betrachtungen

Unbenanntvor 0 min.
Tommy vor 9 Tagen
Member 862464128.03.2024
iF30.12.2015
Jürgen Strahl03.05.2015
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

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