derSkavampir Geschrieben 1. Februar 2006 Teilen Geschrieben 1. Februar 2006 Hallo, Ich habe ein DBGrid das ich mit einem Query verbunden habe, wenn ich nun das Query ausführe und danch mit Locate einen entsprchenden Datensatz auswählen möchte, gibt mir der Borland 5 Compiler einen Fehler aus: "[C++ Fehler] formular2.cpp(1017): E2188 Ausdruckssyntax" Locate benutze ich Volgendermaßen: fm_bestell->qu_kostenstelle->Locate("Kostenstelle","9010",[loPartialKey]); Der Eintrag "9010" sollte Variant sein da ich damit ncoh nie gearbeitet habe weiss ich nun nciht ob der Fehler vieleicht daran liegen könnte. mfg derSkavampir Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 1. Februar 2006 Teilen Geschrieben 1. Februar 2006 Das Problem dürfte sein, dass links neben einer öffnenden eckigen Klammer immer ein Bezeichner stehen muss. Für sich allein genommen, ist [loPartialKey] ein Syntaxfehler. Welchen Typ braucht Locate denn als dritten Parameter? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
derSkavampir Geschrieben 2. Februar 2006 Autor Teilen Geschrieben 2. Februar 2006 Der dritte Parameter braucht den Typ TLocateOptions. Inzwischen habe ich einfahc mal versucht anstatt die Options direkt zu übergeben Sie ma vorher in eine Variable mit demselbigen Typen zu schreiben, und es hat geklappt. Locate benutze ich nun auf folgende weise: TLocateOptions Opts; Opts.Clear(); Opts<<loPartialKey; fm_bestell->qu_kostenstelle->Locate("Kostenstelle",dbed_kostenstelle->Text,Opts); Was ich nicht so ganz verstehe warum er die Optionen nciht anerkennt wenn ich diese in eine Eckigen Klammer direkt übergebe ?!? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 2. Februar 2006 Teilen Geschrieben 2. Februar 2006 Was ich nicht so ganz verstehe warum er die Optionen nciht anerkennt wenn ich diese in eine Eckigen Klammer direkt übergebe ?!?Weil es kein gültiges C++ mehr ist, wenn du einfach eckige Klammern um einen Bezeichner machst. In Delphi mag das funktionieren oder sogar notwendig sein, aber in C++ ist das ein Syntaxfehler. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
derSkavampir Geschrieben 2. Februar 2006 Autor Teilen Geschrieben 2. Februar 2006 Interessanter Vorgang, denn die Optionen habe ich mir in der Borland hilfe herausgesucht und so übernommen wie sie dort standen, bzw. mir die herausgesucht die ich brauchte. Komisch, dass in der Borland hilfe Quelltexte drinne stehen die nur für Delphi gültig sind. Ich danke dir für deine Hilfe wenn du mich nicht nach dem Typen gefrag hättest wäre ich gar nciht auf die Idee gekommen das mal anders auszuprobieren. mfg derSkavampir Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
derSkavampir Geschrieben 6. Februar 2006 Autor Teilen Geschrieben 6. Februar 2006 Inzwischen bekomme ich das mit der Lacate schon ziemlich gut hin und habe diese an mehreren Stellen in das Projekt mit eingebaut. Allerdings habe ich nun das nächste Problem. Die Option loPartialKey erlaubt es einem einen Teilstring in der Datenmenge zu suchen. Allerdings wird dieser Teilstring nur am ANFANG der Dtenmenge gesucht, Bsp.: Suchstring: "hallo" gefundenes Element: "Hallo Welt" Wenn ich nun allerdings "Welt" als Suchstring eingebe findet Locate nicht das Element "Hallo Welt". Stoße ich an dieser Stelle schon an die grenzen von Loacat oder gibt es außer loPartialKey und loCaseInsensitive noch mehr Optionen die allerdings nciht in der Borland Hilfe (5.0) beschrieben sind ?!? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 6. Februar 2006 Teilen Geschrieben 6. Februar 2006 Versuchs bitte mal mit "*Welt". Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
derSkavampir Geschrieben 6. Februar 2006 Autor Teilen Geschrieben 6. Februar 2006 Nein das Funktioniert leider nciht, davon habe ich schon an verschiedenen Stellen gelesen dass ich damit nicht weiterkomme. Ich weiss nun nicht ob ich lieber statt Locate FindKey benutze oder ob ich dort wieder auf das selbe Problem stoße ?!? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
derSkavampir Geschrieben 6. Februar 2006 Autor Teilen Geschrieben 6. Februar 2006 Dankle für deine Bemühungen, allerdings habe ich durch Wälzen der Borland hilfe dieses Problem inzwischen alleine gelöst. Ich habe die Funktion LocateEx gefunden in der ich mit lxPartialCompare den Datensatz mit dem String Komplett durchsuche und nicht nur von der ersten Stelle an. mfg derSkavampir Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.