PC-Timer by _schulle_

Diskutiere und helfe bei PC-Timer by _schulle_ im Bereich Software & Treiber im SysProfile Forum bei einer Lösung; Nabend Jungs. Hab hier mal n kleines Tool für euch, in den letzten Tagen so aus Jux programmiert, damit nie wieder Pizza im Ofen verbrennt. :ugly: Ihr... Dieses Thema im Forum "Software & Treiber" wurde erstellt von _schulle_, 11. Juni 2010.

  1. _schulle_
    _schulle_ It's classified.
    Registriert seit:
    29. Oktober 2007
    Beiträge:
    7.286
    Zustimmungen:
    293
    1. SysProfile:
    44191

    Nabend Jungs.

    Hab hier mal n kleines Tool für euch, in den letzten Tagen so aus Jux programmiert, damit nie wieder Pizza im Ofen verbrennt. :ugly:
    Ihr könnt dort eine Zeit sowie einen Erinnerungstext eintragen und den Countdown starten. Am ende des Coundowns wird das Fenster Maximiert, in den Vordergrund gestellt, dabei blinkt das Fenster wechselnd. Dazu wird der Sound abgespielt, der im selben Ordner wie die *.exe ist und Sound.wav heißt. Außerdem wird ein Dialogfenster mit eurem Erinnerungstext angezeigt. Klickt ihr Dort auf OK, wird das Programm gekillt. Klickt ihr auf Cancel, sollte alles zurückgesetzt werden, als würde man das Programm neu starten.
    Der Countdown kann auch Unterbrochen sowie wieder aufgenommen werden.

    Ich veröffentliche dieses Programm unter der Beerware-Lizenz, Revision42.
    Die Software enthält KEINEN schädlichen Code.
    Sollten daran Zweifel bestehen, so würde ich es ggf. einzelnen gestatten, Einsicht in den Quelltext zu nehmen.
    Desweiteren ist die eine ALPHA-Version, also im Test-Stadium. Das Programm sollte soweit auf allen Windows-Rechnern stabil laufen, dafür gebe ich aber KEINE Garantie. Auch kann ich keine Garantie für andere Probleme geben, dass sich das Programm in einer Endlosschleife verfängt. Sowas ist aber sogutwie ausgschlossen.

    Gruß, _schulle_, and enjoy your Pizza!


    Edit: wenn euch die Software gefällt, habe ich gegen n nettes Reno nix einzuwenden. Auch Kritik oder Hinweise nehme ich dankend an.
    Edit2: in dem Archiv ist ein Selbstentpackendes Archiv. Die drei Dateien daraus müsst ihr in einen Ordner eurer Wahl entpacken. //nicht mehr zutreffend
    Edit3: Urheber der Sound-Datei ist mir Unbekannt. Vermutlich (c) by Microsoft.
    Edit4: neue Version mit kleinem Fix
    Edit5: Download der alten Version entfernt!
     
    #1 _schulle_, 11. Juni 2010
    Zuletzt bearbeitet: 14. September 2010
    2 Person(en) gefällt das.
  2. Gorsi
    Gorsi Super-Moderator
    S-Mod
    Registriert seit:
    24. März 2008
    Beiträge:
    11.416
    Zustimmungen:
    443

    Erstes Problem gefunden.
    Startet man den Countdown, lässt ihn zu ende laufen erscheit wie befühlen das blinkende nervige Rot. Also wie gewollt. Der kleine Request zum bestätigen oder Abbrechen erscheint auch. Klickt man während der Sound noch läuft auf Abbrechen passiert nichts. Erst wenn dieser ausgespielt ist schließt sich der Reqeust und das Programm ist normal weiter zu nutzen.
    Bei dem ersten versuch hatte ich allerdings das Problem das auch nach dem sound das Programm sich mit abbrechen nicht wieder in den ursprung zurück versätzen lässt. also ohne Blinken. Auch schließen über das X sowie das Kontextmenü vom Task in der Taskleiste ging nicht. Nur das schließen des Task im Taskmanager brachte etwas. Wie gesagt passierte mir das aber nur beim ersten ausführen.

    Ansonsten habe ich keine weiteren Fehler gefunden.

    Aber noch Verbesserungsvorschläge.
    1. Nachdem das Script sich ausgeführt hat, man auf abbrechen gedrückt hat, wäre es schön, wenn es sich wieder auf seine ursprungsgröße zurück stellt und nicht mehr den ganzen Bildschirm ausfüllt.
    2. Nachdem man den grund eingegeben hat ist es erleichternt direkt enter drücken zu gönnen und das programm startet, anstatt den Mauscurser zu bewegen oder mit der Tabtaste navigieren zu müssen.
    Vieleicht erforderlich wenn eine Stopuhr warum auch immer schnell eigesetzt werden muss. Zeitersparnis von 1 Sekunde. ^^ Aber ich denke, kein Muss für eine Alpha Version. :)
     
  3. _schulle_
    _schulle_ It's classified.
    Themenstarter
    Registriert seit:
    29. Oktober 2007
    Beiträge:
    7.286
    Zustimmungen:
    293
    1. SysProfile:
    44191
    Den Fehler kontne ich bisher net reproduzieren. Vllt melden sich andere, ob die den Fehler auch bekommen, dann schau ich mal im Source Code.

    @ Vorschläge:
    1: Ja, ich denke das lässt sich machen.
    2: Ich schau mal ob ich im netz wat finde wie da jehn tut. ;D

    gruß
     
    #3 _schulle_, 11. Juni 2010
  4. Börni
    Börni Computer-Experte
    Registriert seit:
    2. Februar 2007
    Beiträge:
    899
    Zustimmungen:
    14
    1. SysProfile:
    31679
    2. SysProfile:
    86246
    sourcecode?
     
  5. peacemillion
    peacemillion Mac-derator
    Registriert seit:
    29. Oktober 2007
    Beiträge:
    4.402
    Zustimmungen:
    157
    Name:
    Manuel
    1. SysProfile:
    23
    2. SysProfile:
    14337
    Linux-Version?
     
    #5 peacemillion, 11. Juni 2010
  6. _schulle_
    _schulle_ It's classified.
    Themenstarter
    Registriert seit:
    29. Oktober 2007
    Beiträge:
    7.286
    Zustimmungen:
    293
    1. SysProfile:
    44191
    Könntet ihr euch klarer ausdrücken, was ihr wollt? X_x :)
     
    #6 _schulle_, 11. Juni 2010
  7. Just_a_Script
    Just_a_Script reporting for duty
    Registriert seit:
    12. Februar 2007
    Beiträge:
    6.527
    Zustimmungen:
    279
    Name:
    Sascha
    1. SysProfile:
    25020
    2. SysProfile:
    70843
    Steam-ID:
    SysPKiller
    ja den Code und ne Linux version steht doch da :fresse:
     
    #7 Just_a_Script, 11. Juni 2010
  8. _schulle_
    _schulle_ It's classified.
    Themenstarter
    Registriert seit:
    29. Oktober 2007
    Beiträge:
    7.286
    Zustimmungen:
    293
    1. SysProfile:
    44191
    Börni: Hier der Quelltext:
    unit Unit1;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, ExtCtrls, StdCtrls, Buttons, mmsystem;

    type
    TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    Timer1: TTimer;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    BitBtn1: TBitBtn;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Timer2: TTimer;
    Timer3: TTimer;
    Edit4: TEdit;
    Label4: TLabel;
    Timer4: TTimer;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure Timer3Timer(Sender: TObject);
    procedure Timer4Timer(Sender: TObject);
    private
    { Private-Deklarationen }
    public
    { Public-Deklarationen }
    end;

    var
    Form1: TForm1;
    time: integer;
    ErText: string;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    var h,m,s : integer;
    begin
    ErText:=edit4.text;
    h:=strtoint(edit1.text);
    m:=strtoint(edit2.text);
    s:=strtoint(edit3.text);
    time:=s;
    time:=time+(m*60);
    time:=time+(h*3600);
    timer1.Enabled:=true;
    button2.Visible:=true;
    button1.Visible:=false;
    end;

    procedure TForm1.Timer1Timer(Sender: TObject);
    var t,h,m: integer;
    begin
    time:=time-1;
    t:=time;
    if t>=0 then
    begin
    if t>=3600 then
    begin
    h:=t div 3600;
    t:=t-(h*3600);
    edit1.Text:=inttostr(h);
    if t>=60 then
    begin
    m:=t div 60;
    t:=t-(m*60);
    edit2.text:=inttostr(m);
    edit3.text:=inttostr(t);
    end
    else
    begin
    m:=t div 60;
    t:=t-(m*60);
    edit2.text:=inttostr(m);
    edit3.text:=inttostr(t);
    end
    end
    else
    if t>=60 then
    begin
    m:=t div 60;
    t:=t-(m*60);
    edit1.Text:=inttostr(0);
    edit2.text:=inttostr(m);
    edit3.text:=inttostr(t);
    end
    else
    begin
    m:=t div 60;
    t:=t-(m*60);
    edit1.Text:=inttostr(0);
    edit2.text:=inttostr(m);
    edit3.text:=inttostr(t);
    end
    end
    else
    begin
    Button2.visible:=false;
    timer4.Enabled:=true;
    PlaySOUND(PChar('.\Sound.wav'),hInstance,snd_ASync );
    timer1.Enabled:=false;
    end;
    end;

    procedure TForm1.Button2Click(Sender: TObject);
    begin
    timer1.Enabled:=false;
    button3.Visible:=true;
    button2.visible:=false;
    end;

    procedure TForm1.Button3Click(Sender: TObject);
    begin
    timer1.Enabled:=true;
    button2.Visible:=true;
    button3.Visible:=false;
    end;

    procedure TForm1.Button4Click(Sender: TObject);
    begin
    timer1.Enabled:=false;
    time:=0;
    edit1.Text:=inttostr(0);
    edit2.Text:=inttostr(0);
    edit3.Text:=inttostr(0);
    button2.Visible:=false;
    button3.visible:=false;
    button1.visible:=true;
    form1.Color:=clwhite;
    end;

    procedure TForm1.Timer2Timer(Sender: TObject);
    begin
    form1.Color:=clred;
    timer3.Enabled:=true;
    timer2.Enabled:=false;
    end;

    procedure TForm1.Timer3Timer(Sender: TObject);
    begin
    form1.Color:=clwhite;
    timer2.Enabled:=true;
    timer3.Enabled:=false;
    end;

    procedure TForm1.Timer4Timer(Sender: TObject);
    var buttonSelected : Integer;
    begin
    ShowWindow(handle,SW_MAXIMIZE);
    Form1.FormStyle:=fsStayOnTop;
    timer2.Enabled:=true;
    buttonSelected := MessageDlg(Ertext,mtError, mbOKCancel, 0);
    if buttonSelected = mrOK then
    begin
    timer1.Enabled:=false;
    timer2.Enabled:=false;
    timer3.Enabled:=false;
    timer4.Enabled:=false;
    Application.terminate;
    end;
    if buttonSelected = mrCancel then
    begin
    timer1.Enabled:=false;
    timer2.Enabled:=false;
    timer3.Enabled:=false;
    time:=0;
    edit1.Text:=inttostr(0);
    edit2.Text:=inttostr(0);
    edit3.Text:=inttostr(0);
    button2.Visible:=false;
    button3.visible:=false;
    button1.visible:=true;
    form1.Color:=clwhite;
    timer4.enabled:=false
    end;
    end;

    end.

    Peacey: Linux-Version hat börni inner Mache
     
    #8 _schulle_, 11. Juni 2010
  9. D!abloSV
    D!abloSV Alter Hase
    Registriert seit:
    28. Dezember 2006
    Beiträge:
    2.076
    Zustimmungen:
    37
    Ist es normal, dass das PopUp, in dem der eingegebene Text steht, nach Ablauf des Countdowns immer und immer wieder aufpoppt und somit zB 15 mal geschlossen werden muss? ;)
    Des Weiteren ließ sich das Progrämmchen nach Ablauf des Countdowns und Wegklicken der PopUps nicht wieder verkleinern, wieso auch immer Oô
     
  10. _schulle_
    _schulle_ It's classified.
    Themenstarter
    Registriert seit:
    29. Oktober 2007
    Beiträge:
    7.286
    Zustimmungen:
    293
    1. SysProfile:
    44191
    Das ist nicht beabsichtigt, wird aber noch behoben. Is ja nur na Alpha-Version :)

    k, dann mach ich das so, des sich das wieder verkleinert bei klicken der Buttons im Dialogfeld..
     
    #10 _schulle_, 11. Juni 2010
  11. D!abloSV
    D!abloSV Alter Hase
    Registriert seit:
    28. Dezember 2006
    Beiträge:
    2.076
    Zustimmungen:
    37
    Damit meine ich nicht, dass es sich beim Daraufklicken des OK/Abbrechen Buttons im Dialogfeld, sondern irgendwie funktioniert das Verkleinern des Fensters ansich danach nicht mehr. Ist mir unergründlich, ist auch nur da so, gerade getestet ^^
     
  12. Chribbel
    Chribbel Natodraht im Kopfkissen
    Registriert seit:
    18. Juni 2008
    Beiträge:
    3.772
    Zustimmungen:
    92
    1. SysProfile:
    114113
    2. SysProfile:
    142054
    ok ..

    DOWNLOAD, ENTPACKEN .. und danach geht bei meinem Rechner nix mehr mit der Datei ..

    mir wird *.exe zwar als Anwendung angezeigt, aber es regt sich NIX ... wahrlich gannüsch nach dem anklicken :confused:
     
  13. peacemillion
    peacemillion Mac-derator
    Registriert seit:
    29. Oktober 2007
    Beiträge:
    4.402
    Zustimmungen:
    157
    Name:
    Manuel
    1. SysProfile:
    23
    2. SysProfile:
    14337
    Aha, Delphi also ;)
    Da blick ich zumindest durch^^
    Edit: Kommentare sind manchmal auch hilfreich :fresse: auch für einen selber, wenn man nach langer Zeit mal wieder reinschaut und nachvollziehen will, was man da eigentlich gemacht hat^^
    Ich hatte mal nen Zeit-Umrechner von hh:mm in dezimal geschrieben und hatte da dann das Prob, dass ich erstmal wieder alles durchackern musst^^

    Edit2: Wine mag das Prog irgendwie nicht :( Vll liegts an der Lizenz...
     
    #13 peacemillion, 11. Juni 2010
    Zuletzt bearbeitet: 11. Juni 2010
  14. CCJzero
    CCJzero Lebende CPU
    Registriert seit:
    17. September 2008
    Beiträge:
    1.643
    Zustimmungen:
    59
    Name:
    Hias
    1. SysProfile:
    72717
    bei mir passiert das selbe wie bei chribu, doppelklick auf exe -> nix passiert, nur in der taskleiste wird es angezeigt...
     
  15. _schulle_
    _schulle_ It's classified.
    Themenstarter
    Registriert seit:
    29. Oktober 2007
    Beiträge:
    7.286
    Zustimmungen:
    293
    1. SysProfile:
    44191
    Chribu und CCJ: ich hab die Vermutung, dass das Prog bei euch außerhalb des Bildschirms ausgeführt wurde. Hab jetz ne Zeile eingebaut, die das Programm beim Start aufm Desktop zentriert.

    An dem Problem mit dem wieder verkleinern arbeite ich noch, sowie an den anderen Sachen.
     
    #15 _schulle_, 13. Juni 2010
  16. Error:Failed connect to localhost:9200; Connection refused
Thema:

PC-Timer by _schulle_

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden