FUNÇÃO AJUDA 2.....

03/02/2003

0

Preciso de uma função que execute o exemplo abaixo e não estou conseguindo desenvolver utilizando os comandos Pos(), Copy(), Delete(), Insert() sou iniciante.....

Sei que tenho que fazer uma pesquisa da direita para esquerda achar a virgula e armazena o resultado em uma variavel......so que não estou conseguindo...... ajudem-me por favor.....

ATUAL: AV AMÉRICAS, DAS

PARA: AV DAS AMÉRICAS

Preciso retirar a virgula e trocar o ´DAS´ de posicao......

Alguém teria uma função para isto.........

A base que eu estou utilizando é a dos correios que esta totalmente padronizada....


Anonymous

Anonymous

Responder

Posts

03/02/2003

Skaarj

Na veia guri.. Tnho como fazer isso [localizar determinado caracter], eu fiz a algum tempo [MTO tmpo, tá em PASCAL], nesse exemplo ele procura pela letra ´A´, é só mudar o parametro para, virgula:

Program Letra_A;
Uses crt;
var
inicio:integer;
fim:integer;
frase:string;
function letra(nome:string):integer;
begin
inicio:=0;
fim:=0;
for inicio:=1 to length(nome) do
begin
if (nome[inicio]=´a´) or (nome[inicio]=´A´) then
begin
fim:=fim+1;
end;
end;
letra:=fim;
end;
function contra (nome_aux:string):string;
var
pos:integer;
result:string;
begin
result:=´´;
for pos:=length(nome_aux) downto 1 do
begin
result:=result+nome_aux[pos];
contra:=result;
end;
end;
BEGIN
clrscr;
textbackground (12);
textattr:= green;
HighVideo;
write (´Digite a frase desejada: ´);
readln(frase);
textcolor (blink);
Writeln (´O nome digitado tem : ´,letra(frase),´ letras A ´);
writeln (´O nome que vocˆ digitou ao contr rio : ´, contra(frase));
writeln (´O n&mero digitado tem ´,length(frase),´ letras´);
readkey;
exit;
END.


Responder

03/02/2003

Anonymous

´SKAARJ´ não funcionou cara ..... valeu pela ajuda..... a ultima função ela inverte todas a sentença inteira......


Responder

03/02/2003

Skaarj

Vou mexer aqi logo t passo o correto..


Responder

03/02/2003

Skaarj

Tá aqi o codigo.. Usei 2 edit´s e 1 button..
Ela vai contar quantas virgulas tem.. É só mudar d qndo achar ao inves d contar, substituir por espaço vazio..

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
inicio:integer;
fim:integer;

implementation

{$R *.DFM}
function letra(nome:string):integer;
begin
inicio:=0;
fim:=0;
for inicio:=1 to length(nome) do
begin
if (nome[inicio]=´,´)then
begin
fim:=fim+1;
end;
end;
letra:=fim;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
edit2.text:=IntToStr(letra(edit1.text));

end;

end.


Responder

04/02/2003

Anonymous

SKAARJ ela na serve para o meu aplicativo......mais muito obrigado por tentar me ajudar....... valeu mesmo.........


Responder

06/02/2003

Skaarj

Filho, cnegui!! Toma ae a funçao q substitui a virgula por espaço livre:

function BuscaTroca(Text,Busca,Troca : string) : string;
{ Substitui um caractere dentro da string}
var n : integer;
begin
for n := 1 to length(Text) do
begin
if Copy(Text,n,1) = Busca then
begin
Delete(Text,n,1);
Insert(Troca,Text,n);
end;
end;
Result := Text;
edit1.clear;
edit1:=result;
end;


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar