Autor Beitrag
Klaus22
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Sa 31.01.04 17:53 
hai zusammen,

ich habe mal wieder ein problem: ich habe in meinem programm einen button, welcher jeweils bei click einen datensatz in meinem dbgrid weiterspringt. ist der letzte erreicht möchte ich diesen deaktivieren. das funktioniert auch, aber erst wenn ich beim letzten markierten noch einmal auf den button klicke. da ist der letzte satz im dbgrid aber schon markiert. folgenden code habe ich verwendet.
ausblenden Delphi-Quelltext
1:
2:
3:
table1.next;
if table1.eof = true then
btnNext.enabled := false;

weiß jemand wie das zu realisieren ist ?

kann man die standardfarbe blau, bei markierten datensätzen auch ändern ?

gruß + danke

Moderiert von user profile iconKlabautermann: Topic Verschoben. Code durch Delphi-Tags ersetzt.


Zuletzt bearbeitet von Klaus22 am Di 03.02.04 12:43, insgesamt 1-mal bearbeitet
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 31.01.04 19:03 
Du hast 100 DS. Nun, woher soll die DB wissen, dass nach dem DS 100 keiner mehr kommt? Das kann sie erst feststellen, wenn sie versucht den 101'sten anzuspringen. ;)
fränk0815
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 22

Windows XP Prof. SP2
Delphi 2006 Prof. (Win32)
BeitragVerfasst: Sa 31.01.04 19:22 
Eventuell könnte das so klappen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Table1AfterScroll(DataSet: TDataSet);
begin
button1.enabled := not DataSet.Eof;
end;


Moderiert von user profile iconKlabautermann: Code durch Delphi-Tags ersetzt.
jjturbo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 516

Win2000 prof., WinXP prof.
D4 Stand., D5 Prof, D7 Prof, D2007 Prof.
BeitragVerfasst: Di 03.02.04 11:39 
Bei Paradox gehts so:

Button1.Enabled:=Table1.RecNo < Table1.RecordCount;

Bei DBase darfst Du die Datensatznummern so nicht verwenden. Da würrde ich es so lösen:

Table1.Next;//Das wäre der gewünschte Datensatz...

//Jetzt noch prüfen, ob das der letzte Datensatz ist
Table1.Next;
if Table1.Eof
then Button1.Enabled:=false
else Table1.Prior;


Gruß, jjturbo

_________________
Windows XP: Für die einen nur ein Betriebssystem - für die anderen der längste Virus der Welt...
Klaus22 Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Di 03.02.04 12:42 
:P Danke für die vielen Tipps. Folgender Code und es funzt.

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Button9Click(Sender: TObject);
begin
 if Table1.RecNo = Table1.RecordCount-1 then
   begin
     table1.Next;
     Button9.Enabled := false
   end
 else
  begin
   table1.Next;
  end;
 end;


Vielen Dank nochmal für Eure Tipps !

mfg Klaus :D
jjturbo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 516

Win2000 prof., WinXP prof.
D4 Stand., D5 Prof, D7 Prof, D2007 Prof.
BeitragVerfasst: Di 03.02.04 13:16 
Aber Achtung!!!
RecNo bei DBase-Tabellen funktioniert nicht! Wenn in einer leeren, neu erstellten DBase-Tabelle z.B. fünf Datensätze eingepflegt werden, so haben diese die Datensatznummern 1-5. Wird jetzt der Datensatz mit der Nummer 3 gelöscht und ein neuer Datensatz eingefügt, so haben die Datensätze jetzt die Nummern:1,2,4,5,6 !!!

Append und Insert bei einer DBase-Tabelle hängen immer Daten an die Tabelle an. Wirklich Daten einfügen geht hier nicht. Zumindest habe ich noch keine Möglichkeit dafür gefunden. Ein Grund mehr auf Paradox umzusteigen ;-)

Gruß, jjturbo

_________________
Windows XP: Für die einen nur ein Betriebssystem - für die anderen der längste Virus der Welt...