Naja, ich finde seine Frage nicht so schwer zu verstehen.
Sie hat zwei
HTML-Dateien, die bis auf den angesprochenen String identisch sind.
Sie möchte diese Dateien über diese Strings auseinander halten können.
Im Grunde also alles was nach "id" steht dann als Meldung anzeigen (Ein Stringsplit mit Delimiter Leerzeichen und dann den Part [2] anzeigen lassen).
Nur als schnell dahin gezimmertes Beispiel (ohne die zwei scheinbar falschen Leerzeichen aus deinem Post im hinteren Teilstring!):
Delphi-Quellcode:
unit Unit1;
interface
uses
Winapi.Windows,
Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
Vcl.Graphics,
Vcl.Controls,
Vcl.Forms,
Vcl.Dialogs,
Vcl.StdCtrls, StrUtils;
type
TForm1 =
class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button1: TButton;
function Split(text:
string; delimiter: char; p: integer):
string;
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
//String Änderung (bei gleich bleibendem Anfang) ausgeben
procedure TForm1.Button1Click(Sender: TObject);
begin
Label3.caption := Split(Label2.Caption, '
', 3);
Label3.caption := LeftStr(Label3.caption, length(Label3.caption)-2);
end;
//String zerteilen
function TForm1.Split(text:
string; delimiter: char; p: integer):
string;
var
stl: TStrings;
begin
stl := TStringList.Create;
try
stl.delimiter := delimiter;
stl.DelimitedText := text;
finally
result := stl.Strings[p];
stl.free;
end;
end;
end.
Oder ohne Stringsplit, mit einer Schleife:
Delphi-Quellcode:
unit Unit1;
interface
uses
Winapi.Windows,
Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
Vcl.Graphics,
Vcl.Controls,
Vcl.Forms,
Vcl.Dialogs,
Vcl.StdCtrls;
type
TForm1 =
class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;
Long, Short :
string;
begin
Label3.Caption := '
';
if length(Label1.Caption) > (length(Label2.Caption))
then
begin
Long := Label1.Caption;
Short:= Label2.Caption;
end else
begin
Long := Label2.Caption;
Short:= Label1.Caption;
end;
for I := 1
to length(Long) - 2
do
begin
if Short[i] <> Long[i]
then
begin
Label3.Caption := Label3.Caption + Long[i];
end;
end;
end;
end.