Autor Thema: Textfeldinhalt mit Formelsprache bearbeiten  (Gelesen 1401 mal)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Textfeldinhalt mit Formelsprache bearbeiten
« am: 13.09.03 - 17:47:43 »
Hi,

ich habe Historienfelder die sich fortschreiben. Typ: Text.
Z.B. wenn Dok sich ändert dann erfolgt folgendes:
@SetField ("Modifier"; Modifier + @NewLine + @Name([CN]; @UserName))

Jetzt steht im Feld "Modifier" z.B. folgendes:
Reiner Unsinn
Hans Dampf
Harald Schmidt


Jetzt will ich per Button eine Box öffnen, in die man einen Namen eintragen kann (z.B. Bill Gates).
Es soll nun Harald Schmidt rausgeworfen werden und stattdessen Bill Gates rein.

Dazu soll eine Formel das Feld "Modifier" bearbeiten.
 - nimm den Inhalt des Feld Modifier
 - gehe vom Ende aus zum letzten @Newline
 - lösche den Text von der aktuell befindlichen Stelle bis zum Ende
 - Füge dem Feld den Namen "Bill Gates" hinzu

Ich hab schon mit @Right & co. experimentiert, aber irgendwie komm ich nicht drauf.

Zeilenumbruch (@Newline) wäre doch @Char(13), oder?

Bitte um Hilfe.

Danke
TMC
« Letzte Änderung: 13.09.03 - 17:52:03 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline JoJo

  • Senior Mitglied
  • ****
  • Beiträge: 486
  • Geschlecht: Männlich
  • Gibt es Leben ausserhalb des PCs?
Re:Textfeldinhalt mit Formelsprache bearbeiten
« Antwort #1 am: 13.09.03 - 18:15:54 »
Wenn du eine Aktions-Schaltfläche mit

FIELD Modifier:= @Prompt([OkCancelEdit];"Neuer Name";"Den gewünschten Namen bitte eingeben";"");
@True

hinterlegst, sollte das funktionieren. Der alte Wert wird dann überschrieben.
« Letzte Änderung: 13.09.03 - 18:16:44 von JoJo »
lg, JoJo

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Textfeldinhalt mit Formelsprache bearbeiten
« Antwort #2 am: 13.09.03 - 18:22:08 »
Hi Jojo,

danke, aber ich will ja nicht den alten Wert komplett überschreiben.

Vielmehr soll nur die letzte Zeile ersetzt werden.....

Gruss,
TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Textfeldinhalt mit Formelsprache bearbeiten
« Antwort #3 am: 13.09.03 - 18:28:40 »
... einfacher wäre es mit einem Mehrfachwerte-Feld zu arbeiten. Dann kannst du mit @Word, @Subset , @IsMember , @Member usw. arbeiten....

... in deinem Fall würde ich den String in eine Liste konvertieren.

vListe := @Implode( String , @Char(13) )

... dann stehen dir wieder alle nützlichen @Commands zur Verfügung, die ich oben bereits erwähnte...

... mit @ReplaceSubstring gibt es auch noch Möglichkeiten - mehr dazu findest du in der Notes-Hilfe...

ata
« Letzte Änderung: 13.09.03 - 18:28:59 von ata »
Grüßle Toni :)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Textfeldinhalt mit Formelsprache bearbeiten
« Antwort #4 am: 13.09.03 - 18:55:19 »
Hi ata,

OK, angenommen ich habe meine Modifier-Liste mit @Implode bearbeitet.

Wie bekomme ich nun den "Harald Schmid" raus?

Denn daran scheitere ich noch.....

"Suche" nach "Harald Schmid" bringt nichts, da der Wert variabel ist. Es könnte dort auch "Albert Einstein" stehen.... Eben der letzte Eintrag soll raus und mit einem angegebenem ersetzt werden.

TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Glombi

  • Gast
Re:Textfeldinhalt mit Formelsprache bearbeiten
« Antwort #5 am: 13.09.03 - 19:06:27 »
Hi,
auswechseln des letzten Wertes geht so:
_ModifierListe := @Explode(Modifier;@Newline);
_ModifierOhneLetztenEintrag :=
@If(
 @Elements(_ModifierListe) < 2;
    "";
 @Subset(_ModifierListe;@Elements(_ModifierListe) - 1)
);

REM "Neuen Wert dranhängen";
FIELD Modifier :=
 @If(
    _ModifierOhneLetztenEintrag = "";
         "Bill Gates";
    @Implode(_ModifierOhneLetztenEintrag : "Bill Gates;@Newline)
 );
@True

Andreas

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Textfeldinhalt mit Formelsprache bearbeiten
« Antwort #6 am: 14.09.03 - 11:06:40 »
... ich habe da einen grvierenden Fehler drin - mit @Implode erstelle ich aus einer Liste einen String - es muß natürlich @Explode heißen...

... mit

@Subset( vListe ; @Elements( vListe ) - 1 )

... erhälst du alle Mitglieder, ausser dem letzten, den neuen hängst du noch an

@Subset( vListe ; @Elements( vListe ) - 1 ) : "der neue Name"

.. das müsste es sein...

ata


Grüßle Toni :)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Textfeldinhalt mit Formelsprache bearbeiten
« Antwort #7 am: 14.09.03 - 18:20:03 »
Hi,

ich danke Euch   :)

Ich hab jetzt eine Kombination aus ata's und Glombi's Hilfe genommen.
Klappt wunderbar.

cu,
TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz