Danke Perlsau,
ich hab jetzt eine erste Rumpfimplementation. Fuer diejenigen die es interessiert hier das Grundgeruest:
Code:
procedure TMainForm.Button2Click(Sender: TObject);
var sl: TStringList; // Store Webpage Source Code
RegExStr : String; // Search Expression
RegEx : TRegEx; // Expression Evaluation Class
MatchCollection : TMatchCollection; //Store all Determined Matches
i: Integer;
LottoNumbers : String;
begin
// Read Lotto Webpage
sl:=TStringList.Create;
sl.Text := IdHttp1.Get('http://www.sachsenlotto.de/mskp/user/lottoresults/lottoresultsshow.do?ziehungsDatum=18.12.2013#');
// Get numbers 1 to 6 and store them in MatchCollection
RegExStr := '<span class="lottonumberbig">(\d*)</span>';
RegEx := TRegEx.Create(RegExStr,[roSingleLine,roIgnoreCase]);
MatchCollection := RegEx.Matches(sl.text);
// if six numbers found then plot results
if MatchCollection.Count = 6 then
begin
LottoNumbers := 'Zahlen: ';
for i := 1 to 6 do
begin
LottoNumbers := LottoNumbers + MatchCollection.Item[i-1].Groups[1].Value + ', ';
end;
Showmessage(LottoNumbers);
end
else
begin
Showmessage('Error: No Lotto numbers found!');
end;
// Get Superzahl and store it in MatchCollection
RegExStr := '<span class="extralottonumberbig">(\d*)</span>';
RegEx := TRegEx.Create(RegExStr,[roSingleLine,roIgnoreCase]);
MatchCollection := RegEx.Matches(sl.text);
// if one number found then plot Superzahl
if MatchCollection.Count = 1 then
begin
Showmessage('Superzahl: ' + MatchCollection.Item[0].Groups[1].Value);
end;
end;
Das Datum in der
URL kann gegen jedes beliebiges Datum von vergangenen Ziehungen ausgetauscht werden und man erhaelt so alle Zahlen von 1955 bis heute.
Viel Spass damit
Gutelo