![]() |
Text an einer bestimmten stelle kopieren
Code:
Ich möchte nur das Wort Versuch aus dem Text haben, da es aber variable ist, dachte ich mir das mann es so machen könnte das er nur den Text zwischen | | rauskopieren könnte. Geht das so ohne weiteres?
ajfsp://file|Versuch|E6940DEB8DA42DBAF6A4E458A994B271|836987424/
Hilfe wäre super! The Re@l |
Re: Text an einer bestimmten stelle kopieren
Zitat:
Stichwörter Copy und Pos Schau mal in der OnlineHilfe. |
so richtig verstehen tu ich es ja nicht was da Steht. von daher lern ich erstmal wider aus dem Buch.
bis dann The Re@l |
Zitat:
z.B.: Pos ('ist','Dies ist ein Test') liefert 6 als ergebniss (ist beginnt an der sechsten stelle des Strings. In einem Fall müsstest Du nach dem ersten auftauchen von "|" suchen. Dann von dieser Position + 1 in eine Stringvariable kopieren. Damit hast Du einen String der mit dem Wort das duch haben möchtest beginnt. Jetzt suchst Du nach dem nächsten "|" und kopierst einfach vom anfang deines neuen Strings bis zu der gefundenen Position -1. |
Ganz einfach!
Über Pos oder Ansipos ermittelst du das ERSTE Vorkommen deines Trennzeichens. Anschließend löschst du alle Zeichen bis dahin aus dem String ( Delete() ). Nun suchst du wieder mittels Ansipos dein (jetzt ja das zweite) Trennzeichen und kopierst dann mit Copy alles bis zu dieser Stelle aus dem String. Dein Kopiertes ist jetzt das Wort Versuch. Gruß |
sorry wenn ich nerve :oops:
Code:
procedure TForm1.FormCreate(Sender: TObject);
var x, y: integer; m: array[1..3] of char; begin AjLink.PasteFromClipboard; m[1] := '|'; m[2] := '|'; m[3] := '|'; x := pos (m[1], ajlink.Text); y := pos (m[2], ajlink.Text); linkname.Text := copy (ajlink.Text, x +1, y ); end; das tut´s ein bisschen, aber nich richtig. Was is denn daran Falsch. |
Zitat:
Du rufst zweimal hintereinander Pos mit den gleichen Werten auf. Darum bekommen x und y auch zweimal die Gleiche Position zugewiesen. Pos liefert immer die erste gefundene Position der gesuchten Zeichenfolge. Auch wenn diese mehrmal in deinem String vorkommt !!! Hier mal etwas code.
Delphi-Quellcode:
[/b]
procedure TForm1.Button1Click(Sender: TObject);
var tmp_string : String; trenn_pos : Integer; trennzeichen : Char; begin tmp_string := ajlink.Text; // zur Manipulation arbeite ich nur mit tmp-variablen trennzeichen := '|'; // Dein Trennzeichen trenn_pos := pos (trennzeichen, tmp_string); // Position des ersten | Delete (tmp_string,1,trenn_pos); //alles vor dem ersten | löschen trenn_pos := pos (trennzeichen, tmp_string); // Position des nächsten | (da das erste gelöscht wurde, ist dies jetzt auch wieder das erste Delete (tmp_string,trenn_pos,Length(tmp_string)); // vom Trennzeichen (ink.) bis zum ende des Strings löschen linkname.Caption := tmp_string; end; |
Ich danke Dir :!:
Jetzt hats auch geklingelt. Aller anfang ist schwer :( . |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz