Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Geovane Velmer

[Resolvido] Como converter String e Date para PChar ?

Recommended Posts

Como eu faço para passar uma string para PChar

e tambem a data

 

Ex: Data para String

DateToStr(String);

 

 

Mais não sei como se faz para Data To PChar.. ou String To PChar..

 

Como fazer ??

 

e como pular uma linha num messageBox

 

Ex:

Concorda em continuar o lançamento, com as datas abaixo ?

Hoje: 05/05/2009

Emissão: 05/03/2009

 

Eu quero passar data para pchar por que messagebox só acc pchar .. eu acho;

Se alguem souber posta ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia.

Inicialmente, PChar é um ponteiro para um Char e uma String é um conjunto/array de chars e a função lhe pede que seja passado um ponteiro para um char...

Mais infos você pode encontrar neste site: http://www.delphibasics.co.uk/RTL.asp?Name=PChar

O qual por sinal é muito bom em relação a conceitos de Delphi.

 

Agora respondendo a sua dúvida, vamos por partes:

 

Passando a data e string para PChar basta fazer:

PChar(DateToStr(now));
Exemplo:

showmessage( PChar( datetostr( now ) ) );

Agora com relação a pular uma linha no texto, basta concatenar o texto com #13

Exemplo:

showmessage( 'Linha 1' + #13 + 'Linha 2' );

 

 

No seu caso ficaria assim:

procedure TForm1.FormCreate(Sender: TObject);
var msg : String;
    vData : TDate;
begin
  vData := StrToDate('05/03/2009');

  msg := 'Concorda em continuar o lançamento, com as datas abaixo ?'; //Primeira linha da mensagem
  msg := msg + #13; //Pula uma linha
  msg := msg + 'Hoje: '+DateToStr(now);
  msg := msg + #13; //Pula mais uma linha
  msg := msg + 'Emissão: '+DateToStr(vData);

  if(
      Application.MessageBox(
              PChar(msg), //Converte msg para um PChar (Ponteiro para um Char)
              'Confirmação...', //Legenda da Mensagem
              MB_YESNO
              )  = mrYes ) then  // Se o usuário clicar em SIM
  begin
      showmessage('Escolheu SIM');
  end
  else
  begin
    showmessage('Escolheu NÃO');
  end;
end;

 

Abraço,

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.