Übersetzung
Von:Thomas Geissler softart@t-online.de
An:Bernhard Sander dfpug@individsoft.de :gelesen
erstellt am:24.10.2019 18:13:00 - #24014 in section Antworten     Antworten mit Zitat
Wenn man es 100% richtig machen wollte, kommt man da nicht drumherum.

Gruß
Thomas

Von:Thomas Geissler softart@t-online.de
An:Bernhard Sander dfpug@individsoft.de :gelesen
erstellt am:24.10.2019 18:04:10 - #24013 in section Antworten     Antworten mit Zitat
Stimmt, noch besser. Ich hatte vergessen, das es ein UPDATE SQL und kein einfaches REPLACE ist.


 

Hallo,

Oder man macht die Ausschlüsse über SQL-WHERE:

UPDATE armit
SET text = strtran(strtran(text, ....))
WHERE text NOT LIKE "%SPRE%"

Gruß
Bernhard Sander






Von:Bernhard Sander dfpug@individsoft.de
An:Thomas Geissler softart@t-online.de :gelesen
erstellt am:24.10.2019 12:20:06 - #24012 in section Antworten     Antworten mit Zitat

 

So sollte es gehen:

update text set text = IIF(AT("SPRE",Text)=0,STRTRAN(STRTRAN( Text,"troncato","get:",-1,-1,1),"parti","get:",-1,-1,1),Text)

Gruß
Thomas


 

hier ein ganz einfaches Beispiel
die Datensätze:

Bazzini (LOM) (Lovere (Bergamo)). (IT) partito: al 1º di rosso; al 2º partito, di nero e di porpora col capo di porpora all'aquila d'oro coronata dello stesso (citato in SPRE – Vol. I pag. 536) (IT) rosso pieno - partito di nero e di viola - aquila coronata di oro su viola in capo (citato in LEOM)

Bazzini (LOM) (Lovere (Bergamo)). (IT) Partito di rosso e ripartito di nero e di oro - aquila di nero su oro in capo (citato in LEOM)

gesucht:
("partito" OR "Partito") and NOT "SPRE"









Ich merke schon wieder an

Strtran kann so ohne weiteres keine Wortgrenzen berücksichtigen.
Daher wird im 2. Beispiel mit StrTran(text, "partito", "get.",-1,-1,1) nicht nur das einzelne Wort "Partito" ersetzt sondern auch "ripartito" in "riget." umgewandelt.
Sowas müsste man wohl ausprogrammieren.
Oder wie kriegt man RegEx in Foxpro hin?
Ah, so: http://fox.wikis.com/wc.dll?Wiki~RegExp

Gruß
Bernhard Sander


Von:Bernhard Sander dfpug@individsoft.de
An:Thomas Geissler softart@t-online.de :gelesen
erstellt am:24.10.2019 12:04:02 - #24011 in section Antworten     Antworten mit Zitat
Hallo,


 

So sollte es gehen:

update text set text = IIF(AT("SPRE",Text)=0,STRTRAN(STRTRAN( Text,"troncato","get:",-1,-1,1),"parti","get:",-1,-1,1),Text)





Oder man macht die Ausschlüsse über SQL-WHERE:

UPDATE armit
SET text = strtran(strtran(text, ....))
WHERE text NOT LIKE "%SPRE%"

Gruß
Bernhard Sander

Von:Bernhard Sander dfpug@individsoft.de
An:Thomas Geissler softart@t-online.de :gelesen
erstellt am:24.10.2019 11:56:14 - #24010 in section Antworten     Antworten mit Zitat
Hallo Thomas, hallo Franz-Dietrich,


 

In meinem Beispiel muss das auszuschließende in der AT()-Funktion auch in Großbuchstaben vorhanden sein. Kleingeschrieben oder gemischte Schreibweise würde so nicht gehen. Hier müsstest Du noch mit UPPER() oder LOWER() ergänzen.




Wenn man statt AT() ATC() benutzt wird Groß/Kleinschreibung ignoriert.

Gruß
Bernhard Sander

Von:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de
An:Thomas Geissler softart@t-online.de :gelesen
erstellt am:23.10.2019 23:03:43 - #24008 in section Antworten     Antworten mit Zitat
Vielen Dank für den Hinweis, in meinem Beispiel ist es aber eindeutig.

Von:Thomas Geissler softart@t-online.de
An:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de :gelesen
erstellt am:23.10.2019 14:52:47 - #24008 in section Antworten     Antworten mit Zitat
In meinem Beispiel muss das auszuschließende in der AT()-Funktion auch in Großbuchstaben vorhanden sein. Kleingeschrieben oder gemischte Schreibweise würde so nicht gehen. Hier müsstest Du noch mit UPPER() oder LOWER() ergänzen.

Gruß
Thomas

Von:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de
An:Thomas Geissler softart@t-online.de :gelesen
erstellt am:23.10.2019 14:33:32 - #24006 in section Antworten     Antworten mit Zitat
wunderbar, vielen Dank
****************
hoffentlich komme ich, wenn ich diesen Algorythmus fürderhin benutze nicht gemäß EUVAS für 10 Jahre in die Sibirei !

Von:Thomas Geissler softart@t-online.de
An:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de :gelesen
erstellt am:23.10.2019 10:56:48 - #24004 in section Antworten     Antworten mit Zitat
So sollte es gehen:

update text set text = IIF(AT("SPRE",Text)=0,STRTRAN(STRTRAN( Text,"troncato","get:",-1,-1,1),"parti","get:",-1,-1,1),Text)

Gruß
Thomas


 

hier ein ganz einfaches Beispiel
die Datensätze:

Bazzini (LOM) (Lovere (Bergamo)). (IT) partito: al 1º di rosso; al 2º partito, di nero e di porpora col capo di porpora all'aquila d'oro coronata dello stesso (citato in SPRE – Vol. I pag. 536) (IT) rosso pieno - partito di nero e di viola - aquila coronata di oro su viola in capo (citato in LEOM)

Bazzini (LOM) (Lovere (Bergamo)). (IT) Partito di rosso e ripartito di nero e di oro - aquila di nero su oro in capo (citato in LEOM)

gesucht:
("partito" OR "Partito") and NOT "SPRE"






Von:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de
An:Thomas Geissler softart@t-online.de :gelesen
erstellt am:22.10.2019 15:50:01 - #24003 in section Antworten     Antworten mit Zitat
hier ein ganz einfaches Beispiel
die Datensätze:

Bazzini (LOM) (Lovere (Bergamo)). (IT) partito: al 1º di rosso; al 2º partito, di nero e di porpora col capo di porpora all'aquila d'oro coronata dello stesso (citato in SPRE – Vol. I pag. 536) (IT) rosso pieno - partito di nero e di viola - aquila coronata di oro su viola in capo (citato in LEOM)

Bazzini (LOM) (Lovere (Bergamo)). (IT) Partito di rosso e ripartito di nero e di oro - aquila di nero su oro in capo (citato in LEOM)

gesucht:
("partito" OR "Partito") and NOT "SPRE"

Von:Thomas Geissler softart@t-online.de
An:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de :gelesen
erstellt am:22.10.2019 12:30:07 - #24002 in section Antworten     Antworten mit Zitat
Mit den STRTRAN() wird nur das ersetzt was gewünscht ist. Ein NOT macht da erst mal nicht viel Sinn. Aber mach doch mal ein Beispiel...


 

bestens
und wenn man dann noch ein NOT hat - geht das auch noch ?






Von:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de
An:Thomas Geissler softart@t-online.de :gelesen
erstellt am:22.10.2019 10:52:59 - #24001 in section Antworten     Antworten mit Zitat
bestens
und wenn man dann noch ein NOT hat - geht das auch noch ?

Von:Thomas Geissler softart@t-online.de
An:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de :gelesen
erstellt am:22.10.2019 09:26:07 - #23999 in section Antworten     Antworten mit Zitat
Hallo Franz-Dietrich,

wie Bernhard schon angemkert hat, solltest Du nicht LOWER() sondern die Variante mit den zus. Parametern verwenden da mit LOWER() der gesamt zu ersetzende Text kleingeschrieben gespeichert wird.

Und das OR würde so nicht gehen, da der Rückgabewert von STRTRAN() nicht logisch ist. Aber Du kannst das STRTRAN() verschachteln

update armit set text = STRTRAN(STRTRAN(text,"troncato","get:",-1,-1,1),"parti","get:",-1,-1,1)

Gruß
Thomas


 

Vielen Dank,
kann man auch ein OR darin unterbringen :
update armit set text = STRTRAN(LOWER(text),"troncato", "get:")

OR

update armit set text = STRTRAN(LOWER(text),"parti", "get:")

Gruß






Von:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de
An:Thomas Geissler softart@t-online.de :gelesen
erstellt am:21.10.2019 21:28:32 - #23998 in section Antworten     Antworten mit Zitat
Vielen Dank,
kann man auch ein OR darin unterbringen :
update armit set text = STRTRAN(LOWER(text),"troncato", "get:")

OR

update armit set text = STRTRAN(LOWER(text),"parti", "get:")

Gruß

Von:Thomas Geissler softart@t-online.de
An:Bernhard Sander dfpug@individsoft.de :gelesen
erstellt am:21.10.2019 11:29:01 - #23994 in section Antworten     Antworten mit Zitat
Hallo Bernhard,

da hast Du natürlich recht und in diesem Fall evt. nicht gewünscht. Dann doch Variante 2.

Gruß
Thomas

Von:Bernhard Sander dfpug@individsoft.de
An:Thomas Geissler softart@t-online.de :gelesen
erstellt am:21.10.2019 11:01:08 - #23993 in section Antworten     Antworten mit Zitat
Hallo Thomas,


 

update armit set text = STRTRAN(LOWER(text),"troncato", "get:")

oder

update armit set text = STRTRAN(text,"troncato", "get:", -1, -1, 1 )





Der erste Vorschlag hat als gemeine Nebenwirkung, dass auch nicht-betroffene Textteile knallhart in Kleinbuchstaben umgewandelt werden.

Gruß
Bernhard Sander

Von:Thomas Geissler softart@t-online.de
An:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de :gelesen
erstellt am:21.10.2019 09:00:50 - #23992 in section Antworten     Antworten mit Zitat
update armit set text = STRTRAN(LOWER(text),"troncato", "get:")

oder

update armit set text = STRTRAN(text,"troncato", "get:", -1, -1, 1 )

Gruß
Thomas



 

Guten Tag,
zur Übersetzung verwende ich im Moment
update armit set text = STRTRAN(text,"Troncato", "get:")
update armit set text = STRTRAN(text,"troncato", "get:")
weil die Quelle mal groß mal klein schreibt.
Gibt es da eine Möglichkei das in einer Zeile zusammenzufassen ?







Von:Franz-Dietrich Frhr.v.Recum fdvrecum@gmx.de
An:All :gelesen
erstellt am:20.10.2019 10:24:13 - #23996 in section Antworten     Antworten mit Zitat
Guten Tag,
zur Übersetzung verwende ich im Moment
update armit set text = STRTRAN(text,"Troncato", "get:")
update armit set text = STRTRAN(text,"troncato", "get:")
weil die Quelle mal groß mal klein schreibt.
Gibt es da eine Möglichkei das in einer Zeile zusammenzufassen ?