Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Shutdowntool - bitte testen (https://www.delphipraxis.net/49402-shutdowntool-bitte-testen.html)

daoki 11. Jul 2005 18:26

Re: Shutdowntool bitte testen
 
ok hast ja überall recht werde mich drumm kümmern

wie soll des gehn mit den buchstaben? Ich will net mit WinAPI oder so was rumhantieren weil ich des net kann.
Ich könnt ja zum Beispiel immer

Delphi-Quellcode:
if EditStunde='a' then //Fehlermeldung
if EditStunde='A' then //Fehlermeldung
if EditStunde='b' then //Fehlermeldung
...
aber des dauert ne weile und is au net so sicher oder ich machs mit

Delphi-Quellcode:
ifnot EditStunde=1..23 then
abe rob des klappt

hast du vielleicht ne gute möglichkeit

ringli 11. Jul 2005 18:31

Re: Shutdowntool bitte testen
 
Versuch es doch mal mit einem MaskEdit. ;-)

[EDIT]
Oder versuch es mal mit diesem Link

daoki 11. Jul 2005 18:38

Re: Shutdowntool bitte testen
 
ok mitr dem link is es besser erklärt.

aber würde meine version auch gehen? is halt hammers viel tipparbeit

mal schaun zum nächsten release mach ichs

wie funkt so ein maskedit? kann mir das jemand erklären?

Gruß DaOki

ringli 11. Jul 2005 18:43

Re: Shutdowntool Version 1.0.1.0
 
Erstell dir doch mal ein Testformular und zieh dir ein MaskEdit auf die Form. Ich meine da wäre sogar ein Beispiel für Uhrzeiten dabei. Ansonsten such hier mal ein bisschen. Das Thema wurde schon öfter behandelt.
Die OH ist hier auch relativ ergiebig. ;-)

Hador 11. Jul 2005 18:47

Re: Shutdowntool bitte testen
 
Zitat:

Zitat von daoki
aber würde meine version auch gehen? is halt hammers viel tipparbeit

Nein, aber fast.
Beim ersten
Zitat:

Delphi-Quellcode:
if EditStunde='a' then //Fehlermeldung
if EditStunde='A' then //Fehlermeldung
if EditStunde='b' then //Fehlermeldung

könntest du ja immer noch "1a" eingeben. Oder "11a" oder "122345346adfgr" :!:

Zitat:

Delphi-Quellcode:
if not (EditStunde=1..23) then ...

Ist fast richtig. Versuchs aber mit in statt mit =

daoki 11. Jul 2005 19:07

Re: Shutdowntool Version 1.0.1.0
 
Delphi-Quellcode:
if not (stundeint in 0..23) then begin
       Actionwaiting.Enabled:=false;
       if messagedlg('Bitte geben Sie eine gültige Uhrzeit ein!',mtError,[mbOk],mrOk)=mrok then
       begin
       EditStu.SetFocus;
       end;
       end;
da kommt immer ne meldung

operator ist auf diesen operandentyp nicht anwendbar


was jetzt habs mit interger als auch mit string werten versucht der cursor steht immer vor der 23

daoki 11. Jul 2005 19:24

Re: Shutdowntool Version 1.0.1.0
 
Zitat:

Die OH ist hier auch relativ ergiebig.
DIe ist manchmal so unverständlich und man sucht nur ewig nach den beschreibungen für wörter oder ausdrücke die in der eigendlichen beschreibung vorkommen
und am ende könnte man dann trotzdem :wall:

Hador 12. Jul 2005 13:46

Re: Shutdowntool - bitte testen
 
du hättest das gaze erst noch zu einem Integer umformen müssen und vorher natürlich noch abfragen müssen, ob Buchstaben eingegeben wurden. Hier mal der Fertige Quellcode für die Stunden.

Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   if (not (Key in ['0'..'9',#8])) or
      ((Length(Edit1.Text) = 2) and (Key <> #8)) or
      ((Length(Edit1.Text) = 1) and ((Edit1.Text[1] = '2')
                                and (not(Key in ['0'..'3',#8])))) then
   begin
      ShowMessage('Bla');
   end;
end;
Wie du siehst habe ich das On KeyPress Ereignis benutzt.
Es werden jetzt nur noch Zahlen von 1 bis 23 zugelassen.
#8 steht übrigens für die backspace Taste.

Was du nach einer falschen eingabe machst ist dir überlassen (begin ... end Teil)

Gruß Lars

daoki 12. Jul 2005 13:55

Re: Shutdowntool - bitte testen
 
Delphi-Quellcode:
procedure TMain.EditStuKeyPress(Sender: TObject; var Key: Char);
begin
   if (not (Key in ['0'..'9',#8])) or
      ((Length(EditStu.Text) = 2) and (Key <> #8)) or
      ((Length(EditStu.Text) = 1) and ((EditStu.Text[1] = '2')
                                and (not(Key in ['0'..'3',#8])))) then
   begin
      ShowMessage('Bitte eine gültige uhrzeit eingeben!');
      EditStu.SetFocus;
      EditStu.Clear;
   end;
end;
jetzt kommt zwar immer die meldung bei einem ungültigen zeichen aber sobald ich auf ok drücke ist der buchstabe trotzdem da! :wall:
was ist da jetzt los?
Bitte helfen

Luckie 12. Jul 2005 14:04

Re: Shutdowntool - bitte testen
 
Nimm doch erstmal einfach das als Grundlage.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:07 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz