Ir al contenido


Foto

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


  • Por favor identifícate para responder
4 respuestas en este tema

#1 sir.dev.a.lot

sir.dev.a.lot

    Advanced Member

  • Miembros
  • PipPipPip
  • 545 mensajes
  • Location127.0.0.1

Escrito 23 diciembre 2016 - 12:19

[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!

Archivos adjuntos


  • 0

#2 escafandra

escafandra

    Advanced Member

  • Moderadores
  • PipPipPip
  • 3.964 mensajes
  • LocationMadrid - España

Escrito 23 diciembre 2016 - 01:10

¿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 mensajes
  • Location127.0.0.1

Escrito 23 diciembre 2016 - 01:44

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

  • Moderadores
  • PipPipPip
  • 3.964 mensajes
  • LocationMadrid - España

Escrito 25 diciembre 2016 - 07:42


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 mensajes
  • Location127.0.0.1

Escrito 25 diciembre 2016 - 12:16

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

 

Saludos!


  • 1