Autor Beitrag
Purzel90
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 27.02.08 21:45 
Hallo

Ich habe folgendes Problem:
Ich habe einen Button, der nur Anklickbar sein soll wenn eine Eingabe in einem edit-Feld besteht.

Danke im Vorraus!

--
Gruß Purzel90
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Mi 27.02.08 21:52 
Im Edit gibt ein Eregnis OnChange, das ausgelöst wird, wenn sich der Inhalt ändert.
Mit der Eigenschaft enabled vom Button kannst du einstellen, ob er aktiviert is.
Dann einfach den Inhalt des Edits mit nem Leerstring vergleichen und Enabled zuweisen.

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
Hidden
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2242
Erhaltene Danke: 55

Win10
VS Code, Delphi 2010 Prof.
BeitragVerfasst: Mi 27.02.08 21:56 
Hi und :welcome: im Delphi-Forum,

Die Eigenschaft, die du suchst ist Enabled:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.Edit1Change(Sender: TObject);
begin
  if Edit1.Text = '' then
    Button1.Enabled := false;
  else Button1.Enabled := true;
end;

Das ist es im groben.

Edit: Zu langsam...
mfG,

_________________
Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Mi 27.02.08 21:59 
Nein, bitte nicht so!
Du übergribst deiner if-Bedingung schon einen Boolean-Wert, wozu das if?
ausblenden Delphi-Quelltext
1:
Button1.Enabled:=not (Edit1.Text = '')					

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
Purzel90 Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 27.02.08 22:21 
Danke für die schnellen Antworten!

--
Gruß Purzel90
Hanni007
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Fr 04.02.11 19:37 
Hallo!
Irgendwie klappt das bei mir nicht. Ich verwende gerade Delphi6 aber habe auf dem andren PC noch Delphi7, an dem ich gerade leider nicht ran komme. Naja.

Mein Problem hier konkret ist, dass ich zwei Editfelder habe, die erst, wenn in denen eine Zahl steht, einen Button aktivieren sollen. Dazu habe ich hier diese eingabe versucht.

Button1.Enabled:=not (Edit1.Text = '')

Aber das klappt leider nicht. Könnt ihr mir da bitte weiterhelfen, indem ihr den Befehl exakt aufschreibt? Ich programmiere erst seit kurzem mit Delphi.

Danke! =)
Hanni007
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Fr 04.02.11 19:46 
ausblenden Delphi-Quelltext
1:
Button1.Enabled:=Length(TRIM( (Edit1.Text)) > 0;					


und schau Dir mal Actions an, die würden sich empfehlen.

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
Crombo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 54
Erhaltene Danke: 8

Windows 7, Windows Vista, Windows XP
Delphi XE Architect, Visual Studio 2010 Professional
BeitragVerfasst: Fr 04.02.11 19:55 
user profile iconbummi hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden Delphi-Quelltext
1:
Button1.Enabled:=Length(TRIM( (Edit1.Text)) > 0;					


und schau Dir mal Actions an, die würden sich empfehlen.


Hallo,

nach über 2 Jahren wird ihn das wohl in dem Projekt nicht mehr weiterbringen, aber guter Vorschlag für alle, die jetzt den Thread hier lesen.

Crombo

_________________
one day your life will flash before your eyes. make sure it's worth watching

Für diesen Beitrag haben gedankt: bummi
Hanni007
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Fr 04.02.11 20:02 
geht das jetzt nun oder nicht?

Trotzdem schonmal danke! =)
Crombo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 54
Erhaltene Danke: 8

Windows 7, Windows Vista, Windows XP
Delphi XE Architect, Visual Studio 2010 Professional
BeitragVerfasst: Fr 04.02.11 20:10 
Der Vorschlag von bummi:
ausblenden Delphi-Quelltext
1:
Button1.Enabled:=Length(TRIM( (Edit1.Text)) > 0;					


sollte funktioniert.

Crombo

_________________
one day your life will flash before your eyes. make sure it's worth watching
Hanni007
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Fr 04.02.11 20:13 
das geht leider nicht. da kommt ein error auf.

[Error] Unit1.pas(50): Incompatible types: 'String' and 'Integer'
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Fr 04.02.11 20:15 
user profile iconHanni007 hat folgendes geschrieben Zum zitierten Posting springen:
das geht leider nicht. da kommt ein error auf.

[Error] Unit1.pas(50): Incompatible types: 'String' and 'Integer'

Meine Glaskugel ist gerade etwas vernebelt. Zeigst Du ins bitte Deinen Code, denn der Code-Schnippsel sollte definitiv funktionieren.
Alternativ nocheinmal selbst drüber sinnieren. ;)


Zuletzt bearbeitet von Marc. am Fr 04.02.11 20:17, insgesamt 2-mal bearbeitet
Crombo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 54
Erhaltene Danke: 8

Windows 7, Windows Vista, Windows XP
Delphi XE Architect, Visual Studio 2010 Professional
BeitragVerfasst: Fr 04.02.11 20:15 
Nein der Codeschnipsel funktioniert so eben nicht, weil da ne schließende Klammer fehlt... ;)

Crombo

_________________
one day your life will flash before your eyes. make sure it's worth watching
Hanni007
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Fr 04.02.11 20:18 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
procedure TForm1.Button1Click(Sender: TObject);
var a,b : integer;
begin
a:=StrToInt(Edit1.Text);
b:=StrToInt(Edit2.Text);

Button1.Enabled:=Length(TRIM( (Edit1.Text)) > 0;

Begin
If a+b > 0
        Then Button1.Visible:=false
        Else Button1.Visible:=true;

End;
Randomize;
Label5.Caption:=IntToStr(Random((b)-a+1)+a);
Label6.Caption:=IntToStr(Random((b)-a+1)+a);
Label7.Caption:=IntToStr(Random((b)-a+1)+a);
Label8.Caption:=IntToStr(Random((b)-a+1)+a);
Label9.Caption:=IntToStr(Random((b)-a+1)+a);
end;



so siehts aus.
ein button soll erst sichtbar sein, wenn in beiden editfeldern etwas steht, um dann zufallszahlen auszugeben.

Moderiert von user profile iconMartok: Delphi-Tags gesetzt
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Fr 04.02.11 20:19 
user profile iconCrombo hat folgendes geschrieben Zum zitierten Posting springen:
Nein der Codeschnipsel funktioniert so eben nicht, weil da ne schließende Klammer fehlt... ;)

Indeed. Das habe ich beim zweiten Mal hingucken nun auch gesehen. Ich ging aber davon aus, dass man sowas schon beim Abschreiben merkt.
Hanni007
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Fr 04.02.11 20:19 
user profile iconCrombo hat folgendes geschrieben Zum zitierten Posting springen:
Nein der Codeschnipsel funktioniert so eben nicht, weil da ne schließende Klammer fehlt... ;)

Crombo


die klammer hab ich rein gemacht, das programm startet jetzt, aber hat keine auswirkungen.
Crombo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 54
Erhaltene Danke: 8

Windows 7, Windows Vista, Windows XP
Delphi XE Architect, Visual Studio 2010 Professional
BeitragVerfasst: Fr 04.02.11 20:19 
user profile iconHanni007 hat folgendes geschrieben Zum zitierten Posting springen:


Button1.Enabled:=Length(TRIM( (Edit1.Text))) > 0;


so siehts aus.
ein button soll erst sichtbar sein, wenn in beiden editfeldern etwas steht, um dann zufallszahlen auszugeben.


Habs rot markiert...

Crombo

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Edit1Change(Sender: TObject);
begin
  Button1.Enabled := Length(trim(Edit1.Text)) > 0;
end;


Das klappt bei mir wunderbar.

Crombo

_________________
one day your life will flash before your eyes. make sure it's worth watching
Hanni007
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Fr 04.02.11 20:28 
Sorry. Geht leider immernoch nicht. :( Tut mir jetzt schon leid, dass ich euch damit nerve.

Hier nochmal der neue Quelltext:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
procedure TForm1.Button1Click(Sender: TObject);
var a,b : integer;
begin
a:=StrToInt(Edit1.Text);
b:=StrToInt(Edit2.Text);

Begin
Button1.Enabled:=Length(TRIM((Edit1.Text))) > 0;
Button1.Enabled:=Length(TRIM((Edit2.Text))) > 0;
End;

Begin
If a+b > 0
        Then Button1.Visible:=false
        Else Button1.Visible:=true;

End;
Randomize;
Label5.Caption:=IntToStr(Random((b)-a+1)+a);
Label6.Caption:=IntToStr(Random((b)-a+1)+a);
Label7.Caption:=IntToStr(Random((b)-a+1)+a);
Label8.Caption:=IntToStr(Random((b)-a+1)+a);
Label9.Caption:=IntToStr(Random((b)-a+1)+a);
end;


Moderiert von user profile iconMartok: Delphi-Tags gesetzt
Crombo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 54
Erhaltene Danke: 8

Windows 7, Windows Vista, Windows XP
Delphi XE Architect, Visual Studio 2010 Professional
BeitragVerfasst: Fr 04.02.11 20:29 
Dein Problem ist, dass du es beim Klick auf deinen Button überprüfst, der aber gar nichts von dem Klick mitbekommt, weil er nicht Enabled ist.

Machs in die Edit1.OnChange wie ich, dann funktionierts.

Crombo

_________________
one day your life will flash before your eyes. make sure it's worth watching
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Fr 04.02.11 20:30 
wozu eigentlich diese wahllosen begins und ends im quelltext? machen das ganze nur unnötig länger und komplizierter.

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.