Autor Beitrag
Roy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 184

Windows7 Ultimate
Delphi 2007, NET, Embarcadero
BeitragVerfasst: Mo 18.01.16 16:21 
Hallo Freunde,
mal wieder eine Frage von mir:

Ich arbeite in meinem Tool mit Access und somit auch DBEdit Komponenten. Ich möchte nun wenn DBEdit1= Edit ist ein Panel anzeigen lassen

Zbs. Hallo Freunde,
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Button1Click(Sender: TObject);
begin
    if Edit1.text = DBEdit1.Text then
  Panel1.Visible:= true;
end;


Funktioniert aber nicht
Kann mir jemand helfen?

Moderiert von user profile iconMartok: Delphi-Tags hinzugefügt
baumina
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 305
Erhaltene Danke: 61

Win 7
Delphi 10.2 Tokyo Enterprise
BeitragVerfasst: Mo 18.01.16 16:39 
Greife nicht auf die DBEdit zu, sondern auf die Daten der Tabelle.

ausblenden Delphi-Quelltext
1:
if DBTable.FieldByName('EinFeld').AsString = Edit1.Text					
tomte
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19
Erhaltene Danke: 5

Win 7, Win 8.1, Win 10, Win Server 2012

BeitragVerfasst: Mo 18.01.16 16:51 
Versuch es mal mit:

if (CompareStr((Edit1.text), (DBEdit1.Text)) < 0) then
Panel1.Visible:= true;
Roy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 184

Windows7 Ultimate
Delphi 2007, NET, Embarcadero
BeitragVerfasst: Mo 18.01.16 18:33 
user profile icontomte hat folgendes geschrieben Zum zitierten Posting springen:
Versuch es mal mit:

if (CompareStr((Edit1.text), (DBEdit1.Text)) < 0) then
Panel1.Visible:= true;


Hier gibt er mir auch ohne das die Inhalte Übereinstimmen das Panel1.visible:= true aus
Er soll die beiden Felder vergleichen, und wenn der Inhalt Übereinstimmt soll Panel1 visible
Wofür soll das <0 stehen
tomte
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19
Erhaltene Danke: 5

Win 7, Win 8.1, Win 10, Win Server 2012

BeitragVerfasst: Di 19.01.16 09:25 
user profile iconRoy hat folgendes geschrieben Zum zitierten Posting springen:
user profile icontomte hat folgendes geschrieben Zum zitierten Posting springen:
Versuch es mal mit:

if (CompareStr((Edit1.text), (DBEdit1.Text)) < 0) then
Panel1.Visible:= true;


Hier gibt er mir auch ohne das die Inhalte Übereinstimmen das Panel1.visible:= true aus
Er soll die beiden Felder vergleichen, und wenn der Inhalt Übereinstimmt soll Panel1 visible
Wofür soll das <0 stehen


Oh, da hat sich ein Fehler eingeschlichen, statt < 0 muss es = 0 heissen.
CompareStr liefert bei Gleichheit zweier Strings 0 zurück.

Ausserdem habe ich festgestellt, dass diese Funktion mittlerweile veraltet ist und man lieber ansicomparestr verwenden sollte.

Also :
if (ansicomparestr((Edit1.text), (DBEdit1.Text)) = 0) then
Panel1.Visible:= true;

oder etwas kürzer:
Panel1.Visible := ansicomparestr(Edit1.text, DBEdit1.Text) = 0;
Roy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 184

Windows7 Ultimate
Delphi 2007, NET, Embarcadero
BeitragVerfasst: Di 19.01.16 11:47 
Muss Eigentlich ein Fremder PC Access installiert haben um mit der Datenbank zu arbeiten?
doublecross
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 149
Erhaltene Danke: 27

Windows 7
C#; Visual Studio 2015
BeitragVerfasst: Mi 20.01.16 10:33 
Hi,

user profile iconRoy hat folgendes geschrieben Zum zitierten Posting springen:
Muss Eigentlich ein Fremder PC Access installiert haben um mit der Datenbank zu arbeiten?


höchstwahrscheinlich nicht ;).

Die Frage ist natürlich immer, wie du auf die Datenbank zugreifst. Ich nehme an, dass du er über die JET-Engine per ADO machst. Dafür wird lediglich MDAC benötigt. Welches nur bei ganz alten Windows Versionen nicht Bestandteil des Systems sind.
Roy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 184

Windows7 Ultimate
Delphi 2007, NET, Embarcadero
BeitragVerfasst: Mi 20.01.16 11:15 
Hallo Ihr lieben kleinen Helfer,
kann man auch noch eine oder Funktion himzufügen?
Roy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 184

Windows7 Ultimate
Delphi 2007, NET, Embarcadero
BeitragVerfasst: Mi 20.01.16 11:16 
user profile icondoublecross hat folgendes geschrieben Zum zitierten Posting springen:
Hi,

user profile iconRoy hat folgendes geschrieben Zum zitierten Posting springen:
Muss Eigentlich ein Fremder PC Access installiert haben um mit der Datenbank zu arbeiten?


höchstwahrscheinlich nicht ;).

Die Frage ist natürlich immer, wie du auf die Datenbank zugreifst. Ich nehme an, dass du er über die JET-Engine per ADO machst. Dafür wird lediglich MDAC benötigt. Welches nur bei ganz alten Windows Versionen nicht Bestandteil des Systems sind.


Vielen Dank
Roy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 184

Windows7 Ultimate
Delphi 2007, NET, Embarcadero
BeitragVerfasst: Di 09.02.16 21:29 
Mir ist jetzt die Sache gelungen habe aber dazu noch eine Frage.
Wie kann ich noch eine Fehlermeldung rausgeben wenn rot markiertes nicht erfüllt ist?

procedure TForm1.Button1Enter(Sender: TObject);
begin
Panel1.Visible := ansicomparestr(Zertifizierungnummer.text, DBEdit2.Text) = 0;
Panel3.Visible:= false;
end
tomte
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19
Erhaltene Danke: 5

Win 7, Win 8.1, Win 10, Win Server 2012

BeitragVerfasst: Mi 10.02.16 11:18 
user profile iconRoy hat folgendes geschrieben Zum zitierten Posting springen:

Wie kann ich noch eine Fehlermeldung rausgeben wenn rot markiertes nicht erfüllt ist?

Panel1.Visible := ansicomparestr(Zertifizierungnummer.text, DBEdit2.Text) = 0;


In dem die Fehlermeldung ausgibst, wenn der Vergleich einen Wert ungleich 0 ergibt. Dazu kannst du z.B. ein Panel mit einer Fehlermeldung einblenden.

ausblenden Delphi-Quelltext
1:
PanelFEHLERMELDUNG.Visible := ansicomparestr(Zertifizierungnummer.text, DBEdit2.Text) <> 0;					
Roy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 184

Windows7 Ultimate
Delphi 2007, NET, Embarcadero
BeitragVerfasst: Mi 10.02.16 16:33 
Funktioniert wunderbar.
Vielen Dank