Text umwandeln - wie?

Hallöchen,

Teste das Ding mal...
Kannst dir ja meine Erläuterungen noch durchlesen ^^

MfG Turri
 

Anhänge

  • Unit1.zip
    3,4 KB · Aufrufe: 14
Hallo :)

Danke dafür, ich werde es gleich testen.

Aber was meinst du eigentlich damit:

"// denn die Leerzeichen zählen wir hier... nach oben..."

...............................................

Er ersetzt jetzt immer nur maximal 3 Wörter :/
Und wenn 2 vordefinierte Wörter, ohne Leerzeichen dazwischen, stehen, dann ersetzt es keins.
Wenn man nur ein Wort hinschreibt, dann ersetzt es dieses auch nicht. Es wird erst ersetzt, wenn vor dem Wort ein Leerzeichen gemacht wird.


Danke :):):)
 
Hallo,

// denn die Leerzeichen zählen wir hier... nach oben...
Ich zähle anhand der Leerzeichen im Text die vorkommenden Wörter.
Daher weiß ich wie oft ich durchlaufen muss damit wirklich jedes Wort ersetzt werden kann.

Eigentlich sollte es gehen, dass die Wörter ersetzt werden, auch wenn kein Leerzeichen da ist.

Was vermutlich nicht geht ist:
wenn du als Ersetzung in der Map: "Apfel = Birne" stehen hast geht folgendes nicht.

ApfelKirsch ... weil das Wort Apfel nicht alleine steht.

Ich schau mir das bei Gelegenheit nochmal an, bin aber gerade nicht an meinem Rechner ^^

MfG Turri

PS: vielleicht ist es bei deinem Ersetzen auch besser auf reguläre Ausdrücke zurückzugreifen, aber da kenne ich mich nicht so gut aus ;-)
 
Huhu,

ja ich merk schon, sind nochn paar Bugs drin.
Ganz korrekt funktioniert es noch nicht.
Aber du kannst ja auch mal schau ob du es hinbekommst ^^

Bei mir is gerade etwas zeitknappheit...

MfG Turri
 
Hallo,
hier ein Lösungsvorschlag . . .



void __fastcall TForm1::Button1Click(TObject *Sender) //Button wurde angeklickt
{
int pos;
AnsiString Input;

Input = Memo1->Text; // Text des Memo1-Feldes in ein AnsiString Objekt kopieren

do //ersetze Haus zu Maus
{
if(Input.Pos("Haus") > NULL)
{
pos = Input.Pos("Haus");
Input.Delete(pos,4);
Input.Insert("Maus",pos);
}
}
while(Input.Pos("Haus") > NULL);



// etc pp . . .




Memo2->Text = Input; // geänderten Text in Memo2
}
 
Hallo aton,

dein Lösungsvorschlag ist gut für die einfache Ersetzung. :)
Aber die Problemfälle mit dem Stern sind deswegen noch nicht gelöst.

Bei den Regeln:

Maus* -> Haus
*Maus* -> Mietze

Müsste folgendes passieren.
Maus -> Haus
Mausefalle -> Haus

eineMausefalle -> Mietze

Ich hoffe das Problem was noch vorhanden ist, wurde verstanden. :D

MfG Turri
 

Neue Beiträge

Zurück