Autor Beitrag
LastRide
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47



BeitragVerfasst: 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 user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Sa 14.06.2008 um 19:33
Moderiert von user profile iconNarses: Titel geändert.
MDX
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 595
Erhaltene Danke: 4

Windows 8.1, Linux Debian 8, Android Lollipop
Delphi, PHP, Java (Android)
BeitragVerfasst: Sa 14.06.08 15:25 
Erstaml doppel klicken auf edit-Feld:


ausblenden Delphi-Quelltext
1:
2:
3:
if edit1.text:='' then
//Deine Anweisung, also:
Kommabutton.Enabled.=false;
huuuuuh
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 665
Erhaltene Danke: 19

win xp, (win vista), win 7
VS 2008 Express Edition, VS 2010 Express Edition, VS 2010 Professionell
BeitragVerfasst: Sa 14.06.08 15:27 
er hat geschrieben sichtbar, also Kommabutton.visible:=true/false
MDX
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 595
Erhaltene Danke: 4

Windows 8.1, Linux Debian 8, Android Lollipop
Delphi, PHP, Java (Android)
BeitragVerfasst: Sa 14.06.08 15:29 
user profile iconhuuuuuh hat folgendes geschrieben:
er hat geschrieben sichtbar, also Kommabutton.visible:=true/false


Achso, naja, dann mit Visible :wink:
LastRide Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47



BeitragVerfasst: 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



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47



BeitragVerfasst: So 15.06.08 08:03 
Hey,

soweit so gut nur stehe ich jetzt vor dem Problem das ich hier nicht mehr weiter komme ;):

ausblenden 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) > 0then
AdvGlassButton13.Visible:=false;
end

else
begin
AdvGlassButton13.Visible:=true


MfG LastRide
LastRide Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47



BeitragVerfasst: So 15.06.08 10:15 
Hi,

Ich habe den Quelltext nochmal geändert jedoch ist das immer noch nicht das gewünschte Ergebnis.

ausblenden 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) > 0then
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



BeitragVerfasst: So 15.06.08 10:17 
Du brauchst nur ein if. Verwende dein erstes IF und ergänze es mit deinem zweiten IF.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
with Edit2 do
begin
  If (Text=''OR ((Text<>''AND ((pos(',', Text) > 0OR (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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47



BeitragVerfasst: 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



BeitragVerfasst: So 15.06.08 10:34 
Bitte sehr. Viel Spaß beim Rechnen. :)
LastRide Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47



BeitragVerfasst: 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.

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: 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.
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.

Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.