Problema com String e Boolean

21/09/2017

0

1. Na minha aplicação, a pessoa clica em um componente image, que carrega a imagem escolhida. [esta parte esta funcionando sem problemas]

2. Pego o nome do caminho da pasta e separo em uma var. exe:[ c:\\fvf\\fotos ]
3. Então eu pego o arquivo e o renomeio seu nome. Nome original [ carro.jpg ] para [ CFV-1111f1.jpg ]

4. O problema é o edit receber as duas variaveis o delphi acusa o seguinte erro: [ incompatible types 'string' and 'boolean' ]
ja até cheguei a mudar a variavel npath2 pra boolean mas não adiantou e nao consigo aplicar o booltostr.


procedure TForm1.Button38Click(Sender: TObject);
VAR
imagem : Tpicture;
Nrename : string;
Npath : string;
Npath2 : string;


begin

//1 [ Funcionando ]

 if OpenPictureDialog1.execute then
  Begin
  imagem:=Tpicture.create();
  imagem.loadfromfile(OpenPictureDialog1.filename);
  image3.Picture := imagem;
  edit206.text := OpenPictureDialog1.filename;
  imagem.Free;

//2
Npath   := ExtractFilepath(OpenPictureDialog1.FileName);

//3
Nrename := ExtractFilename(OpenPictureDialog1.FileName);
Npath2  := Renamefile( Nrename , edit207.Text+'f1.jpg' )

//4
EDIT211.Text := Npath+Nrename;



end;
Bruno Marchi

Bruno Marchi

Responder

Posts

21/09/2017

Bruno Marchi

No final o edit tem q ficar [ c:\\fvf\\fotos\\CFV-1111f1.jpg ]
Responder

21/09/2017

Felipe Morais

Você nunca irá consegui atribuir a proprietade "Text" de um Edit, pois o tipo dela é String. A função RenameFile retorna um Boolean (True or False).

Veja o Help do Delphi:


Delphi syntax:

function RenameFile(const OldName, NewName: string): Boolean;

Description

RenameFile attempts to change the name of the file specified by OldFile to NewFile. If the operation succeeds, RenameFile returns true. If RenameFile cannot rename the file (for example, if the application does not have permission to modify the file), it returns false.

Note: If NewFile represents the name of an existing file, RenameFile behaves differently under Windows and Linux. Under Windows, the rename operation fails. Under Linux, RenameFile silently removes the other file.


Se você já renomeou o arquivo para "edit207.Text+'f1.jpg", por que simplesmente não faz isso após renomear?

Nrename := ExtractFilename(OpenPictureDialog1.FileName);
Npath2  := Renamefile( Nrename , edit207.Text+'f1.jpg' )
EDIT211.Text :=  edit207.Text+'f1.jpg' ;
Responder

22/09/2017

Bruno Marchi

Eu exemplo não funcionou ele ainda acusa a imcompatibilidade de variaveis.

O que eu preciso e não consigo fazer ai é converter esse boolean em string, sou novo com delphi esse tipo de conversão eu não sei.

Pego o nome do caminho e separo, pego o nome da foto separo e renomeio, depois ponho os dois juntos no edit mostrando o caminho da foto com seu novo nome.

Uma das coisas que acontece é que o arquivo é renomeado na pasta, mas no OpenPictureDialog1.FileName fica o nome anterior da foto.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar