Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

luckiecroft

Po--- e LeftStr

Recommended Posts

Olá pessoal. Estou com dúvida de como usar o PosEx e o LeftStr. Devo fazer alguma função antes pra que não apareça como dão definida???? Quero pegar o valor de uma linha no meu treeview dando um duplo clique e depois quero que uma variável armazene o valor anterior a: " - " que são números.....não tá dando nem erro. Abaixo está o código:

procedure TForm_Vinis.TreeView_Faixas_VinilDblClick(Sender: TObject);
var
NovaString, suaString : string;

begin

suaString := TreeView_Faixas_Vinil.Selected.Text;
If PosEx(' - ', suaString, 1) > 0 then
begin
NovaString := LeftStr(suaString, PosEx(' - ', suaString, 1) - 1);
end
else
begin
novaString := suaString;
Label11.Caption := novaString;
end;
end;


Se eu não colocar isso antes ele dix que os comandos posex e leftstr não sao definidos:

function PosEx(const SubStr, S: string; Offset: Integer): Integer;
begin
end;
function LeftStr(const AText: string; const ACount: Integer): string;
begin
end;


O que faço....Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeira pergunta... você declarou na sua lista de uses a StrUtils? É ela que permite a você usar os comandos citados, sem declará-la você tem que programar as funções na mão (e ai você declarar elas sem implementar no seu código não fará diferença realmente).

 

Basicamente, você teria que fazer o seguinte:

uses StrUtils;
...
 
procedure TForm_Vinis.TreeView_Faixas_VinilDblClick(Sender: TObject);
var
    NovaString, suaString : string;
begin
    suaString := TreeView_Faixas_Vinil.Selected.Text;
    //Fiz uma alteração no seu if, visto que quando entrava no primeiro bloco você atribuia
    //o valor a variável NovaString mas não o jogava no seu Label.
    If Pos(' - ', suaString) > 0 then
       NovaString := LeftStr(suaString, Pos(' - ', suaString) - 1)
    else
       NovaString := suaString;
    //Agora o seu label irá receber um valor independente de ter entrado no if ou no else!
    Label11.Caption := NovaString;
end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.