Autor Beitrag
SteheAufDerLeitung
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 104



BeitragVerfasst: Di 21.08.07 10:49 
Servus!!

Hab nen String, der so ähnlich aussieht:

;;;4;;;3;;6;;;;;;;;;;;;;;1.0;1;1;0;0;1;;10;100.0;;;blubb;;;;;

Nun möchte ich hinter ein bestimmtes Semikolon einen Wert hinzufügen. Dies bis zu 17 Mal mit verschiedenen Werten. Beispiel:

Wert1='wert1' hinter KommaNr 10
wert2='wert2' hinter KommaNr 7
wert3='wert3' hinter KommaNr 5
...
.. damit es dann am Ende so aussieht:

;;;4;;wert3;3;wert2;6;;wert1;;;;;;;;;;;;1.0;1;1;0;0;1;;10;100.0;;;blubb;;;;;

hab so begonnen, um die Stelle im String zu finden, an die der jeweilige Wert geschrieben werden muss:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
      //fuer jeden einzelnen Wert
      for KommaCnt := 0 to KommaNr do begin
      StelleImString := PosEx(';',String,StelleImString+1);
      end;


Wie schreibe ich den Wert an nun an StelleImString??

Schöne Grüße und Dank

Sebastian
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 21.08.07 10:57 
Mit Insert kannst du an eine bestimmte Stelle eines Strings einen neuen einfügen. Dafür gibst du den einzufügenden String, die Stringvariable, in die der String eingefügt werden soll, und die Einfügeposition an.
Ach so: Mit Delete kannst du vorher den alten Wert löschen, wenn du das willst.

// EDIT:
Was mir noch auffällt: Du solltest für die Stringvariable nicht den Variablennamen String nehmen, da das ein reservierter Bezeichner von Delphi ist.
SteheAufDerLeitung Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 104



BeitragVerfasst: Di 21.08.07 11:04 
Das stimmt! Hab ich auch nicht - ist mir nur beim Beispiel-geben passiert ;-)

Wie wende ich die Funktion Insert aber an? Ich finde sie nur als Funktion für eine StringList..!?

Gruß
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 21.08.07 11:06 
Wie wärs wenn du einfach das hinschreibst, was ich geschrieben habe? :lol:
Ich hab die Parameter doch hingeschrieben:
user profile iconjaenicke hat folgendes geschrieben:
Dafür gibst du den einzufügenden String, die Stringvariable, in die der String eingefügt werden soll, und die Einfügeposition an.

// EDIT:
www.dsdt.info/referenz/kategorie/?id=193
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Di 21.08.07 11:11 
SteheAufDerLeitung Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 104



BeitragVerfasst: Di 21.08.07 11:12 
Aaah, ich dachte du hättest ein Komma zu viel geschrieben und redest von nur zwei Parametern! ;-)

Also so hier: Insert(NeuerString, AlterString, Position)!?

Mal schauen..
SteheAufDerLeitung Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 104



BeitragVerfasst: Di 21.08.07 11:19 
Also Insert(einzufuegenderString, BasisString, Position) funktioniert!! :-D Dankeschön!!