[gelöst] Syntax eines Ausdrucks bei FIND-Funktion

10. Februar 2009 12:38

Hallo Allerseits,

bin gerade über ein Konstrukt gestolpert, das ich nicht ganz verstehe. Kann mir jemand erklären, welch ein interessanter Ausdruck da in der FIND-Klammer steht?

Ich komme mit einem gefilterten Record in eine Funktion. Gefiltert ist die Funktion auf "Flagfeld = TRUE" und "No. = 'XYZ'".

In dieser Funktion passiert Folgendes:

Code:
If recMyRecord.AnderesFlag THEN BEGIN
  recMyRecord2.GET(recMyRecord."No.");
  recMyRecord2.Flagfeld := FALSE;
  recMyRecord2.MODIFY;

  IF recMyRecord.FIND('=><') THEN;
END;


Was bedeutet dieser Ausdruck '=><' ?

Viele Grüße,

SF
Zuletzt geändert von SafetyFirst am 10. Februar 2009 14:39, insgesamt 1-mal geändert.

Re: Syntax eines Ausdrucks bei FIND-Funktion

10. Februar 2009 13:17

Der C/SIDE Reference Guide sagt eigentlich alles:
C/SIDE Reference Guide hat geschrieben:This... Tells the system to search for...

'=' A record that equals the key values (default)
'>' A record that is larger than the key values
'<' A record that is less the key values
'+' The last record in the table ('+' can only be used alone)
'-' The first record in the table ('-' can only be used alone)

If SearchStr contains '=', '>' or '<', you must assign values to all fields of the current and primary keys before you call FIND.


Es werden also alle Zeilen von recMyRecord gefunden, die vor oder nach dem fraglichen Datensatz stehen, wie auch der fragliche Datensatz selbst. So kann man einen Filter auflösen und den Cursor auf dem betreffenden Datensatz stehenlassen.

Beste Grüße
Falk

Re: Syntax eines Ausdrucks bei FIND-Funktion

10. Februar 2009 14:39

Aha.

Gestolpert bin ich über zweierlei Dinge:

you must assign values to all fields of the current and primary keys before you call FIND

Auf die Angabe eines Wertes verzichtet man ja in dem besagten String geflissentlich; dafür aber setzt man gleich mehrere Operatoren.

Na, gut, man lernt nicht aus.

Wirklich interessant ist aber, daß man so den Filter löst, ohne den Cursor zu verschieben. Das ist des Pudels Kern, und so kannte ich es noch nicht.

Vielen Dank,

SF