Rozwalanie stringa na części?

Rozwalanie stringa na części?
D8
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 19 lat
  • Postów:41
0

Siema!
W Memo1 mam taką linię stringa:

[code]component="Edit1" /component[/code]

Chcę wykryć co jest w cudzysłowie w mniej więcej taki sposób (robię co mogę aby nie było problemów które opiszę później):

Kopiuj
sssddd := Length(Copy(Memo1.Lines[0], Pos('component="', Memo1.Lines[0]) + 12, Pos('" /component', Memo1.Lines[0]) - 11));
sssddd1 := Copy(Memo1.Lines[0], Length(Memo1.Lines[0]) - Pos('component="', Memo1.Lines[0]) - 15, Length(Memo1.Lines[0]) - Length('" /component') - 11);
ShowMessage('sssddd1: ' + sssddd1);</delphi

Funkcja Pos2 jest taka:

<delphi>function TForm1.Pos2(_String_ : String; _Text_ : String; int : Integer; minus : Integer) : integer;
var
i : Integer;
znaleziono : Integer;
begin
i:=1;
znaleziono:=0;
repeat
if _String_[i] = _text_ then inc(znaleziono);
inc(i);
if znaleziono = int then result := i -minus;
until znaleziono = int;
end;

Wiem że to nie działa za dobrze, bo ciągle przy tym majstrowałem (przy kodzie rozkładającym stringa) ale chcę to zrobić tak, aby nie występowały takie błędy:

1.jeżeli przed lub po tekście [code]component="Edit1" /component[/code] wystąpi np. asd albo jakieś słowo lub cyfra to ciągle tekst ma być Edit1 (najtrudniejsze).
2.Chcę, aby to działało, nawet jeśli tekst będzie inny niż Edit1 (trochę trudne).
3.Chcę aby to działało (łatwe)

Męczę się z tym już 2 dzień.


Im wi
foflik
  • Rejestracja:ponad 21 lat
  • Ostatnio:prawie 17 lat
0

Zalozenie Podaje pierwsze wystapienie pomiedzy znakami, musi istniec znak zamykajacy i otwierajacy no i musi istniec cos pomiedzy tymi znakami.

Kopiuj
function DajStringPomiedzy(Co: String; Znak: Char):String;
var
  i: Word;
begin
  i:=Pos(Znak, Co)+1;
  Result:='';
  repeat
    Result:=Result+Co[i];
    i:=i+1;
  until Co[i]=Znak;
end;
D8
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 19 lat
  • Postów:41
0

Sorry foflik, ale nie mogę znaleźć dobrego zastosowania t twojej funkcji.
Dobra, będę próbował dalej...

  • user image - ŁF

Im wi
MatroX
  • Rejestracja:około 22 lata
  • Ostatnio:prawie 11 lat
0

Sorry foflik, ale nie mogę znaleźć dobrego zastosowania t twojej funkcji.

Przecież funkcja foflika rozwiązuje wszystkie 3 twoje problemy!!

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.