Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi hilfe mit variablen (https://www.delphipraxis.net/2600-hilfe-mit-variablen.html)

Pulli 30. Jan 2003 14:13


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

Sharky 30. Jan 2003 14:20

Re: hilfe mit variablen
 
Hai Pulli,

willkommen im Forum.

Zitat:

Zitat von Pulli
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 verstehe nicht so ganz was Du mit Textfeldern meinst?
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:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
 If (Trim ((Sender As TEdit).Text) = '') then
  begin
   ShowMessage ('Bitte etwas eingeben');
   (Sender As TEdit).SetFocus;
  end;
end;
Bei Fragen -> schreiben :)

Pulli 30. Jan 2003 15:53

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

Sharky 30. Jan 2003 16:02

Re: jo
 
Zitat:

Zitat von Pulli
...kommt immer eine fehlermeldung "=" gefunden obwohl ) erwartet. ich hab dich mal im icq geaddet ...

Das sieht so aus als hättest Du eine Klammer '(' zu viel gesetzt.

Zähle sie noch einmal nach. Über ICQ bin ich tagsüber nicht online.

Das nutze ich nicht auf dem Rechner im Büro.

Daniel B 30. Jan 2003 16:07

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:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
  if Length(Edit1.Text) = 0 then
  begin
    ShowMessage('Bitte erst was eingeben!');
  end;
end;
Und damit nichts schief geht, schreibst Du ins OnPaint des Formulares: Edit1.SetFocus;
Damit wird der Cursor ins Edit gesetzt und beim verlassen des Editfeldes, wird obige Prozedur ausgeführt.

Grüsse, Daniel :hi:

Pulli 30. Jan 2003 16:10

ich kopier dir mal den source mom
 
das ist der code für den button der das ergebnis ausrechnet und die variablen:
Delphi-Quellcode:
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;
hoffe du kannst was damit anfangen :)
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 :(

Daniel B 30. Jan 2003 16:57

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:

Christian Seehase 30. Jan 2003 16:57

Moin Pulli,

wenn Du jedesmal wenn ein Wert < 0 eingegeben wird die Felder auf ReadOnly setzt, kann kein korrekter Wert mehr eingegeben werden.

Pulli 30. Jan 2003 17:04

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

Daniel B 30. Jan 2003 17:13

Re: jo leute
 
Zitat:

Zitat von Pulli
irgendwie hab ich das nit gepeilt mit dem OnExit

Also, dieses Ereigniss tritt ein, sobald das Edit, den Fokus verliert, also der Cursor da rausgeht. Dies geschieht indem man in ein anderes Edit klickt, oder auf ein Button, o.ä.! Sobald eine Komponente den Fokus verliert, tritt dieses Ereigniss ein. Du musst nur im Object Inspector sehen, ab es bei Deiner gewünschten Komponente dabei ist. Den nicht jede Komponente von Delphi hat diese Eigenschaft.

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.
Seite 1 von 2  1 2      

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