![]() |
hilfe mit variablen
Hallo Leute bin neu hier und auch in der Programmierer Ecke :roll:
ich hab ein Problem mit textfeldern. ich hab die textfelder als variablen deklariert und will die jetzt in eine if bedingung schreiben , dass eine fehlermeldung wenn man nichts in das textfeld eingibt. Ich hab es bis jetzt nicht geschafft , aber vielleicht könnt ihr pros mir ja helfen :D Ich weiß auch nicht ob ich mich hier richtig ausgedrückt hab und ob es im richtigen bereich des forum gepostet habe , naja bin halt in der hinsicht ein newbie :mrgreen: aber thx schonmal im voraus, falls ihr auszüge aus dem quelltext braucht sagt bescheid, ich pack die dann hier rein. mfg Pulli |
Re: hilfe mit variablen
Hai Pulli,
willkommen im Forum. Zitat:
Ich denke mir Du hast auf deiner Form mehrere Editfelder und möchtest nun prüfen ob in den Felder entwas eingegeben wurd? Wenn JA: Schreibe mal in das OnExit Ereignisses von deinem Edit:
Delphi-Quellcode:
Bei Fragen -> schreiben :)
procedure TForm1.Edit1Exit(Sender: TObject);
begin If (Trim ((Sender As TEdit).Text) = '') then begin ShowMessage ('Bitte etwas eingeben'); (Sender As TEdit).SetFocus; end; end; |
jo
jojo so hatte ich mir das gedacht , nur es klappt nicht beim compilieren kommt immer eine fehlermeldung "=" gefunden obwohl *)* erwartet. ich hab dich mal im icq geaddet (][DN][Pulli) , da können wir einfacher reden :D
|
Re: jo
Zitat:
Zähle sie noch einmal nach. Über ICQ bin ich tagsüber nicht online. Das nutze ich nicht auf dem Rechner im Büro. |
Hallo Pulli,
erstmal herzlich Willkommen! :bounce2: Wenn Du nur überprüfen willst, ob ich einem Edit was drin steht oder nicht, dann hilft Dir auch dieses:
Delphi-Quellcode:
Und damit nichts schief geht, schreibst Du ins OnPaint des Formulares: Edit1.SetFocus;
procedure TForm1.Edit1Exit(Sender: TObject);
begin if Length(Edit1.Text) = 0 then begin ShowMessage('Bitte erst was eingeben!'); end; end; Damit wird der Cursor ins Edit gesetzt und beim verlassen des Editfeldes, wird obige Prozedur ausgeführt. Grüsse, Daniel :hi: |
ich kopier dir mal den source mom
das ist der code für den button der das ergebnis ausrechnet und die variablen:
Delphi-Quellcode:
hoffe du kannst was damit anfangen :)
var
Form1: TForm1; a,b,c,d,e,f,g:real; procedure TForm1.rechnenClick(Sender: TObject); begin a:=strtofloat(anzahl_rechner.Text); if a < 0 then begin Application.MessageBox('Bitte eine Zahl über Null eingeben!' , 'Warnung !' , 48); anzahl_rechner.ReadOnly:=true; laenge.ReadOnly:=true; rechnen.Hide; exit end; b:=strtofloat(strom_kwh.Text); c:=strtofloat(laenge.Text); if c < 0 then begin Application.MessageBox('Bitte eine Zahl über Null eingeben!' , 'Warnung !' , 48); anzahl_rechner.ReadOnly:=true; laenge.ReadOnly:=true; rechnen.Hide; exit end; d:=a*0.35; e:=d*b*c; f:=(d*1000)/ 230; ampere.Text:='' +floattostr(f); pkw.Text:=''+floattostr(d); stromkosten.Text:=''+floattostr(e); anzahl_rechner.ReadOnly:=true; laenge.ReadOnly:=true; rechnen.Hide; end; so wie ich das mit den zahlen unter null will ich das auch machen mit dem nichts eingeben. PS: Daniel B hab deinen source auchmal probiert kommt aber wieder die gleiche fehlermeldung :( |
Hallo Pulli,
mein Code und der von Sharky funktionieren wunderbar! Der Fehler liegt also woanders. Post bitte die ganze Unit, falls die nciht zu lang ist, einfacher wäre es die .pas einfach als Anhang anzuhängen. Im mom. erkenne ich keinen Fehler in dem Code, der Fehler scheint! aber woanders zu liegen. Grüsse, Daniel :hi: |
Moin Pulli,
wenn Du jedesmal wenn ein Wert < 0 eingegeben wird die Felder auf ReadOnly setzt, kann kein korrekter Wert mehr eingegeben werden. |
jo leute
irgendwie hab ich das nit gepeilt mit dem OnExit. Das mit dem readonly hat seinen zweck, hab noch nen button "neu" der setzt alle werte wieder zurück und hebt das wieder auf und holt den button rechnen zurück. hab das prob aber auch so gelöst ;)
aber trotzdem thx für eure hilfe |
Re: jo leute
Zitat:
Der Code den ich geschrieben habe, vergleicht nur eines: Mit der Funktion "Length()" erhält man die länge eines Stringes. Mit "if Length(Edit1.Text) = 0 then" frage ich ab ob die länge des Textes im Edit gleich 0 ist. Wenn dies der Fall ist, wenn also nichts im Edit steht, dann wird die Message ausgeführt/angezeigt. Grüsse, Daniel :hi: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz