AsString x AsAnsiString

379 views
Skip to first unread message

Jose Luiz de Medeiros

unread,
Jan 6, 2012, 12:48:38 PM1/6/12
to dug...@googlegroups.com
Boa tarde,

Qual a maneira correta de se trabalhar com delphi 2009 em diante, com STRING OU COM ANSISTRING. Tenho feito assim mas tenho recebido alguns warnings:

var
teste: String;
begin
teste:=qryNome.AsAnsiString;
end;

Está correta essa forma?



Grato:

 Jose Luiz

Samuel "Muka" David

unread,
Jan 7, 2012, 8:45:34 PM1/7/12
to DUG-RS - Delphi Users Group Rio Grande do Sul
José,
A maneira correta é trabalhar com AsString, utilize AsAnsiString
apenas se vc tiver que trabalhar diretamente com o tipo Ansi.
Apartir do Delphi 2009 ele ganhou suporte a unicode, e apartir dele a
String mapeia UnicodeString e não mais AnsiString. Como provavelmente
todo seu programa utiliza o tipo String, ele ja foi todo portado para
de AnsiString para UnicodeString automaticamente.
De uma lida nesse post do Andreano Lanusse que explica como ocorreu
esta mudança. http://www.andreanolanusse.com/pt/entendendo-unicode-para-migrar-sua-aplicacao-delphi/

On 6 jan, 15:48, "Jose Luiz de Medeiros"

Jose Luiz de Medeiros

unread,
Jan 8, 2012, 7:38:51 AM1/8/12
to dug...@googlegroups.com
Bom dia,

Muito obrigado, agora entendi.

Jose Luiz

>--
>Você recebeu esta mensagem porque está inscrito no "DUG-RS -
>Delphi Users Group Rio Grande do Sul" em Grupos do Google.
>Acesse o nosso BLOG em http://www.dug-rs.org e contribua com a comunidade Delphi do Rio Grande do Sul
>Para postar neste grupo, envie um e-mail para dug...@googlegroups.com
>Para cancelar a sua inscrição neste grupo, envie um e-mail para
>dug-rs-un...@googlegroups.com
>Para ver mais opções, visite este grupo em
>http://groups.google.com.br/group/dug-rs?hl=pt-BR
>Twitter: @dugrs

João Carlos Cordeiro

unread,
Jan 9, 2012, 8:08:27 AM1/9/12
to dug...@googlegroups.com
Ol�,

Algu�m sabe como converter imagem jpg para base64 ?

Obrigado e ab�s,


Jo�o Carlos

Newton Michel de Oliveira

unread,
Jan 9, 2012, 8:14:00 AM1/9/12
to dug...@googlegroups.com
João em uma pesquisadinho no google achei um exemplo que esta no site



function JPeg2MIME(jpg: TJPEGImage): String;
var
ds: TMemoryStream;
begin
ds := TMemoryStream.Create;
try
jpg.SaveToStream(ds);
ds.Position := 0;
Result := IdEncoderMIME(ds);
finally
ds.Free;
end;
end;


Atenciosamente,
Newton Michel de Oliveira
Celular 55-51-92358577
http://br.linkedin.com/in/newtongaucho
http://twitter.com/newtongaucho

Coordenador e palestrante do grupo de usuários delphi do RS (DUG-RS)





Em 9 de janeiro de 2012 11:08, João Carlos Cordeiro <jccor...@globo.com> escreveu:
Olá,

Alguém sabe como converter imagem jpg para base64 ?

Obrigado e abçs,


João Carlos


--
Você recebeu esta mensagem porque está inscrito no "DUG-RS -
Delphi Users Group Rio Grande do Sul" em Grupos do Google.
Acesse o nosso BLOG em http://www.dug-rs.org e contribua com a comunidade Delphi do Rio Grande do Sul
Para postar neste grupo, envie um e-mail para dug...@googlegroups.com
Para cancelar a sua inscrição neste grupo, envie um e-mail para

João Carlos Cordeiro

unread,
Jan 9, 2012, 8:17:23 AM1/9/12
to dug...@googlegroups.com
Agradeço Newton, mas eu tb já havia pesquisado e achado essa função ...

Dá erro na instrução IdEncoderMIME .. .Até tem esse componente no Indy, mas não consigo colocar TIdEncoderMIME no uses ...

Se coloco o componente no Form, tb nada é colocado no uses ...

Mesmo assim obrigado.

Abçs,

João Carlos

Para ver mais opções, visite este grupo em
http://groups.google.com.br/group/dug-rs?hl=pt-BR
Twitter: @dugrs
--
Você recebeu esta mensagem porque está inscrito no "DUG-RS -
Delphi Users Group Rio Grande do Sul" em Grupos do Google.
Acesse o nosso BLOG em http://www.dug-rs.org e contribua com a comunidade Delphi do Rio Grande do Sul
Para postar neste grupo, envie um e-mail para dug...@googlegroups.com
Para cancelar a sua inscrição neste grupo, envie um e-mail para

Newton Michel de Oliveira

unread,
Jan 9, 2012, 8:37:16 AM1/9/12
to dug...@googlegroups.com
João,
na realidade o TIdEncoderMIME é uma classe (unit IdCoderMIME.pas)  e não existe a função que estavamos tentando usar. estou usando o Delphi XE2, mas abaixo segue um exemplo que compilou. não sei se vai funcionar, mas caso não funcione deve ser somente ajustes.



unit Unit1;

interface

uses
  Winapi.Windows,
  Winapi.Messages,
  System.SysUtils,
  System.Variants,
  System.Classes,
  Vcl.Graphics,
  Vcl.Controls,
  Vcl.Forms,
  Vcl.Dialogs,
  Vcl.StdCtrls,
  Vcl.Imaging.jpeg,
  IdBaseComponent,
  IdCoder,
  IdCoder3to4,
  IdCoderMIME;

type
  TForm1 = class(TForm)
    Button1: TButton;
    IdEncoderMIME1: TIdEncoderMIME;
    function JPeg2MIME(jpg: TJPEGImage): String;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.JPeg2MIME(jpg: TJPEGImage): String;
var
  ds: TMemoryStream;
begin
  ds := TMemoryStream.Create;
  try
    jpg.SaveToStream(ds);
    ds.Position := 0;

    Result := TIdEncoderMIME.EncodeString(ds)
  finally
    ds.Free;
  end;
end;

end.

João Carlos Cordeiro

unread,
Jan 9, 2012, 8:39:50 AM1/9/12
to dug...@googlegroups.com
Muito obrigado pela ajuda, Newton .. vou experimentar, sim...

Estava vendo este site http://balaiotecnologico.blogspot.com/2011/06/trabalhando-com-base64-em-delphi.html que tb tem um função, que inclusive converte arquivos de imagens ...

Vou experimentar os 2 .. o que funcionar será usado .. rsrsrsrsrrrss

Abçs e obrigado,


João Carlos
Reply all
Reply to author
Forward
0 new messages