if 'tekst' + nieznany tekst then
jak napisać coś takiego , ze jesli kompilator napotka nieznany ciąg znaków.... po 'tekst' tekst to ma robic.....dalsze instrukcje
if 'tekst' + nieznany tekst then
jak napisać coś takiego , ze jesli kompilator napotka nieznany ciąg znaków.... po 'tekst' tekst to ma robic.....dalsze instrukcje
eee, co?
O ile dobrze zrozumiałem co chcesz zrobić to można funkcją Pos sprawdzić czy słowo tekst jest w danej zmiennej typu string na pierwszej pozycji i dodatkowo sprawdzić czy ta sprawdzana zmienna jest dłuższa od długości słowq tekst. Chociaż Tobie pewnie chodzi o coś innego, ale tak napisałeś, że ciężko mi to zrozumieć.
Gdzie napotka i co to jest ten nieznany ciąg znów? Czy to ma być całkiem dowolny ciąg byle zaczynał się przykładowo od "tekst"?
dokladniej to chodzi o adres url...
If "http://mojastronka.pl/topicid=?" +nieznane_numerki_i_inne_znaczki Then.....
Albo usuwasz, kopiujesz od tych cyfr lub funkcją Pos albo PosEx sprawdzasz pozostała część adresu. Ewentualnie wyrażeniami regularnymi z użyciem modułu z komponentem TRegExpr, który znajdziesz wraz z dokumentacją i przykładami w Google.
Oblukaj jak szybko możesz uzyskać listę parametrów i wartości:
const
PAGE_URL = 'http://mojastronka.pl/?'; //interesuje cie tylko adresy zaczynajace sie od tego
var
url: string;
sl: TStringList;
i: Integer;
ParamName, ParamValue: string;
begin
url:= 'http://mojastronka.pl/?topicid=11111&postid=34566&sid=as45wdfty45r'; //przykladowy adres
if (Pos(PAGE_URL, url) = 1) then
begin
Delete(url, 1, Length(PAGE_URL));
sl:= TStringList.Create;
sl.Delimiter:= '&';
sl.DelimitedText:= url;
for i:= 0 to sl.Count - 1 do
begin
ParamName:= sl.Names[i];
ParamValue:= sl.Values[ParamName];
ShowMessage(Format('Parametr: %d Nazwa: %s Wartość: %s', [i, ParamName, ParamValue]));
end;
sl.Free;
end;
Uwaga: ten przykład ma wadę takie "automatyczne" rozdzielenie przez StringList parametrów zadziała tylko gdy nazwy parametrów się nie powtarzają ale bywają przypadki gdy mamy tablice czyli np. adres w postaci:
http://mojastronka.pl/?param[]=1¶m[]=2param[]=3
Wtedy to nie zadziała trzeba rozdzielić parametry od wartości "na piechotę"
z tym że ja chce wlasnie ustalic ten adres "url"
i ciąg znaków typu "postid=34566sid=as45wdfty45r?" nie jest mi znany... chce wlasnie ustalić ten ciąg znaków
usunięcie cytowania całego poprzedniego posta - fp
grom588grom napisał(a):
z tym że ja chce wlasnie ustalic ten adres "url"
i ciąg znaków typu "postid=34566sid=as45wdfty45r?" nie jest mi znany... chce wlasnie ustalić ten ciąg znaków
A teraz po polsku co znasz a czego nie znasz?
Bo ja zakładam że znasz początek adres czyli np.: http://mojastronka.pl/?
a chcesz poznać parametry czyli to postid=34566sid=as45wdfty45r?
Podaj przykład co masz i co chcesz z tego uzyskać, bo na razie nie rozumiem (i chyba nie tylko ja) tego co piszesz.
znam strone "www.mojastrona.pl" , aplikacja losowo wchodzi na przeróżne działy/tematy itd tej strony....i potrzebuje za każdym takim losowym wejsciem .. pobrać tą końcówkę typu "postid=34566sid=as45wdfty45r?"
usuniecie cytowania całego poprzedniego posta - fp