Domino 9 und frühere Versionen > ND9: Entwicklung

Teilstring auslesen bzw ausschneiden

<< < (3/4) > >>

markus76:
lieber Berhard, ich wollte dich weder kritisieren noch beleidigen. Ganz und gar nicht. Ich weiss auch, dass du dich sehr gut auskennst (sieht man wenn ich deine Posts lese). Ich bin hier recht neu und weiss dass ich die Fragen falsch formuliere das tut mir sehr leid. Ich bitte dich persönlich vielmals um Entschuldigung. Mein Problem ist: ich weiss was der Agent tun soll, er soll nachden er den Bigstring ausgelesen hat die Funktion aufrufen. Diese geht dann den String durch und sucht die erste Klammer <. Dann geht er weiter und sucht die Erste >. und dann soll er mir diesen Teilstring ausgeben (zB: msgBox). Diese Aufgabe ist mir leider noch viel zu hoch. Aber eine Lösung muss trotzdem her  :-[. Und da hier viele Fähige Leute sind die perfekt Lotuscriüt sprechen wende ich mich in der Hoffnung auf Hilfe an euch. Ich weiss das ich vielleicht blöde Frage stellen, aber ich will lernen und wenn eines Tages so eine Frage hier kommt werde ich dem auch helfen können so wie man mir helfen konnte  ;)
ich weiss nicht wievile Tastenschläge ich habe, aber es war mein Ernst was ich hier geschrieben habe.
Liebe Grüsse aus Bern
Markus

koehlerbv:
Hallo Markus und viele Grüsse nach Bern,

alles ist gut und wir machen hier schon noch weiter. Wir müssen vielleicht langsamer vorgehen (und trotzdem auch ansagen: Wenn das immer wieder im Nirwana endet, dann hat es eben doch keinen Sinn; manche können programmieren (sie haben "die Denke" dafür) und andere tolle Bilder malen oder singen (ich kann weder singen noch malen - mit "Singen" könnte man mich höchstens im Krieg als Massenvernichtungswaffe einsetzen).

Eine Aufgabe:
Suche mit Instr das erste Vorkommen von "<" und lass Dir das ausgeben. suche das erste ">" und lass Dir das auch ausgeben. Jetzt hast Du zwei Positions für Anfang und Ende Deines gesuchten Teilstrings. Statt der Ausgabebox kannst Du Dir ja nun auch diese Werte in Variablen übernehmen:

Ein Beispielcode, den Du unbedingt Zeile für Zeile nachvollziehen und i nder DesignerHelp nachvollziehen solltest (für mich ist das jetzt Deine Nagelprobe!):


--- Code: --- Dim strGiven As String
Dim intFirstDelimiterStart As Integer
Dim intFirstDelimiterEnd As Integer
Dim strPlaceHolder As String

strGiven = "Das ist <mein> Texttext"
intFirstDelimiterStart  = Instr (strGiven, "<")
intFirstDelimiterEnd = Instr (strGiven, ">")

Messagebox Cstr (intFirstDelimiterStart) & Chr$ (10) & Cstr (intFirstDelimiterEnd),, strGiven

strPlaceHolder = Mid$ (strGiven, intFirstDelimiterStart + 1, intFirstDelimiterEnd - intFirstDelimiterStart - 1)

Messagebox strPlaceHolder
--- Ende Code ---

Beschreibe, was hier warum passiert. Dann kannst Du auch verstehen, was da im erstenSchritt abgeht (in Deinem Lernprozess). Und beachte bitte ungedingt: Das ist der ANFANG. Das hilft Dir nicht bei
"<Salutation> <FirstName> <"LastName>, wir übersenden Ihnen hiermit wie angefordert unseren Geschäftbericht für das Quartal <LastYby4>/<Year>"

Aber das ist schon mal ein Anfang, den Du erst begreifen musst. Wenn *das" sicher klappt, können wir uns an dne nächsten Schritt wagen. Sowie einer von uns dafür Zeit hat, aber das dürfte klar sein.

Bernhard

markus76:
Vielen Dank Berhard Also was ich sehe:
        Dim strGiven As String
   Dim intFirstDelimiterStart As Integer
   Dim intFirstDelimiterEnd As Integer
   Dim strPlaceHolder As String
Variablen deklarieren als String (Zeichen kette) oder als (Integer)Zahlwert Ganze Zahlen

        strGiven = "Das ist <mein> Texttext"    'strGiven Variable den wert zuweisen
   intFirstDelimiterStart  = Instr (strGiven, "<") ' in String die Position des Zeichens suchen
   intFirstDelimiterEnd = Instr (strGiven, ">")   ' in String die Position des Zeichens suchen

Messagebox Cstr (intFirstDelimiterStart) & Chr$ (10) & Cstr (intFirstDelimiterEnd),, strGiven
Position des Zeichens  intFirstDelimiterStart  (int) als String ausgeben
   & Chr$ (10) & Dieser Chr$ kenne ich nicht ist das ein Leerzeichen?
Position des Zeichens  intFirstDelimiterEnd  (int) als String ausgeben

   strPlaceHolder = Mid$ (strGiven, intFirstDelimiterStart + 1, intFirstDelimiterEnd - intFirstDelimiterStart - 1)
Diesen Befehl Mid$ kenne ich noch nicht.   
   Messagebox strPlaceHolder
MessageBox mit dem wert der Variable strPlaceHolder

koehlerbv:

--- Zitat von: markus76 am 04.12.14 - 22:50:15 ---Vielen Dank Berhard Also was ich sehe:
        Dim strGiven As String
   Dim intFirstDelimiterStart As Integer
   Dim intFirstDelimiterEnd As Integer
   Dim strPlaceHolder As String
Variablen deklarieren als String (Zeichen kette) oder als (Integer)Zahlwert Ganze Zahlen

        strGiven = "Das ist <mein> Texttext"    'strGiven Variable den wert zuweisen
   intFirstDelimiterStart  = Instr (strGiven, "<") ' in String die Position des Zeichens suchen
   intFirstDelimiterEnd = Instr (strGiven, ">")   ' in String die Position des Zeichens suchen

Messagebox Cstr (intFirstDelimiterStart) & Chr$ (10) & Cstr (intFirstDelimiterEnd),, strGiven
Position des Zeichens  intFirstDelimiterStart  (int) als String ausgeben
   & Chr$ (10) & Dieser Chr$ kenne ich nicht ist das ein Leerzeichen?   Falsches Herangehen - nachlesen! Das ist ein normaler ASCII-Coe. Es hilft notfalls ja auch Ausprobieren ;-) Es bewirkt eine Zeilenschaltung.
Position des Zeichens  intFirstDelimiterEnd  (int) als String ausgeben

   strPlaceHolder = Mid$ (strGiven, intFirstDelimiterStart + 1, intFirstDelimiterEnd - intFirstDelimiterStart - 1)
Diesen Befehl Mid$ kenne ich noch nicht.   In der DesignerHelp nachlesen! Und ausprobieren!
   Messagebox strPlaceHolder
MessageBox mit dem wert der Variable strPlaceHolder

--- Ende Zitat ---

Gestatte mir bitte noch eine Frage (und bitte missverstehe diese nicht): Deutsch ist nicht Deine Muttersprache, oder? Wo kommst Du her? Ich möchte das nur einordnen und darauf entsprechend eingehen  (und wiederkehrende Schreibfehler nicht missverstehen). Ich pflege und lebe hier ein sehr internationales Heim. Traditionell wird insbesondere der Heiligabend hier wieder der Tag des babylonischen Sprachgewirrs: Mein Sohn telefoniert mit der Freundin und ihren Eltern in Litauen - und dem Vater seiner Exfreundin in der Slowakei (englisch - litauisch  -slowakisch), der Ich mit Freunden in UK (darunter ein Pakistaner, Urdu kann ich aber gar nicht) und mit Freunden aus der Ukraine und Russland und Abchasien und vor allem Dänemark (Russisch und Dänisch funktioniert soweit,dass ich nicht verhungern würde), meine Tochter auch mit einer Freundin aus UK, meine Lieblingsfrau nach Tschechien und Frankreich (okay, ich auch ;-)

Fazit: Die erste Aufgabe ist schon mal von Dir ausreichend erfüllt.
Nun Deine weiteren Fragen, und morgen stehen der Ich und andere wieder für Deine Fragen (arbeite daran!) bereit. Inmeinem Fall aber frühestens nach Feierabend und vielleicht am Wochenende - abhängig auch von Deinen Resultaten.

Bernhard

Bernhard

markus76:
Guten Morgen. also das Chr$(10) ist ein Zeilenumbruch. und die Mid$ Funktion liest den Wert zwischen dem Start- und Enzeichen aus. So weit sieht das ja schon super aus  ;). Jetz muss ich noch den loop machen damit er mir alle Teile in den Spitzigen Klammern ausliest. Zu deiner Frage, ja Deutsch ist irgendwie meine Muttersprache aber mein Dialekt hat zum Teil starke grammatische Abweichungen zum richtigen Deutsch.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln