Jump to content


Photo

[TRUCO DELPHI] Asignar un Archivo a una Variable de tipo String.


  • Please log in to reply
4 replies to this topic

#1 sir.dev.a.lot

sir.dev.a.lot

    Advanced Member

  • Miembros
  • PipPipPip
  • 545 posts
  • Location127.0.0.1

Posted 23 December 2016 - 12:19 PM

[TRUCO DELPHI] Asignar un Archivo a una Variable de tipo String.

 

Descripcion:

 

Cree un nuevo proyecto de Delphi, en Delphi 7, File -> New -> Application.

 

Adicione un TMemo y un TButton, el TMemo alinealo hacia la Izquierda... Align:= alLeft

 

Ahora adicione este codigo / funcion luego de la Seccion de Implementation.


delphi
  1. function GetTextFromFile(AFile: string; var Returnstring: string): Boolean;
  2. var
  3. FileStream: TFileStream;
  4. begin
  5. Result := False;
  6. if not FileExists(AFile) then Exit;
  7. FileStream := TFileStream.Create(AFile, fmOpenRead);
  8. try
  9. if FileStream.Size = 0 then
  10. begin
  11. SetLength(Returnstring, FileStream.Size);
  12. FileStream.Read(Returnstring[1], FileStream.Size);
  13. Result := True;
  14. end;
  15. finally
  16. FileStream.Free;
  17. end;
  18. end;

Ahora en el Evento OnClick del TButton, adicione este codigo.


delphi
  1. //asi debe de quedar.
  2. procedure TForm1.Button1Click(Sender: TObject);
  3.  
  4. //de aqui para abajo
  5. var
  6. s: string;
  7. begin
  8. if GetTextFromFile('c:\autoexec.bat', s) then
  9. begin
  10. Memo1.text := s;
  11. end;
  12. //hasta aqui
  13.  
  14. end;

Saludos!

Attached Files


  • 0

#2 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4107 posts
  • LocationMadrid - España

Posted 23 December 2016 - 01:10 PM

¿Y no es mucho más fácil, rápido y directo esto?


delphi
  1. Memo.Lines.LoadFromFile('c:\autoexec.bat');

Saludos.


  • 0

#3 sir.dev.a.lot

sir.dev.a.lot

    Advanced Member

  • Miembros
  • PipPipPip
  • 545 posts
  • Location127.0.0.1

Posted 23 December 2016 - 01:44 PM

Hola, @Escafandra...

 

Ahi el Titulo del Truco deberia de ser entonces, Como cargar un Archivo en un TMemo.

 

El TMemo solo se usa para reflejar que el archivo se ha cargado... La Operacion radiaca en la Variable S donde se guarda el contenido del Archivo cargado.

 

Puede hacer un ShowMessage(s);

 

Ademas en su caso le faltaria esto

{

Memo.Lines.LoadFromFile('c:\autoexec.bat');

 

S:= Memo1.Text;

}

 

Aunque yo estoy seguro que usted se conoce esto de mas, la explicacion no es para usted, sino para los demas que no conocerian la diferencia.

 

Saludos!


  • 1

#4 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4107 posts
  • LocationMadrid - España

Posted 25 December 2016 - 07:42 AM


delphi
  1. function GetTextFromFile(AFile: string): string;
  2. var
  3. List: TStringList;
  4. begin
  5. List:= TStringList.Create;
  6. List.LoadFromFile(AFile);
  7. Result:= List.Text;
  8. List.Free;
  9. end;

 
 
Saludos.
  • 1

#5 sir.dev.a.lot

sir.dev.a.lot

    Advanced Member

  • Miembros
  • PipPipPip
  • 545 posts
  • Location127.0.0.1

Posted 25 December 2016 - 12:16 PM

Ah, Ves ... una manera mas Corta... Gracias @Escafandra.

 

Saludos!


  • 1




IP.Board spam blocked by CleanTalk.