Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 249546 (10982)

| Suchen
| Zurück zur Übersicht

Autor | Thema: Index, Index, Index
Gerd Telzerow
| Datum:25.07.01 22:32 (GTelzerow@T-Online.de) |
Hallo Profaner, ich habe immer noch ein Problem mit dem Index. Profan 7.0e, Win 2000 IfNot@Equ$(@FindFirst$("TESTXXL.DBF"),"TestXXL.dbf") Assign #2,"TestXXL.str" Rewrite #2 Print #2,"NAME;C;10;0" Print #2,"VORNAME;C;10;0" Print #2,"TEST;C;58;0" Close #2 dbCreate "TestXXL.str" > "TestXXL.dbf" Endif Declare DBZeile%,SText1$,SText2$ @DBOpen(#1,"TestXXL.dbf") @dbUse(#1) @dbAppendBlank() @dbPut("NAME","Schulz") @dbPut("VORNAME","Werner") @dbPutRec(0) dbCreateIndex "NAME+VORNAME" > "SUCHE" @DBIndex("SUCHE") Let SText1$="Schulz" Let SText2$="Werner" Let DBZeile%=@dbFind(SText1$,SText2$,1) Print DBZeile% @dbClose(#1) Waitinput Im Interpreter wir der Datensatz gefunden, aber in der *.exe Datei nicht. Wo ist der Fehler zu suchen? G. Telzerow
Roland G. Hülsmann
| Datum:26.07.01 01:08 (rgh-soft@t-online.de) |
Hallo, dein Programm enthält zwei kleine Fehler. wenn man die beseitigt funktioniert es in Interpreter und als EXE gleichermaßen! 1. Name und Vorname sind je 10 Zeichen lang. Der zusammengesetzte Schlüssel besteht aus Name und Vorname. Damit die Suche funktioniert, müssen beide auch 10 Zeichen lang sein: Let SText1$="Schulz " Let SText2$="Werner " 2. @dbFind erwartet nur EINEN Stringparameter. Da hier ein zusammengesetzter Schlüssel verwandt wird, müssen die beiden teile als EIN String übergeben werden. Das erreichen wir mit dem "+": Let DBZeile%=@dbFind(SText1$+SText2$,1) Hinweis: Um sich die Sache mit den Leerzeichen zu vereinfachen, kann man sich auch eine RPad-Funktion definieren, die einen String auf eine definierte Länge rechts mit Leerzeichen erweitert: DEF @RPad$(2) @Left$(@$(1)+@Space$(@%(2)),@%(2)) Dann würde weiter unten stehen: Let SText1$=@RPad$("Schulz",10) Let SText2$=@RPad$("Werner",10)
Gerd Telzerow
| Datum: 27.07.01 05:09 (GTelzerow@T-Online.de) |
Hallo Roland, danke für diese Tips, manchmal sieht man den Wald vor Bäumen nicht. THX Gerd Telzerow

| Zurück zur Übersicht