Jap, gibt Sinn
Also zuerst ist das eine Funktion die ein String trennt. Die brauche ich später.
Delphi-Quellcode:
function splitOutIndex(const Source: String; const Delimiter: String; Index: Integer): String;
var
Lcount, Lnumber, LSourceLength, LDelLength, LStart, LEnd: Integer;
begin
Lcount := 1;
Lnumber := 0;
if Index = 0 then
LStart := 1
else
LStart := 0;
LEnd := 0;
result := '';
LSourceLength := length(Source);
LDelLength := length(Delimiter);
while (Lcount <= LSourceLength) and (LEnd = 0) do
begin
if copy(Source, Lcount, LDelLength) = Delimiter then
begin
inc(Lnumber);
if Lnumber >= Index then
begin
if LStart = 0 then
LStart := Lcount + LDelLength
else
begin
LEnd := Lcount;
result := copy(Source, LStart, LEnd - LStart);
end;
end;
Lcount := Lcount + LDelLength;
end
else
inc(Lcount);
end;
if (LStart > 0) and (LEnd = 0) then
result := copy(Source, LStart, LSourceLength - LStart + 1);
end;
Und das ist jetzt die eigentliche Prozedur, die, wenn ich eine Zeile anklicke, die SELROW der Zeile auf dem Label_releaseDate ausgibt.
Ich hoffe es ist halbwegs verständlich
Delphi-Quellcode:
procedure TUpdatesFr.GridFilesJQGridOptionsCellSelect(Sender: TObject; AParams: TStringList);
var
s: String;
i: Integer;
outcome: TStringList;
LFound: Boolean;
begin
LFound := False;
for i := 0 to AParams.count - 1 do
begin
if AParams[i].Contains('_SELROW') then
begin
updateversion.Filter:= 'WHERE id =: s';
updateversion.ParamByName('s').AsString:= splitOutIndex(AParams[i], '=', 1);
updateversion.Open;
if updateversion.RecordCount>0 then
begin
Label_releaseDate.Text:= updateversion.FieldByName('releasedate').AsString;
end
else
begin
webApplication.showMessage('Kein Datum gefunden.');
end;
LFound := True;
break;
end;
end;
if not LFound then
webApplication.ShowMessage('Kein SelRow drin');
end;