Bedingter Filter / 2 Dateien...?

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

Moderator: Moderatoren

Antworten
Benutzeravatar
mini990
1000 working lines a day
1000 working lines a day
Beiträge: 592
Registriert: Sa, 28. Jan 2006 9:44
Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
Danksagung erhalten: 1 Mal

Bedingter Filter / 2 Dateien...?

Beitrag von mini990 »

Hallo,
Ich habe folgendes Problem:
Wenn in Datei 1 eine Bedingung erfüllt wird ( z.B. Tag = sowieso )
so soll in Datei 2 ein Filter gesetzt werden auf die Kundennummern, die die Bedingung in Datei 1 erfüllen.
Früher ( zu Clipper Zeiten ) habe ich Subntx() benutzt.
Rasend schnell...
Gibt es unter XBase etwas vergleichbares?

Gruß Stefan
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: Bedingter Filter / 2 Dateien...?

Beitrag von Tom »

DbSetScope()?
Herzlich,
Tom
Benutzeravatar
mini990
1000 working lines a day
1000 working lines a day
Beiträge: 592
Registriert: Sa, 28. Jan 2006 9:44
Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
Danksagung erhalten: 1 Mal

Re: Bedingter Filter / 2 Dateien...?

Beitrag von mini990 »

Hab da jetzt einiges probiert.... Gibt's da irgendwo brauchbare Beispiele?
In der Hilfe hab ich nix gefunden...

Gruß Stefan
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Bedingter Filter / 2 Dateien...?

Beitrag von HaPe »

In _dcscope.prg ist ein Beispiel drin; ob das für dich brauchbar ist :?:
--
Hans-Peter
Benutzeravatar
mini990
1000 working lines a day
1000 working lines a day
Beiträge: 592
Registriert: Sa, 28. Jan 2006 9:44
Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
Danksagung erhalten: 1 Mal

Re: Bedingter Filter / 2 Dateien...?

Beitrag von mini990 »

wo finde ich dieses Beispiel?

Gruß Stefan
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Bedingter Filter / 2 Dateien...?

Beitrag von Jan »

Schematisch:

Code: Alles auswählen

meinedbf->(ordSetFocus("meinIndex"))
meinedbf->(DbSetScope(SCOPE_BOTH, cSuchwert))
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Bedingter Filter / 2 Dateien...?

Beitrag von georg »

oder unter SET SCOPE. Da ist zumindest in der Dokumentation zur 2.0 ein Beispiel drin.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Bedingter Filter / 2 Dateien...?

Beitrag von HaPe »

Hallo Stefan !
wo finde ich dieses Beispiel?
Entschuldige, das ist in einer eXpress-Version.
Hier der Quellcode-Auszug davon.

Code: Alles auswählen

IF !DC_ScopeExpress()
  IF nWhich == 0
    nWhich := SCOPE_TOP
  ELSEIF nWhich == 1
    nWhich := SCOPE_BOTTOM
  ENDIF
  xOldValue := dbScope(nWhich)
  IF PCount() >= 2
    IF xValue == NIL
      dbClearScope(nWhich)
    ELSE
      dbSetScope(nWhich,xValue)
    ENDIF
  ENDIF
  return xOldValue
ENDIF
--
Hans-Peter
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: Bedingter Filter / 2 Dateien...?

Beitrag von brandelh »

bei dbSetScope() - das sehr schnell arbeitet - muss man aufpassen, dass man die Suchbegriffe richtig übergibt UND die müssen im Index sauber zu finden sein !

SCOPE_TOP => nicht der größere Wert, sondern der am Anfang (wie bei DBF go top), also von "A" bis "Z" => "A"
SCOPE_BOTTOM => nicht der kleinere Wert, sondern der am Ende (wie bei DBF go bottom), also von "A" bis "Z" => "Z"

Da habe ich schon häufig die Start und Endwerte vertauscht und mich gewundert, warum gar nix kam.
Gruß
Hubert
Benutzeravatar
mini990
1000 working lines a day
1000 working lines a day
Beiträge: 592
Registriert: Sa, 28. Jan 2006 9:44
Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
Danksagung erhalten: 1 Mal

Re: Bedingter Filter / 2 Dateien...?

Beitrag von mini990 »

Habe es nun mit einem neuen Index uns DBSetScope() / DBSetrelation() gelöst.
Funktioniert und ist schnell, leider halt eine weitere Indexdatei.
Da sehnt man sich die aus Clipper-Zeiten bekannte SubNtx() zurück...

Danke

Gruß Stefan
Antworten