AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sicherung (Edit Feld-Button)

Ein Thema von xXcomputerrookieXx · begonnen am 12. Dez 2007 · letzter Beitrag vom 13. Dez 2007
Antwort Antwort
Seite 1 von 2  1 2      
xXcomputerrookieXx

Registriert seit: 16. Nov 2007
Ort: Bielefeld
61 Beiträge
 
Delphi 7 Personal
 
#1

Sicherung (Edit Feld-Button)

  Alt 12. Dez 2007, 19:48
Hallöle!

Ich brauch mal eure Hilfe!Bei unserem Schulprojekt fehlt noch eine wichtige Sache und zwar ein Teil der Sicherung für Edit-Felder im Programm.Wenn die Edit Felder leer sind,dann kommt ja der Fehler : '' ist kein Integerwert,sobald man den Berechnen Button klickt.

Die bisherige Sicherung:

Delphi-Quellcode:
// Sicherungen der einzelnen EDIT-Felder

procedure TFRM_Rentenversicherungsnummer.EDT_Z1Exit(Sender: TObject);
begin

  //Fehler keine Eingabe
  if EDT_Z1.text=''
    then
      begin
        showmessage('Ihre Eingabe fehlt! Bitte geben sie hier eine Ziffer ein!');
        EDT_Z1.setfocus;
        exit; //sonst Fehler beim Lesen aus leeren Editfeldern in der
               //nächsten if-Abfrage
      end;

  //Fehler keine Ziffer
  if (ord(EDT_Z1.text[1])>57) or (ord(EDT_Z1.text[1])<48)
    then
      begin
        showmessage('Falsche Eingabe, bitte hier eine Ziffer eingeben!');
        EDT_Z1.text := '';
        EDT_Z1.setfocus;
      end;

end;
Also wir wollen noch eine Sicherung haben,die verhindert das gerechnet wird wenn alle 11 edit felder leer sind eine showmessage kommt


gruß

andre
  Mit Zitat antworten Zitat
Mooshead

Registriert seit: 27. Jul 2007
32 Beiträge
 
#2

Re: Sicherung (Edit Feld-Button)

  Alt 12. Dez 2007, 19:54
schreibe eine eigene prozedure z.B. exit_editfeld(Sender:TObject); und dann weist du allen Edit-Feldern bei OnExit diese Prozedure zu.

Mit with Sender as TEdit do... kannst du dann deinen algorithmus verwenden
  Mit Zitat antworten Zitat
xXcomputerrookieXx

Registriert seit: 16. Nov 2007
Ort: Bielefeld
61 Beiträge
 
Delphi 7 Personal
 
#3

Re: Sicherung (Edit Feld-Button)

  Alt 12. Dez 2007, 20:31
das problem is nur das wir für delphi nur das wichtigste gelernt haben,unsere kenntnisse sind sehr gering...bis jetzt hab ichs nicht geschafft...
  Mit Zitat antworten Zitat
xXcomputerrookieXx

Registriert seit: 16. Nov 2007
Ort: Bielefeld
61 Beiträge
 
Delphi 7 Personal
 
#4

Re: Sicherung (Edit Feld-Button)

  Alt 12. Dez 2007, 20:38
also was wir bräuchten wär ne recht einfache methode,hoffe die gibt es


--> wenn ihr das programm runtergeladen habt,gebt erstmal z.B. 19735864G73 ein (das is eine Rentenversicherungsnummer wie sie im Programm eingegeben werden muss/das Programm errechnet dann von der Nummer die Prüfziffer)

Nun gebt mal in die ersten beiden Edit Felder Zahlen ein und berechnet dann...anstatt der Meldung wollen wir eine showmessage und natürlich für alle anderen felder auch
Angehängte Dateien
Dateityp: exe prj_rentenversicherungsnummer_460.exe (483,0 KB, 4x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Sicherung (Edit Feld-Button)

  Alt 12. Dez 2007, 23:54
Hi,

benutzt doch einfach die Komponente TMaskEdit, unter der Eigenschaft EditMask könnt Ihr voreinstellen was der Benutzer eingeben darf oder auch verhindern, dass nichts in den Feldern steht.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: Sicherung (Edit Feld-Button)

  Alt 13. Dez 2007, 02:49
Was verstehst du unter "Sicherung"?

Sicher gehen, dass alle Edit-Felder Zahlen enthalten, oder
dass bei falscher Eingabe der alte Wert zurück gesichert, also wieder in das Feld geschrieben wird.

Also für die Problematik '' ist kein Integerwert empfiehlt sich evtl. StrToIntDef
Für das Sichern der korrekten Werte könnte man ein Array [0..ANZ_EDITFELDER] of string nehmen.

Delphi-Quellcode:
// Alles ungetestet !!

const
  ANZ_EDITFELDER := 10; // Weils ja 11 Felder sind und wir bei 0 anfangen zu zählen

var
  SaveValues : array [0..ANZ_EDITFELDER] of string;

...

procedure TFRM_Rentenversicherungsnummer.FormCreate (Sender: TObject);
begin
  for i:=0 to ANZ_EDITFELDER do
    SaveValues[i] := '';
end;

procedure TFRM_Rentenversicherungsnummer.EDT_Z1Exit(Sender: TObject);
var
  nTestInt : integer;
begin
  nTestInt := StrToIntDef(EDT_Z1.text,-1);

  if nTestInt = -1 then
  begin
    ShowMessage('Bitte Zahl eingeben');
    EDT_Z1.text := SaveValues[1];
  end elsebegin
    SaveValues[1] := EDT_Z1.text; // für EDT_Z0 -> SaveValues[0] ; für EDT_Z8 SaveValues[8]
  end;
end;
Wenn man das ganze noch mit Mooshead's und bitsetter's Vorschlägen kombiniert wird da ne ganz runde Sache draus ... denke ich.

Ich frage mich allerdings, wie man verhindern will, dass die TMaskEdit's leer sind, denn Defaultwerte sind in dem Fall bestimmt ungünstig.
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Sicherung (Edit Feld-Button)

  Alt 13. Dez 2007, 07:56
Hallo,
Zitat von gmc616:
Ich frage mich allerdings, wie man verhindern will, dass die TMaskEdit's leer sind
EditMask:= '!9;1;0'; Erlaubt nur Zahlen zwischen 0- 9 und die 0 ist voreingestellt worden. Der Benutzer wird es hiermit nicht schaffen das Feld zu leeren oder Buchstaben einzugeben.


Zitat von gmc616:
denn Defaultwerte sind in dem Fall bestimmt ungünstig.
Das Ausfüllen der Felder muss der Benutzer natürlich selber machen.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#8

Re: Sicherung (Edit Feld-Button)

  Alt 13. Dez 2007, 11:25
Nein. "Muss" er (also der Benutzer) in diesem Fall eben nicht, da der voreinstellte Wert "0" ist.
Er kann also auf den "Prüfsummen berechnen"-Button klicken, ohne irgendeine Eingabe zu machen und die Routine funktioniert.

Ähm, @xXcomputerrookieXx: Die "0" wird doch als korrekte Eingabe gewertet, oder?

Ich denke es ist eine Frage der Programmierphilosophi.
Meiner Ansicht nach müssen beim Programmstart sämtlich Felder leer sein, damit der Benutzer gezwungen wird die richtigen Werte einzugeben. Voreinstellungen mache ich nur, wenn ich sicher bin, dass diese korrekt sind.

Aber vielleicht sehe ich das auch zu verbohrt.





EDIT: Wieso ist mein Code oben eigentlich nicht ge-highlight-et
  Mit Zitat antworten Zitat
xXcomputerrookieXx

Registriert seit: 16. Nov 2007
Ort: Bielefeld
61 Beiträge
 
Delphi 7 Personal
 
#9

Re: Sicherung (Edit Feld-Button)

  Alt 13. Dez 2007, 13:20
hi!

ja die '0' ist eine gültige eingabe
in den felder 1-8 sowie 10+11 können alle ziffern verwendet werden.
das 9. feld ist ja eine ausnahme,da dort ein buchstabe eingegeben wird,der dann ja mithilfe des ASCII-Code umgewandelt wird und durch eine etwas komplizierte rechung mit quersummen etc. kommt am ende dann die prüfziffer raus.

ich hab eure vorschläge an sich verstanden was dann passiert,allerdings hab ich schwierigkeiten das dann in den momentanen quelltext einzufügen.


EDIT: quelltext nun als datei,hoffe is richtig
Angehängte Dateien
Dateityp: txt quelltext_rvn_155.txt (11,1 KB, 1x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Sicherung (Edit Feld-Button)

  Alt 13. Dez 2007, 13:49
Zitat von xXcomputerrookieXx:
.... ich stell mal den ganzen kram rein und guckt dann nochmal nach...
Hai xXcomputerrookieXx,

könntest Du den Quellcode bitte als Datei anhängen und dann aus dem Posting entfernen?
So scrollt man sich ja die Flossen wund

Danke.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:08 Uhr.
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