| Autor |
Beitrag |
LastRide
      
Beiträge: 47
|
Verfasst: Sa 14.06.08 15:23
Hi,
Ich habe ein Taschenrechner-Programm angefangen bei dem das Edit Feld wie bei einem "Normalen" Taschenrechner durch drücken von Tasten gefüllt wird. Das funktioniert soweit auch recht gut nur komme ich an einer Stelle absolut nicht weiter und zwar:
Wie kann ich es realisieren das der Button für das Komma nur sichtbar ist wenn im Edit Feld bereits mindestens eine Zahl aber noch kein Komma enthalten ist.
Ich hoffe ihr versteht die geschilderte Situation und könnt mir weiter helfen, da ich schon ziemlich am verzweifeln bin.
MfG LastRide
Moderiert von Narses: Topic aus Sonstiges (Delphi) verschoben am Sa 14.06.2008 um 19:33
Moderiert von Narses: Titel geändert.
|
|
MDX
      
Beiträge: 595
Erhaltene Danke: 4
Windows 8.1, Linux Debian 8, Android Lollipop
Delphi, PHP, Java (Android)
|
Verfasst: Sa 14.06.08 15:25
Erstaml doppel klicken auf edit-Feld:
Delphi-Quelltext 1: 2: 3:
| if edit1.text:='' then Kommabutton.Enabled.=false; |
|
|
huuuuuh
      
Beiträge: 665
Erhaltene Danke: 19
win xp, (win vista), win 7
VS 2008 Express Edition, VS 2010 Express Edition, VS 2010 Professionell
|
Verfasst: Sa 14.06.08 15:27
er hat geschrieben sichtbar, also Kommabutton.visible:=true/false
|
|
MDX
      
Beiträge: 595
Erhaltene Danke: 4
Windows 8.1, Linux Debian 8, Android Lollipop
Delphi, PHP, Java (Android)
|
Verfasst: Sa 14.06.08 15:29
huuuuuh hat folgendes geschrieben: | | er hat geschrieben sichtbar, also Kommabutton.visible:=true/false |
Achso, naja, dann mit Visible 
|
|
LastRide 
      
Beiträge: 47
|
Verfasst: Sa 14.06.08 15:49
Hey danke schonmal dafür nur bleibt der Button nicht unsichtbar wenn ich nach ihm einen weiteren Zahlenbutton drücke.
Habt ihr dafür noch eine Lösung??
MfG LastRide
|
|
Seltermann
Hält's aus hier
Beiträge: 7
|
Verfasst: Sa 14.06.08 16:55
Dann musst du jetzt nur noch mit Pos() prüfen ob das Komma im Text des Edit-Feldes vorkommt.
Das baust du mit einem AND hinter der Answeisung die dir david-kurz schon geschickt hatte ein. Wie das auszusehen hat ist dein Part.
|
|
LastRide 
      
Beiträge: 47
|
Verfasst: So 15.06.08 08:03
Hey,
soweit so gut nur stehe ich jetzt vor dem Problem das ich hier nicht mehr weiter komme  :
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TForm1.Edit2Change(Sender: TObject); var Key: Char; begin If Edit2.Text=('') then begin AdvGlassButton13.Visible:=false
and If (Key = DecimalSeparator) and (pos(Key, (Sender as TCustomEdit).Text) > 0) then AdvGlassButton13.Visible:=false; end
else begin AdvGlassButton13.Visible:=true |
MfG LastRide
|
|
LastRide 
      
Beiträge: 47
|
Verfasst: So 15.06.08 10:15
Hi,
Ich habe den Quelltext nochmal geändert jedoch ist das immer noch nicht das gewünschte Ergebnis.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.Edit2Change(Sender: TObject); var Key: Char; begin If (Edit2.Text='') and (Key = DecimalSeparator) and (pos(Key, (Sender as TCustomEdit).Text) > 0) then Kommabutton.Visible:=false else Kommabutton.Visible:=true; end; |
Hoffe jemand hat vllt. noch eine Idee oder Lösung wie es geht.
MfG LastRide
|
|
Seltermann
Hält's aus hier
Beiträge: 7
|
Verfasst: So 15.06.08 10:17
Du brauchst nur ein if. Verwende dein erstes IF und ergänze es mit deinem zweiten IF.
Delphi-Quelltext 1: 2: 3: 4: 5:
| with Edit2 do begin If (Text='') OR ((Text<>'') AND ((pos(',', Text) > 0) OR (pos('.', Text) > 0))) then AdvGlassButton13.Visible:=false; end; |
Natürlich musst du noch prüfen ob wirklich nur Zahlen eingeben wurden. Hier ist wieder Eigenarbeit angesagt.
|
|
LastRide 
      
Beiträge: 47
|
Verfasst: So 15.06.08 10:28
Hi,
Danke an alle die mir geholfen haben und besonderen Dank an Selterman.
Und ich muss nicht Prüfen ob wirklich nur Zahlen eingegeben sind da nichts in das Edit Feld eingegeben oder Einkopiert werden kann, sondern die eingabe durch drücken von Button stattfindet  .
MfG LastRide
|
|
Seltermann
Hält's aus hier
Beiträge: 7
|
Verfasst: So 15.06.08 10:34
Bitte sehr. Viel Spaß beim Rechnen. 
|
|
LastRide 
      
Beiträge: 47
|
Verfasst: So 15.06.08 11:37
Danke  ,
Momentan stehe ich jedoch vor einem anderen Problem und zwar ist die Eingabe von negativen Zahlen nicht mehr möglich da für die Taste ja auch die Subtraktionsfunktion aufbaut ich hoffe jemand weiß Rat wie ich es schaffe ein - in mein Edit Feld zu bekommen.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| begin If (Edit2.Text='') then Edit2.Text := ('-') else Edit1.Text := Edit2.Text; Edit3.Text := ('-'); Edit2.Text := (''); |
MfG LastRide
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: So 15.06.08 12:44
Moin!
Bitte erstelle für jede deiner Fragen ein separates Topic, da die Diskussion mehrerer Fragen in einem Topic für gewöhnlich für Verwirrung und Durcheinander sorgt. Daher:
*geschlossen* cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|