 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
Diogo_ Novato

Registrado: Sábado, 14 de Janeiro de 2006 Mensagens: 20
|
Enviada: Qui Jan 04, 2007 4:22 pm Assunto: Function Duvida |
|
|
Olá
eu tava tentando fazer um array de varios numeros so que vai ser hyper chato fazer de todos os numeros entao tava tentando fazer uma função que me desse as arrays seria algo como
no Edit1.Text eu coloquei = 01,00,05,a6,7b
são 4 arrays e a função pega esses numeros e transforma em
Teste[0] := $01;
Teste[1] := $00;
Teste[2] := $05;
Teste[3] := $a6;
Teste[3] := $7b;
alguem sabe como fazer isso?
eu não sei como informar a função que a cada virgula ',' é um numero novo...
Obrigado |
|
Voltar ao Topo |
|
 |
gustavocco Administrador

Registrado: Sexta-Feira, 6 de Fevereiro de 2004 Mensagens: 4253 Localização: Chapecó - SC
|
Enviada: Qui Jan 04, 2007 4:56 pm Assunto: |
|
|
Olá, aqui to passando um exemplo jogando num listbox, só altera o código passando ao array...
Código: |
var texto: string;
begin
if edit1.text = '' then exit;
texto := edit1.text;
ListBox1.Clear;
while pos(',',texto) > 0 do begin
ListBox1.Items.Add('$'+copy(texto,1,pos(',',texto)-1));
Delete(texto,1,pos(',',texto));
end;
ListBox1.Items.Add('$'+texto);
end;
|
Espero que ajude.
Flw. |
|
Voltar ao Topo |
|
 |
tiagosoler Novato

Registrado: Terça-Feira, 1 de Março de 2005 Mensagens: 75
|
Enviada: Qui Jan 04, 2007 5:26 pm Assunto: funcao |
|
|
procedure gravatextomatriz();
var texto, novotexto: string;
contador, qtvirugulas: byte;
matriz: array of string;
begin
texto:=Edit1.Text;
qtvirgulas:=0;
for contador:=0 to Length(texto) do begin
if MidStr(texto, contador, contador)=',' then qtvirgulas:=qtvirgulas+1;
end;
SetLength(matriz, qtvirgulas);
for contador:=0 to High(matriz) do begin
novotexto:=LeftStr(texto, Pos(',', texto)-1);
Insert('$', novotexto, 0);
matriz[contador]:=novotexto;
texto:=Copy(texto, Pos(',' texto)+1, Length(texto));
end;
end; |
|
Voltar ao Topo |
|
 |
tiagosoler Novato

Registrado: Terça-Feira, 1 de Março de 2005 Mensagens: 75
|
Enviada: Qui Jan 04, 2007 5:32 pm Assunto: funcao usando listbox tem erro |
|
|
a funcao passada antes da minha como exemplo usando listbox tem erro:
a sintaxe da procedure delete esta errada
o correto é: Delete(var S: string; Index, Count:Integer);
alem disso deletando só a virgula do texto os demais caracteres a esquerda irao acumular para o proximo item.
 |
|
Voltar ao Topo |
|
 |
Diogo_ Novato

Registrado: Sábado, 14 de Janeiro de 2006 Mensagens: 20
|
Enviada: Qui Jan 04, 2007 5:49 pm Assunto: |
|
|
Aew pessoal muito obrigado pelas respostas usei o codigo do gustado editei umas coisas ficou bem rapido
Código: | var
texto: string;
NumTeste: integer;
begin
NumTeste := 0;
if EditNum.text = '' then exit;
texto := EditNum.text;
Memo1.Clear;
while pos(',',texto) > 0 do begin
Memo1.Lines.Add('Teste['+IntToStr(NumTeste)+']'+' := $'+copy(texto,1,pos(',',texto)-1)+';');
Delete(texto,1,pos(',',texto));
NumTeste := NumTeste+1;
end;
Memo1.Lines.Add('Teste['+IntToStr(NumTeste)+']'+' := $'+texto+';');
end; |
resultado ele bota :
Teste[0] := $01;
Teste[1] := $05;
Teste[2] := $09;
Teste[3] := $08;
da forma como eu queria muito obrigado! |
|
Voltar ao Topo |
|
 |
gustavocco Administrador

Registrado: Sexta-Feira, 6 de Fevereiro de 2004 Mensagens: 4253 Localização: Chapecó - SC
|
Enviada: Qui Jan 04, 2007 5:56 pm Assunto: |
|
|
Blz diogo.. bom q serviu o exemplo.
tiagosoler escreveu: |
a funcao passada antes da minha como exemplo usando listbox tem erro:
a sintaxe da procedure delete esta errada
o correto é: Delete(var S: string; Index, Count:Integer);
alem disso deletando só a virgula do texto os demais caracteres a esquerda irao acumular para o proximo item.
Mas o código está na sintaxe...
Traduzindo ... o código:
Delete(texto,1,pos(',',texto));
Delete o conteúdo da variavel texto, que inicie na posição 1 até a posição da virgula(incluindo a virgula.);
Tenta testar o codigo.. funciona bem.
|
Flw ai. |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|