Converter string em Delphi

SQL

Delphi

04/07/2019

Tenho uma string "2018-07", como ficaria a conversão para "07/2018"?

Abs!
Gxf

Gxf

Curtidas 0

Melhor post

Elaine Urgal

Elaine Urgal

04/07/2019

Sei que pode ser simples, mas não achei nd sobre :/


Olá!
1º declare na Uses do seu form a unit StrUtils, e vc pode usar AnsiReplaceStr ou StringReplace

Exemplo simples:
editData.text := ''07-2018'';
editData2.text := AnsiReplaceStr(editData.text.Text, ''-'', ''/'')) );


E nesse link tem um exemplo que deve te ajudar:
https://www.devmedia.com.br/delphi-stringreplace-como-utilizar-a-funcao-stringreplace-no-delphi/13222

Espero que ajude :)
GOSTEI 1

Mais Respostas

Gxf

Gxf

04/07/2019

Sei que pode ser simples, mas não achei nd sobre :/
GOSTEI 0
Bruno Guelere

Bruno Guelere

04/07/2019

Bom dia,
Você pode fazer mais ou menos dessa maneira:

Declare na suas uses SysUtils.TStringHelper.Split;

Depois na sua implementação coloque:

var
MyString: String;
Splitted: TArray<String>;
begin
MyString := 'word:doc,txt,docx';
Splitted := MyString.Split(['-']);
end.

O array ficará com duas posições, somente inverta elas.
GOSTEI 0
Bruno Guelere

Bruno Guelere

04/07/2019

Bom dia,
Você pode fazer mais ou menos dessa maneira:

Declare na suas uses SysUtils.TStringHelper.Split;

Depois na sua implementação coloque:

var
MyString: String;
Splitted: TArray<String>;
begin
MyString := 'word:doc,txt,docx';
Splitted := MyString.Split(['-']);
end.

O array ficará com duas posições, somente inverta elas.


Onde ficou o texto de exemplo (word:doc,txt,docx) troque pela sua data (2018-07).
GOSTEI 1
Gxf

Gxf

04/07/2019

Agradeço a resposta!

No caso pego a string de um XML e ela é no formato 2018-07. Deu certo a conversão do "-" para a "/", porém para deixar como 07/2018 ao invés de 2018/07, teria como tbm?

Abs.
GOSTEI 0
Rafael Bosco

Rafael Bosco

04/07/2019

use o comando FormatDateTime:


 var
   NovaData: UnicodeString;
   OldData: UnicodeString;
begin
     OldData := '2018-07';
   
    NovaData := FormatDateTime('mm/yyyy', OldData);
end
GOSTEI 1
Gxf

Gxf

04/07/2019

Fiz desta forma e me retornou:

"There is no overloaded version of 'FormatDateTime' that can be called with these arguments"
GOSTEI 0
Gxf

Gxf

04/07/2019

Teria alguma forma de mudar a posição de "2018/07" e deixar "07/2018" ?
GOSTEI 0
Gxf

Gxf

04/07/2019

Consegui usando a função copy. Vlwww!
GOSTEI 0
POSTAR