Autor Beitrag
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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)
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 03.02.09 15:32 
Vielleicht hilft das ja auch:
ausblenden 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



BeitragVerfasst: Di 03.02.09 15:50 
Sollte das nicht mit StringReplace einfacher gehen?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 03.02.09 16:11 
Einfacher ja, aber es ist vermutlich langsamer.
playsta Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: 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



BeitragVerfasst: Di 03.02.09 16:18 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Einfacher ja, aber es ist vermutlich langsamer.

Ja und? Das soll vermutlich ja nicht 50 mal pro Sekunde gemacht werden :mrgreen:
playsta Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: 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



BeitragVerfasst: Di 03.02.09 17:12 
Delphi 7-Hilfe hat folgendes geschrieben:
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: 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 :D
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: 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



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 03.02.09 18:05 
user profile iconplaysta hat folgendes geschrieben Zum zitierten Posting springen:
Also der String wäre bei mir dann die txt-datei oder vertuh ich mich da jetzt komplett ?
Das ist schon richtig, FileContents.Text ist das.

user profile iconplaysta hat folgendes geschrieben Zum zitierten Posting springen:
Und der Substring dann einfach das Wort was als Platzhalter dient oder??
Ja, genau.
playsta Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: 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



BeitragVerfasst: Mi 04.02.09 10:33 
Du machst einen Fehler in Zeile 23 :mrgreen: Im Ernst: was soll man ohne Code dazu sagen?
playsta Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: 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



BeitragVerfasst: Mi 04.02.09 10:46 
TextPos und TextLength stimmen aber? Lass Dir das doch einmal ausgeben.
ausblenden Delphi-Quelltext
1:
ShowMessage(Copy(FileContents.Text, TextPos, TextLength));					
playsta Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: 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



BeitragVerfasst: Mi 04.02.09 11:08 
Dann wird der Denkfehler schon früher gemacht.