Postagens

Mostrando postagens de 2020

Como fazer leitura de Arquivo CSV e XLS em Delphi

Segue abaixo solução encontrada para ler arquivos csv e xls.: procedure TFUIImportacaoPreco. BtnLerArquivoClick(Sender: TObject); var   I, LContarRegistro: Integer;   LColuna,  LArquivoCSV: TStringList;   LArquivoXLS: String;   Excel, Sheet: Variant;   LIndice: Currency; begin   inherited;   if (CeRefFabrica.AsInteger = CePreco.AsInteger) then     raise EValidation.Create('Antes de realizar a leitura fazer as configurações de linha e coluna');   if FECaminhoArquivo.Text = '' then     raise EValidation.Create('Selecione um arquivo');   FPosicaoCabecalho := CeCabecalho.AsInteger;   FPosicaoPreco     := CePreco.AsInteger;   FPosicaoRef       := CeRefFabrica.AsInteger;   if Pos('.CSV', UpperCase(Copy( FECaminhoArquivo.FileName, length(FECaminhoArquivo. FileName) -4, length(FECaminhoArquivo. FileName))))  > 0  then   begin     //Desc...

Remover caracteres inválidos para salvar arquivo no windows

Me deparei com um problema recente onde tive que salvar um arquivo com um nome informado pelo usuário, o problema que este nome pode ter caracteres inválidos, para salvar o arquivo preciso remover os mesmo pois o windows não aceita. Descobri uma função nativa do Delphi que faz isso, segue abaixo como foi desenvolvido a função.:    uses  System.ioUtils, system.strUtils; ////Remove Caracteres restritos do windows para criação de arquivos class function TStringUtils.GetValidPath( const APath: String): String; var   C: Char; begin   Result := '';   for C in APath do     if (not C.IsInArray(TPath. GetInvalidFileNameChars)) then       Result := Result + C; end;

Arredondamento de valores Formato ABNT

Regras de arredondamento na Numeração Decimal - Norma ABNT NBR 5891 Dezembro de 1977. Mais informações: O algarismo a ser conservado no sistema ISS.Net é o segundo após a vírgula. Serão considerados as 6 casas após a vírgula para os cálculos. 2. Regras 2.1  Quando o algarismo a ser conservado for seguido de algarismo inferior a 5, permanece o algarismo a ser conservado e retiram-se os posteriores. Ex.: 86,06 * 5% = 4,303 fica 4,30, visto que o 3 é inferior a 5. 2.2  Quando o algarismo a ser conservado for seguido de algarismo superior a 5, ou igual a 5 seguido de no mínimo um algarismo diferente de zero, soma-se uma unidade ao algarismo a ser conservado e retiram-se os posteriores. Ex.1: 309,75 * 5% = 15,4875 fica 15,49, visto que o 7 é superior a 5. Ex.2: 602,27* 2% = 12,0454 fica 12,05, visto que os algarismos seguintes ao 5 são diferentes de zero. 2.3  Quando o algarismo a ser conservado for ímpar, seguido de 5 e posteriormente de zeros, soma-se uma un...