Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Bestimmten Teil aus dem Quelltext auslesen (https://www.delphipraxis.net/117542-bestimmten-teil-aus-dem-quelltext-auslesen.html)

SUIW 20. Jul 2008 12:22


Bestimmten Teil aus dem Quelltext auslesen
 
Sers,

wie kann ich denn einen bestimmten Teil aus einem Quelltext auslesen, der sich ab und an ändert?
Zum Beispiel eine Zeile wie folgende:

- Du hast bereits 12 Tassen zerstört -

Dieser Text soll als Label angezeigt, aber die Zahl steigt ja auch irgendwann, wie kann man so etwas realisieren?

mkinzler 20. Jul 2008 12:28

Re: Bestimmten Teil aus dem Quelltext auslesen
 
Meinst wirklich Quelltext?

hoika 20. Jul 2008 12:34

Re: Bestimmten Teil aus dem Quelltext auslesen
 
Hallo,

definiere eine
Formular-Variable oder in einer eigenen Klasse (?)

Delphi-Quellcode:
 iCups: Integer;

zur Anzeige

Delphi-Quellcode:
procedure TFormX.SetCupsLabel;
var
  sCups: String;
begin
  sCups:= Format('Du hast bereits %d Tassen zerstört', [iCups]);
  Label_Cups.Caption:= sCups;
end;
Heiko

Tommy1988 20. Jul 2008 12:40

Re: Bestimmten Teil aus dem Quelltext auslesen
 
Ich würde es per Pos und PosEx machen.

Wenn der Text "Du hast bereits X Tassen zerstört" zwischen
<div class="destroyed">Du hast bereits X Tassen zerstört</div>
ist sollte das kein Problem sein.

Z.B. so:

Delphi-Quellcode:
// NICHT getestet!
var
pPos1, pPos1Ex: Integer;
begin
pPos1 := Pos('<div class="destroyed">', DeinQuelltextString);
pPos1Ex := PosEx('</div>', DeinQuelltextString, pPos1+1);
// Jetzt ins Label:
LabelX.Caption := Copy(DeinQuelltextString pPos1+23,
(pPos1-pPos1Ex+23)*-1);
end;


// Man kann es aber auch mit folgender Funktion schöner regeln
function GetTxt(s1,s2,txt:String):String;
begin
  Delete(txt,1,Pos(s1,txt)+length(s1)-1);
  Delete(txt,Pos(s2,txt),Length(txt));
  Result := txt;
end;

// Aufruf:
LabelN.Caption := GetTxt('<div class="destroyed">','</div>', DeinQuelltextString);
Das geht aber NUR wenn es da ein Tag gibt, dass den Text "Tassen zerstört" eindeutig wiedergibt!

DeddyH 20. Jul 2008 12:51

Re: Bestimmten Teil aus dem Quelltext auslesen
 
Kleiner Verbesserungsvorschlag für die Funktion:
Delphi-Quellcode:
function GetTxt(const s1,s2,txt:String):String;
var iPos: integer;
begin
  Result := txt;
  iPos := Pos(s1,Result);
  if iPos > 0 then
    Delete(Result,iPos,Length(s1));
  iPos := Pos(s2,Result);
  if iPos > 0 then
    Delete(Result,iPos,Length(s2));
end;

Luckie 20. Jul 2008 15:47

Re: Bestimmten Teil aus dem Quelltext auslesen
 
Ich rate :glaskugel: einfach mal ins blaue, weil uns mal wieder die Hälfte verschwiegen wird: Es handelt sich um eine fremde Anwendung und irgendwelche Spielstände sollen verändert werden, während das Spiel läuft.

hoika 20. Jul 2008 18:00

Re: Bestimmten Teil aus dem Quelltext auslesen
 
Naaaa Luckie,

es ist Sonntag, Doro (Pesch) schallt durch Zimmer,
nich immer was böse Denken :)


Heiko

Medium 20. Jul 2008 22:29

Re: Bestimmten Teil aus dem Quelltext auslesen
 
:glaskugel: Ich glaube ja eher, dass er einen Text in seinem eigenen Programm ausgeben will, der dynamische Teile hat. :glaskugel:

In dem Fall wäre wieder ein Hinweis auf die vielen guten Grundlagentutorials fällig ;)

SUIW 23. Jul 2008 00:11

Re: Bestimmten Teil aus dem Quelltext auslesen
 
Hallo,

vielen lieben dank! Funktioniert wunderbar!

mkinzler 23. Jul 2008 05:31

Re: Bestimmten Teil aus dem Quelltext auslesen
 
Wie hast du es jetzt gemacht?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:13 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz