Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: rar am 30.07.02 - 14:12:52

Titel: @ReplaceSubstring funktioniert nicht so richtig
Beitrag von: rar am 30.07.02 - 14:12:52
Hi Leute!
Ich möchte den String "xx\yy" in "xx\\yy" umwandeln. :P
Leider ist das mit den backslashs a bissl deppat.
Ich habe es mit
a := "xx\yy";
@Prompt([OK];"";@ReplaceSubstring(a;"\";"\\"))
@Prompt([OK];"";@ReplaceSubstring(a;"\\";"\\\\"))
@Prompt([OK];"";@ReplaceSubstring(a;@Char(92);@Char(92)+@Char(92)))

probiert.
Aber nix hat funktioniert.
Es wäre noch zu sagen, daß ich das Problem in Formelsprache lösen muß.

Hoffentlich kann mir einer von euch helfen...

lg
-dani
Titel: Re: @ReplaceSubstring funktioniert nicht so richti
Beitrag von: pipsxx am 30.07.02 - 15:00:47
huhu!

hab mal folgendes ausprobiert:

quelle := "xx\yy";
ziel := "xx"+ "\\"+"\\"+"yy";
@Replace(quelle ; quelle; ziel );

das funzt. nuetzt dir das was? ob das mit @ReplaceSubstring geht, hab ich allerdings nicht probiert :)
Titel: Re: @ReplaceSubstring funktioniert nicht so richti
Beitrag von: pipsxx am 30.07.02 - 15:05:08
das funzt auch ;)

quelle := "test xx\yy test";
ziel := "xx"+ "\\"+"\\"+"yy";
test := @ReplaceSubstring(quelle ; "xx\yy"; ziel );
@Prompt([OK]; ""; test);@All
Titel: Re: @ReplaceSubstring funktioniert nicht so richti
Beitrag von: rar am 30.07.02 - 15:50:16
Hi pipsxx!
Das geht leider nicht.
Für deine Lösung braucht man das Ziel.
xx\yy ist aus unserer names.nsf das Feld MailFile. Und ich tu mir recht schwer als Ziel das MailFile mit den beiden \s hard zu coden. :'(

-d
Titel: Re: @ReplaceSubstring funktioniert nicht so richti
Beitrag von: pipsxx am 30.07.02 - 16:02:50
aehm... ich muss sagen: ich blick grad net so recht, was du vorhast ???

was steht denn in dem feld? der ort der maildatei?
also quasi mail\xyz.nsf

willst du das umbenennen oder wie?

erklaer mal die umstaende. vielleicht kann dann auch noch wer anders helfen ;)
Titel: Re: @ReplaceSubstring funktioniert nicht so richti
Beitrag von: pipsxx am 30.07.02 - 16:28:15
was auch funktioniert:

quelle := "xx\\yy";
@Prompt([OK]; ""; quelle);
links := @Left(quelle; "\\");
@Prompt([OK]; ""; links);
rechts := @Right(quelle; "\\");
@Prompt([OK]; ""; rechts);
test := @ReplaceSubstring(quelle ; quelle; links+ "\\"+ "\\" +rechts );
@Prompt([OK]; ""; test);@All

dafuer brauchst du das ziel nicht. (denke ich)

ich nehme mal an, das liegt an dem ersten string. da du nur einen \ hast, laesst er den weg und macht xxyy draus. wo soll man da nochwas ersetzen.

nicht so einfach... :-/
Titel: Re: @ReplaceSubstring funktioniert nicht so richti
Beitrag von: rar am 30.07.02 - 16:41:28
O.K.
Wir haben so ein Programm, das den Palm mit Notes abgleicht. Dafür braucht das Programm den Pfad der Maildb.
Der Pfad heißt entweder
'mail\abteilung\name' oder
'mail\abteilung\name.nsf'
Das Programm bekommt aus dem Adressbuch den Pfad mit der Formel %MailFile%
und rauskommen soll, damit der Palm das abgleichen kann:mail\abteilung\name_ab.nsf

Im ersten Fall ist es einfach. Da schaut die Formel so aus:
%MailFile% + "_ab.nsf" (geht auch)

Wenn aber im MailFile '.nsf' hinten steht, muß ich das '.nsf' hinten wegschneiden und durch '_ab.nsf' ersetzen.
Das funktioniert eigentlich auch, aber aus irgendwelchen Gründen verschluckt das Programm dann die Backslashes im Mailfile. Es schaut dann so aus:
Formel:
@LeftBack("%MailFile%",4) + "_ab.nsf"
Ergebnis:
mailabteilungname_ab.nsf

Deswegen wollte ich \ durch \\ ersetzen, weils dann funktiert.
Aber das geht leider nicht

Ich hoffe, daß das jetzt nicht zu konfus ist.

lg
-d
Titel: Re: @ReplaceSubstring funktioniert nicht so richti
Beitrag von: pipsxx am 30.07.02 - 16:54:04
ja, das habe ich mir fast gedacht. dann liegt es also doch an diesem string.

weiss nicht, wie man das machen koennte. und ob man da ueberhaupt was machen kann.

denn wenn du den pfad so in nen string uebernimmst, also nur mit einem slash, sind die ja dann bereits verschwunden.

hui, schwere aufgabe  ::)
Titel: Re: @ReplaceSubstring funktioniert nicht so richti
Beitrag von: rar am 30.07.02 - 17:05:46
Du sagst es: 'hui, schwere Aufgabe ::)'

Und außerdem bist du soeben Senior Mitglied geworden. ;D
Gratuliere...
Titel: Re: @ReplaceSubstring funktioniert nicht so richti
Beitrag von: pipsxx am 30.07.02 - 20:41:39
hey, endlich senior!!  8)

mal ne ganz dumme frage:
eigentlich bezieht sich doch nix weiter auf die felder, in denen der pfad steht. dient doch nur zur doku, oder? korrigier mich bitte, wenn ich muell schreibe ;)

kann man den feldinhalt, also den pfad nicht per agent aendern lassen? so alla feld x aendern? und da aus dem einen \ zwei per @replace und co. machen? damit wuerde man zumindest mal an der wurzel anpacken, wenn auch sehr umstaendlich...

natuerlich nur, wenn das nicht weiter hinderlich ist. aber so, wie ich das aus meiner firma kenne, gibbet keine gestaltungsrechte im names.nsf. oder doch? ;)
Titel: Re: @ReplaceSubstring funktioniert nicht so richti
Beitrag von: rar am 31.07.02 - 09:08:23
Morgen!
Sowas ähnliches ist mir auch durch den Kopf gegangen. Da es ja geht wenn im Feld nur 'mail\Abteilung\name' steht, habe ich gestern abend noch ein Agent geschrieben, der überall das '.nsf' wegschneidet. Dann brauch ich den String nicht mehr angreifen.
Jetzt muß ich halt nur noch das Hammerprogramm, das die User anlegt und das '.nsf' ins MailFile schreibt, ändern und damit sollte sich die Sache haben.
Wir sind übrigens Entwickler auf der names.nsf.  ;D
Titel: Re: @ReplaceSubstring funktioniert nicht so richti
Beitrag von: pipsxx am 31.07.02 - 09:38:54
wie gemein!! ;)

aja. soll es also nur an dem ".nsf" gelegen haben? ich dachte, sobald du nen string mit nur einem \ in eine variable liest, um ihn weiter zu verarbeiten, geht der verloren.

aber wenn das so geht, ist doch super.

ist halt schoen, wenn man entwickler auf ner db ist, aus der man daten zieht. wuerde mir die arbeit manchmal um einiges erleichtern :)
Titel: Re: @ReplaceSubstring funktioniert nicht so richti
Beitrag von: rar am 31.07.02 - 10:16:27
Das Programm gibt mit '%MailFile%' den richtigen Inhalt zurück. Und wenn ich mit ' +"_ab.nsf" 'was anhänge passt das auch. Das Problem hatte ich nur wenn den string mit Formelsprache verändern mußte.
Aber das ist zum Glück jetzt Vergangenheit  ;D
*denschweißvonderstirnabwischend*