euMesmo,
Cita:
Empezado por euMesmo
...Cargo un archivo de texto, que se encuentra en la misma ruta que el ejecutable, a un stringlist mediante loadfromfile...si el ejecutable está en una carpeta (o ruta) cuyo nombre no tiene eñes ni acentos funciona sin más problema. En cuanto cambio el nombre de carpeta por otro que tenga acentos deja de funcionar...
|
Revisa este código:
Código Delphi
[-]
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
ToggleBox1: TToggleBox;
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure ToggleBox1Change(Sender: TObject);
private
public
end;
var
Form1: TForm1;
FileStrList : TStringList;
implementation
{$R *.lfm}
procedure TForm1.ToggleBox1Change(Sender: TObject);
var
openDialog : TOpenDialog;
AuxStr : String;
MsgUser : String;
begin
openDialog := TOpenDialog.Create(self);
openDialog.InitialDir := GetCurrentDir;
openDialog.Options := [ofFileMustExist];
openDialog.Filter := 'Text Files|*.txt';
if openDialog.Execute then
begin
FileStrList := TStringList.Create;
AuxStr := openDialog.FileName;
FileStrList.LoadFromFile(UTF8ToAnsi(AuxStr));
Memo1.Lines.Text := AnsiToUtf8(FileStrList.Text);
end
else
begin
MsgUser := 'No se Selecciono Ningún Archivo de Texto para Visualizar';
MessageDlg(MsgUser,mtinformation,[mbok],0);
end;
openDialog.Free;
end;
procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
FileStrList.Free;
CloseAction := cafree;
end;
end.
El código anterior en Lazarus Versión #:1.2.6 FPC Version 2.6.4 bajo Windows 7 Professional x32,
permite visualizar archivos de texto que contengan caracteres acentuados o con ñ tanto en su contenido como en el nombre del directorio en donde residen, como se muestra en las siguientes imágenes:
Espero sea útil
Nelson.