Analitcs

Pesquisar no conteúdo do blog.atlabs.com.br

quarta-feira, 5 de dezembro de 2012

DELPHI - Trabalhando com Cookies - WebBroker - CGI/ISAP Delphi

Reações: 


Function SetCookieByName(Response : TWebResponse; Request: TWebRequest; CookieName, CookieValue: string) : Boolean;
var
  i : Integer;
  S : String;
begin
  Result := False;
  try
    with Response.Cookies.Add do
    begin
      Expires := IncDay(Now, 1);
      Path := Request.URL;
      Secure := False;
      Name := CookieName;
      Value := CookieValue;
    end;
   // Passa por aqui para não ficar declarando campos do tipo hidden dentro do html
  // no lugar de setar somente o valor para o response, passa também para o request.
    for I := 0 to Request.CookieFields.Count - 1 do
    begin
      S := Request.CookieFields.Strings[i];
      S := Copy(S, 1, Pos('=', S) - 1);
      if UpperCase(S) = UpperCase(CookieName) then
      begin
        Request.CookieFields.Delete(i);
        Break;
      end;
    end;
    Request.CookieFields.Add(CookieName + '=' + CookieValue);
    Result := True;
  except
    Result := False;
  end; 
//----------------------------------------
end;

Function GetCookieByName(Request: TWebRequest; CookieName: String) : String;
var
  i : Integer;
  S : String;
begin
  try
  Result := '';
  for i := 0 to Request.CookieFields.Count -1 do
  begin
    S := Request.CookieFields.Strings[i];
    S := Copy(S, 1, Pos('=', S) - 1);
    if S = CookieName then
    begin
      S := Request.CookieFields.Strings[i];
      Result := Copy(S, Pos('=', S) + 1, Length(S));
      Break;
    end;
  end;
  Finally
  end;
end;

Um comentário:

Observação: somente um membro deste blog pode postar um comentário.

Max Gehringer