Autor Beitrag
mexx
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1183



BeitragVerfasst: Di 10.07.07 13:26 
Ich hole mir aus einer Datenbank Integerwerte, die nur 1 oder 0 sein können. Diese Werte sollen als Angabe für ein Visible false oder true einer Elementes dienen. Hier der Code!

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
  with MainData do begin
   if AppDatabase.Connected = true then begin
    QuerySuchMaske.ParamByName('FORM_ID').AsInteger := AppForm.Tag;
    QuerySuchMaske.Open;
    for i:=1 to QuerySuchMaske.Fields.Count do begin
     SearchDataMenu.Items[i].Visible := QuerySuchMaske.Fields[1].AsBoolean; //<-- Marker
    end;
    QuerySuchMaske.Close;
    end;
  end;


An markierter Stelle erhalte ich die Meldung, dass der Intergerwert nicht als boolscher Wert interpetiert werden kann. Nun habe ich wage in Erinnerung, dass eine Funktion gab, die mir bei Eingabe eines Integerwertes wie 0 oder 1, false oder true ausliefert. Wie hieß diese Funktion?

Alternativ könnte ich den Interwert prüfen und darauf hin, true oder false setzen, aber so ist es schöner!

_________________
Das Unsympathische an den Computern ist, dass sie nur ja oder nein sagen können, aber nicht vielleicht.
Logikmensch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 390

Win XP
Delphi 2007 Prof., XE2, XE5
BeitragVerfasst: Di 10.07.07 13:35 
Hallo,

schreib doch einfach:

ausblenden Delphi-Quelltext
1:
SearchDataMenu.Items[i].Visible := QuerySuchMaske.Fields[1].AsInteger=1;					


Das sollte dann doch gehen, d.h. falls Fields[1] tatsächlich einen Integer enthält.

_________________
Es gibt keine Probleme - nur Lösungen!
Logikmensch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 390

Win XP
Delphi 2007 Prof., XE2, XE5
BeitragVerfasst: Di 10.07.07 13:37 
Besser ist vielleicht auch

ausblenden Delphi-Quelltext
1:
SearchDataMenu.Items[i].Visible := QuerySuchMaske.Fields[1].AsBoolean <> 0;					


Ist aber (fast) nur Kosmetik.

_________________
Es gibt keine Probleme - nur Lösungen!


Zuletzt bearbeitet von Logikmensch am Di 10.07.07 13:38, insgesamt 1-mal bearbeitet
mexx Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1183



BeitragVerfasst: Di 10.07.07 13:37 
Ach genau, das liefert ja auch true oder false. Thanks für den Gedächtnisschups!

_________________
Das Unsympathische an den Computern ist, dass sie nur ja oder nein sagen können, aber nicht vielleicht.