Autor |
Beitrag |
jaenicke
      
Beiträge: 19314
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 03.02.09 14:55
Hast du denn verstanden was Pos und Copy machen? Wenn ja, dann sollte dir das reichen: (wenn nicht, dann probier das erstmal einzeln aus) Delphi-Quelltext 1: 2: 3:
| TextPos := Pos(... FileContents.Text := Copy(FileContents.Text, 1, TextPos - 1) + MemoText + Copy(FileContents.Text, TextPos + TextLength, Length(FileContents.Text) - ...); | Viel fehlt ja nicht mehr, aber ich denke einmal du siehst wie mein letzter Post gemeint war. 
|
|
playsta 
      
Beiträge: 24
|
Verfasst: Di 03.02.09 15:28
Ja also ich denke shcon das ich verstanden habe was pos und copy machen..auf jeden fall so ziemlich  naja trotzdem habe ich noch probleme mit deinem quelltext .
Es ist so ich habe vorher mit Delphi noch nie in diese 'Programmiergebieten' gearbeitet muss das jetzt 'quasi notgedrunegen' machen und bin deswegen völlig neue in diesen bereichen von delphi
|
|
jaenicke
      
Beiträge: 19314
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 03.02.09 15:32
Vielleicht hilft das ja auch: Quelltext 1: 2: 3: 4: 5: 6: 7:
| x ist dein ursprünglicher Text, AAA der zu ersetzende Teil.
xxxxxxxxxxxxxxxxxxxAAAxxxxxxxxxxxx <- Copy1 -> <- Copy2 ->
Das Ergebnis soll dann sein: Copy1 + Memo1.Text + Copy2 | Das heißt mit den beiden Copy-Aufrufen kopierst du alles vor und nach dem zu ersetzenden Text, dazwischen setzt du noch den Inhalt des Memos.
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 03.02.09 15:50
Sollte das nicht mit StringReplace einfacher gehen?
|
|
jaenicke
      
Beiträge: 19314
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 03.02.09 16:11
Einfacher ja, aber es ist vermutlich langsamer.
|
|
playsta 
      
Beiträge: 24
|
Verfasst: Di 03.02.09 16:15
okdas mit copy und den ganzen sinn hab ich dann jetzt wenigstens schon mal verstanden jedoch setzt er bei meinem programm den text aus memo immer ganz an den anfang .. und nich da wo er hin soll auf'##content##'
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 03.02.09 16:18
|
|
playsta 
      
Beiträge: 24
|
Verfasst: Di 03.02.09 16:45
So ich denke mal das Programm würde soweit laufen wenn ich wüsste was ich bei pos angeben muss? mir ist zwar so eig klar was sie macht aber ich weiß nicht wie man das angibt?
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 03.02.09 17:12
Delphi 7-Hilfe hat folgendes geschrieben: | Delphi-Quelltext 1:
| function Pos(Substr: string; S: string): Integer; |
Beschreibung
In Delphi sucht Pos in dem String S nach dem Teil-String Substr. Die Parameter Substr und S sind String-Ausdrücke.
Wird der Teil-String gefunden, gibt Pos den Integer-Index des ersten Zeichens von Substr in S zurück. Die Groß/Kleinschreibung wird von Pos nicht berücksichtigt. Ist Substr nicht vorhanden, wird der Wert Null zurückgegeben.
Die Funktion PosEx entspricht Pos, hat aber eine umfangreichere Funktionalität und kann in C++ Code verwendet werden. |
|
|
playsta 
      
Beiträge: 24
|
Verfasst: Di 03.02.09 17:21
ja in der Hilfe nahcshclagen hatte ich auch hscon gemacht;)
Nur irgendwie is die Erklärung für mich nicht grade shclüssig 
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Di 03.02.09 17:37
Dann sag uns doch, was du daran nicht verstehst. Da steht doch, wie man die Funktion aufruft: Pos('ich', 'Wer bin ich?');
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 03.02.09 17:38
Deine Rechtschreibung ist für mich auch nicht schlüssig, da sind etliche Bachstuben dervreht. Und so schwer ist Pos ja nun nicht, Du suchst im String S nach der Zeichenfolge substr. Die Funktion gibt Dir die erste Fundstelle zurück. Ist substr nicht in S enthalten, gibt sie 0 zurück.
|
|
playsta 
      
Beiträge: 24
|
Verfasst: Di 03.02.09 17:59
Die Frage ist hier , was ist was?
Also der String wäre bei mir dann die txt-datei oder vertuh ich mich da jetzt komplett ?
Und der Substring dann einfach das Wort was als Platzhalter dient oder??
|
|
jaenicke
      
Beiträge: 19314
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 03.02.09 18:05
|
|
playsta 
      
Beiträge: 24
|
Verfasst: Mi 04.02.09 10:28
Ja ok dann kann das Problem daran nicht liegen .
Jedoch macht das Programm immer noch nicht das was ich will.
Die Zeile die die ersetzt werden soll bleibt bis auf den ersten buchstaben und die erste zeile wird ersetzt.
Weiß jemand warum das so sein könnte?
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 04.02.09 10:33
Du machst einen Fehler in Zeile 23  Im Ernst: was soll man ohne Code dazu sagen?
|
|
playsta 
      
Beiträge: 24
|
Verfasst: Mi 04.02.09 10:36
FileContents.Text := Copy(FileContents.Text, 1, TextPos - 1) + Memo1.Text
+ Copy(FileContents.Text, TextPos + TextLength, Length(FileContents.Text));
Hier fehlt noch was denk ich mal .
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 04.02.09 10:46
TextPos und TextLength stimmen aber? Lass Dir das doch einmal ausgeben.
Delphi-Quelltext 1:
| ShowMessage(Copy(FileContents.Text, TextPos, TextLength)); |
|
|
playsta 
      
Beiträge: 24
|
Verfasst: Mi 04.02.09 10:51
Oh das kann schon mal nicht alles stimmen.
Er gibt mir aus: Memo1
ntent##
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 04.02.09 11:08
Dann wird der Denkfehler schon früher gemacht.
|
|