Softseek in Arrays?

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
Roland
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 29
Registriert: So, 05. Nov 2006 0:39
Wohnort: Witten

Softseek in Arrays?

Beitrag von Roland »

Hallo zusammen,

ich bin immer wieder begeistert von diesem Forum und habe hier auch schon sehr viel gelernt. Auch gefällt mir das Niveau beim Umgang miteinander sehr. Also ganz herzlichen Dank dafür an alle engagierten Mitstreiter!

Jetzt habe ich mal ein kleines Problem, für das ich eine Lösung suche:

Wenn ich in einer DBF-Datei über einen Index suche, kann ich per 'set softseek on' festlegen, dass die Suche beim nächstgrösseren Element endet falls das eigentliche Element nicht gefunden wird. Klassisches Beipiel: Die Suche nach einem bestimmten Nachnamen. Sehr praktisch das...

Jetzt meine Frage: Gibt es bei der Durchsuchung von Arrays auch eine möglichst elegante Lösung wie dieses Softseek? Und falls ja, wie müsste das aussehen?

Allen eine schöne Woche!

Roland
Die Wege der Bytes sind unerforschlich!
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Softseek in Arrays?

Beitrag von AUGE_OHR »

hi,
Roland hat geschrieben: So, 18. Nov 2018 20:04 ... kann ich per 'set softseek on' festlegen, dass die Suche beim nächstgrösseren Element endet falls das eigentliche Element nicht gefunden wird.

Jetzt meine Frage: Gibt es bei der Durchsuchung von Arrays auch eine möglichst elegante Lösung wie dieses Softseek?
wenn du beim suchen den ganzen Begriff angibst wird er nur was finden wenn "alle Buchstaben" passen.

die Lösung wäre also ein Inkrementelles suchen wo man den Begriff "auf Tastendruck" zusammenstellt.
damit findet man in DBF und Array das was man sucht und braucht kein "SOFTSEEK"
gruss by OHR
Jimmy
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Softseek in Arrays?

Beitrag von Tom »

Standardmäßig gibt es das nicht (Ascan hat m.E. keinen passenden Parameter), aber das ist schnell selbstgebaut. AEval ist Dein Freund. Code, wenn nötig, morgen.
Herzlich,
Tom
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Softseek in Arrays?

Beitrag von brandelh »

Hi,

was mach softseek ???

es sucht ob es den gleichen Begriff gibt, wenn nicht steht es auf dem Folgesatz, dieser ist größer als der Suchbegriff !

Du musst also nur im codeblock angeben, dass der Suchbegriff <= dem ArrayFeldInhalt ist !

aDaten := { "AAA","BBB", "CCC", "DDD" }

x := AScan( aArray, {|aD| "B" <= aD ) // => "B" ist größer als "AAA", aber kleiner als "BBB" somit müsste 2 als Antwort genau richtig stehen. Bei gleich wird es auf dem gleichen Satz stehen, oder übersehe ich was ?
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Softseek in Arrays?

Beitrag von Tom »

Stimmt, Hubert. =D>
Herzlich,
Tom
Roland
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 29
Registriert: So, 05. Nov 2006 0:39
Wohnort: Witten

Re: Softseek in Arrays?

Beitrag von Roland »

Hallo zurück!

Manchmal sieht man halt den Wald vor lauter Bäumen nicht...

Jetzt klappt es!

Vielen Dank und beste Grüsse

Roland
Die Wege der Bytes sind unerforschlich!
Antworten