ZueRa Postado Abril 6, 2009 Denunciar Share Postado Abril 6, 2009 Boa tarde!Como poderei fazer um procedimento que conte quantos números há em um arquivo de texto?Exemplotenho num arquivo X:24222sendo assim, ao clicar num botão ele contasse quantos números há nele.No caso:(4) - números 2(1) - número 4Agradeço desde já,Thiago. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Abril 6, 2009 Denunciar Share Postado Abril 6, 2009 Coloque num Memo2422232536depois use este codigo que tinha aqui no forum e que foi modificado para esta finalidadeprocedure TForm1.Button1Click(Sender: TObject); var texto: array[0..10] of string; // Numero de linhas do Memo1 i, n, c : Integer; valor: string; indice: Integer; ok: Boolean; numero : string; begin // exibe na ordem original for i := Low(texto) to High(texto) do texto[i] := Memo1.Lines.Strings[i]; // faz a ordenação repeat ok := False; indice := 0; repeat if CompareStr(texto[indice], texto[indice + 1]) > 0 then begin valor := texto[indice]; texto[indice] := texto[indice + 1]; texto[indice + 1] := valor; ok := True; end; Inc(indice); until(indice > High(texto)); until(ok = False); // fim ordenação Memo2.Clear; // exibe o array ordenado for i := Low(texto) to High(texto) do Memo2.Lines.Append(texto[i]); // Posiciona o cursor na primeira linha do Memo Memo2.SelStart := Perform(EM_LINEINDEX, 0, 0); // Recebe o primeiro valor da linha do memo numero := Memo2.Lines.Strings[0]; c := 0; // Limpa o Memo3 Memo3.Clear; // contabiliza os numeros que são iguais for i := Low(texto) to High(texto)+1 do begin if numero = Memo2.Lines.Strings[i] then begin c := c + 1; numero := Memo2.Lines.Strings[i]; end else begin Memo3.Lines.Append(numero + ' = ' + inttostr(c) + ' vez(es)'); c := 1; numero := Memo2.Lines.Strings[i]; end; end; end;Resultado:2 = 5 vez(es)3 = 2 vez(es)4 = 1 vez(es)5 = 1 vez(es)6 = 1 vez(es)explicando melhor:Em um componente Memo1 coloquei os numeros que deverão ser contados ( podem estar aleatorios )No Memo2 esses mesmos numeros serão ordenados, pois dessa maneira fica mais facil contabiliza-losNo Memo3 o resultado OBS: O programador deve saber como utilizar os códigos para obter os resultados esperados, mesmo que aparentemente o código sirva para outro objetivo. Isso tambem poderia ser feito de outras maneiras ... Zuera voce ainda chega lá ... abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ZueRa Postado Abril 6, 2009 Autor Denunciar Share Postado Abril 6, 2009 (editado) Olá Jhonas, boa noite.Obrigado pelo código e explicação.Serviu direitinho, valeu mesmo!Vou analisar ele e tirar minhas conclusões de como foi feito isto,devo uma!Grande abraço. Editado Abril 6, 2009 por ZueRa Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ZueRa
Boa tarde!
Como poderei fazer um procedimento que conte quantos números há em um arquivo de texto?
Exemplo
tenho num arquivo X:
2
4
2
2
2
sendo assim, ao clicar num botão ele contasse quantos números há nele.
No caso:
(4) - números 2
(1) - número 4
Agradeço desde já,
Thiago.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.