Ver Mensaje Individual
  #3  
Antiguo 12-09-2020
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 396
Reputación: 14
novato_erick Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
No se ve en el código que has puesto
---------------------------
Debugger Exception Notification
---------------------------
Project ApiRestPrueba.exe raised exception class EHTTPProtocolException with message 'HTTP/1.1 401 Unauthorized'.
---------------------------
Break Continue Help
---------------------------


Código Delphi [-]
var
TokenBearer: AnsiString; //<--- FDMemTable1accessToken.AsString; Directo

Requestbody: String; //<---'      'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2Fw' +
                               // 'Lm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6IjI3N' +
                               //'SIsImh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3dzLzIwMDUvMDUvaWRlbnRpdHkvY2'; copiando el token

aún cambiando las variables a String Ambas igual tengo el mismo problema cómo comenté intente guardando el token que se actualiza según la api cada 24 horas en un archivo de Texto Denominado Token.txt para luego ser leido el archivo al colocarlo en un Memo de esta manera siempre utilizando el mismo tipo de variables del RequestBody.

Código Delphi [-]

    if RESTResponse1.StatusCode = 200 then
    begin
        RESTResponseDataSetAdapter1.Active := True;
        RESTResponseDataSetAdapter1.AutoUpdate := True;
        FDMemTable1.Active := True;
        Token := FDMemTable1accessToken.AsString;
        eToken.Text :=  FDMemTable1accessToken.AsString;
        TokenBody := Token;
        Token := 'Bearer ' + Token;
        AssignFile(Fichero, 'C:\MIS APPS\Token.txt');
        try
            Rewrite(Fichero);
            Write(Fichero, Token);
        finally
            CloseFile(Fichero);
        end;

        Memo1.Text := TokenBody;
        TokenBody1 := '';
        TokenBody2 := '';
        TokenBody3 := '';
        TokenBody4 := '';
        TokenBody5 := '';
        TokenBody6 := '';
        TokenBody7 := '';
        TokenBody8 := '';
        TokenBody9 := '';

        Label2.Caption := IntToStr(Memo1.Lines.Count);
        for I := 0 to Memo1.Lines.Count - 1 do
        begin
            if (I = 0) and (TokenBody1 = '') then
            begin
                TokenBody1 := Memo1.Lines.Strings[i];
            end;
            if (I = 1) and (TokenBody2 = '') then
            begin
                TokenBody2 := Memo1.Lines.Strings[i];
            end;
            if (I = 2) and (TokenBody3 = '') then
            begin
                TokenBody3 := Memo1.Lines.Strings[i];
            end;
            if (I = 3) and (TokenBody4 = '') then
            begin
                TokenBody4 := Memo1.Lines.Strings[i];
            end;
            if (I = 4) and (TokenBody5 = '') then
            begin
                TokenBody5 := Memo1.Lines.Strings[i];
            end;
            if (I = 5) and (TokenBody6 = '') then
            begin
                TokenBody6 := Memo1.Lines.Strings[i];
            end;
            if (I = 6) and (TokenBody7 = '') then
            begin
                TokenBody7 := Memo1.Lines.Strings[i];
            end;
            if (I = 7) and (TokenBody8 = '') then
            begin
                TokenBody8 := Memo1.Lines.Strings[i];
            end;
            if (I = 8) and (TokenBody9 = '') then
            begin
                TokenBody9 := Memo1.Lines.Strings[i];
            end;
        end;
        TokenBearer := TokenBody1 + TokenBody2 + TokenBody3 + TokenBody4 +
          TokenBody5 + TokenBody6 + TokenBody7 + TokenBody8 + TokenBody9;

En fin AnsiString o String en ambos tipos de variables el RequestBody almacenado antes descrito funciona sin embargo el llamado desde el archivo de texto o almacenado desde el mismo componente FDMemTable.AsString no me estan funcionando.

y tomando tu referencia en Carácteres Unicode encontre esto: https://jachguate.wordpress.com/2012...elphi-parte-i/
Cita:
En Delphi 2009 o superior, al declarar una variable de tipo Char, PChar o string, estamos declarando contenedores que tienen soporte para el conjunto de caracteres Unicode, y por tanto pueden representar información textual de cualquier alfabeto soportado por el estándar, como japonés, chino, árabe, cirílico, sin olvidar las lenguas latinas como el español, portugués, francés, italiano y y otras.

Saludos casimironotevi gracias por responderme..
Responder Con Cita