IF-Anweisung && mit Query->Last
-
Da mekert er 2x
[C++ Fehler] Unit6.cpp(35): E2468 Ein Wert vom Typ void ist nicht zulässig.
[C++ Fehler] Unit6.cpp(36): E2468 Ein Wert vom Typ void ist nicht zulässig.
-
Liegt aber wohl eher daran, dass ->Last() keinen Rückgabewert hat...
Vesuch es mal mit ->FindLast()
-
Ist logisch, da TDataSet::Last vom Typ void ist, schau mal in der Hilfe bei last und bei eof.
-
Endlich war ich mal schneller.

@azad187: Schau Dir dringend mal dieses Tutorial an: http://www.junix.ch/bcb/help/hilfe.html
-
FindLast() ist glaube nicht so was ich brauche, denn er soll ja nicht den Cursors auf den letzten Datensatz setzen und das vergleichen == true;
sodern abwarten bis er beim lezten ist

-
und Eof geht auch nicht weil er sonst auch auf Query->Next reagieren würde ect.
-
Tja, dann schau Dir mal in Ruhe die Eigenschaften, Ereignisse und Methoden von TQuery an.
Wenn Du das bereits vorher getan hättest, würdest Du wissen, das Last() eine Datenmenge auf den letzten Datensatz positioniert und nicht überprüft, ob es der letzte Datensatz ist.
-
Dann hast du eindeutig die falsche Memberfunktion rausgesucht - schau mal in der Hilfe von Borland nach, wie man die aktuelle Position im Dataset ermitteln kann.
-
Ja da hast du recht, dachte Sinngemäß er würde prüfen ob es der letzte ist..
Naja wie gesagt ich suche ein Befehl der prüft ob es der letzte Datensatz ist oder nicht.
-
Die Antwort wurde bereits gegeben...
-
Locate und Lookup habe ich gefunden, hilft mir aber nix trotzdem danke
-
Eof
BCB-Hilfe schrieb:
Die Eigenschaft Eof gibt an, ob der letzte Datensatz der Datenmenge aktiv ist.
Beschreibung
Mit Eof können Sie feststellen, ob der letzte Datensatz einer Datenmenge aktiv ist, also eindeutig die letzte Zeile in der Datenmenge darstellt. Ist dies der Fall, hat die Eigenschaft den Wert true. Eof wird in einer Anwendung in folgenden Situationen auf true gesetzt:
...
P.S. Außerdem würde eine genaue Problembeschreibung schon mal sehr viel weiter helfen, als deine vagen Andeutungen wie du etwas haben willst!
-
Eof geht nicht da es auch reagiert wenn ein Next gemacht wird... !!!!
Bevor man rummeckert, sollte man selbst erstmal lesen.Mit Eof können Sie feststellen, ob sich der Datensatzzeiger auf dem letzten Datensatz einer Datenmenge befindet. Ist dies der Fall, hat die Eigenschaft den Wert true. Eof wird in einer Anwendung in den folgenden Situationen auf true gesetzt:
Eine leere Datenmenge wird geöffnet.
Die Methode Last einer Datenmenge wird aufgerufen.
Die Methode Next einer Datenmenge schlägt fehl, weil sich der Cursor bereits auf dem letzten Datensatz befindet.
Die Methode SetRange wird für einen leeren Bereich bzw. eine leere Datenmenge aufgerufen.In allen anderen Fällen hat Eof den Wert false.
@Sunday... was gibts da nicht zu verstehen ?
Wenn Query3 beim letzten Datensatz ist und Query4 dann soll er button anzeigen feddich
-
Azad187 schrieb:
Eof geht nicht da es auch reagiert wenn ein Next gemacht wird... !!!!
Die Methode Next einer Datenmenge schlägt fehl, weil sich der Cursor bereits auf dem letzten Datensatz befindet.
Azad187 schrieb:
Wenn Query3 beim letzten Datensatz ist und Query4 dann soll er button anzeigen feddich
Wer findet die Zusammenhänge zuerst?

-
Nachdem ich schon die früheren Threats von Azad gelesen habe, hab ich mich wirklich gefragt, ob ich überhaupt antworten soll. Irgendwie bin ich doch zu nett.
Azad, entweder du hast dein Problem nicht richtig beschrieben, oder du verstehst überhaupt nichts von dem was man dir sagt.
-
Azad187 schrieb:
@Sunday... was gibts da nicht zu verstehen ?
Dein ganzer erster Post (siehe unten) ist einfach nur für'n Ar...! Woher soll man da wissen, was du willst?
Azad187 schrieb:
Hallo,
wie kann ich das verwirklichen, das es klapptif ((Form1->Query3->Last()==true) && (Form1->Query4->Last()==true)) { Button2->Visible=true; }
-
Wie Sunday schon schrieb. Wer lesen kann ist klar im Vorteil, wobei das Verb Lesen das Verb Verstehen impliziert.
Was ist so schwer?
1. EOF ist eine Eigenschaft (auch Property genannt).
2. EOF ist bool (true/false,wahr/falsch, 0/1)
3. Wenn EOF wahr ist, dann ist Next nicht möglich! Warum wohl? Next existiert dann nicht.Warum kannst Du mit EOF nicht abfragen, ob Du beim letzen Datensatz bist?
Alternativ biete ich Dir noch folgendes an:
bool myEOF=false; if (Query->RecNo==Query->RecordCount) myEOF=true;
-
weil es schon 1000x gesagt wurde was ich will...und jeder schreibt hier irgendein müll der nicht passt....
Ich will jetzt keinen post mehr sehnen der nix 100%iges zum Thema bringt. Jeder Post von mir erhält 50 Antworten wovon nur 2 gebrauchbar sind.
Wenn man es nicht 100% weiß oder nichts sagen will lässt man es !!!Und das ich in der Hilfe gucken soll, braucht man mir auch nicht 1000x zu sagen dann sagt man lieber gar nix !
-
caspar_louis schrieb:
Alternativ biete ich Dir noch folgendes an:
bool myEOF=false; if (Query->RecNo==Query->RecordCount) myEOF=true;
hast gerade meinen morgen gerettet.. so schön gelacht habe ich heute noch nicht
-
Azad187 schrieb:
weil es schon 1000x gesagt wurde was ich will...und jeder schreibt hier irgendein müll der nicht passt....
Tja, es ist schwer, zu einer 'Müllfrage' eine passende Antwort zu geben.
Azad187 schrieb:
Ich will jetzt keinen post mehr sehnen der nix 100%iges zum Thema bringt. Jeder Post von mir erhält 50 Antworten wovon nur 2 gebrauchbar sind.
Nochmal: Schlechte Fragem -> Schlechte Antworten.
Azad187 schrieb:
Wenn man es nicht 100% weiß oder nichts sagen will lässt man es !!!
Und das ich in der Hilfe gucken soll, braucht man mir auch nicht 1000x zu sagen dann sagt man lieber gar nix !
Bei Anfägern wird hier primär 'Hilfe zur Selbsthilfe' gegeben. Wenn Dir das nicht paßt, such Dir ein anderes Forum.
Solange Deine Fragen auf diesem Niveau bleiben, werden die Antworten weiterhin nur aus Hinweisen auf die BCB-Hilfe bestehen. In diesem Forum geht es nicht darum, Anfängern das Programmieren beizibringen, dafür gibt es tonnenweisen Tutorials, sondern um bei spezifischen Problemen zu helfen.
Du hast keine spezifischen Probleme, Du bist nur zu faul, Dich in die Theamatik einzuarbeiten.