0

SD カードを参照し、ディレクトリとファイルを選択し、txt ファイルを Delphi XE5 で作成した Android アプリケーションにロードしたいと考えています。

このための標準的なコンポーネントまたはメソッドはありますか? OpedFileDialog のような?

4

2 に答える 2

1

TOpenFileDialogAndroid に相当するものはありません。これはオペレーティング システムの一部ではなく、Android を対象とする場合、コンポーネント パレットからは利用できません。

Dialogsこれは、デザイナーでフォームを表示し、コンポーネント パレットのタブを確認することで確認できます。すべてのコンポーネントが無効になっています。つまり、対象のプラットフォームでは使用できません。それらの上にマウスを置くと、Win32、Win64、および OS X で使用できるが、iOS または Android で使用できないことを示します。

ディレクトリとファイル名を取得するために で利用できる機能を使用して、 に基づいて独自のビルドをいつでも作成できTFormます。ファイル名を取得したら、それをロードする機能は簡単で、いくつかの方法で利用できます - 以下にそのいくつかを示します。TPopupIOUtils.TPath

  • を使用してロードしますTFile.ReadAllLines(再び からIOUtils)
  • TStringList.LoadFromFile
  • 使用するTFileStream.LoadFromFile
  • を使ってTMemo.Lines.LoadFromFile
于 2013-11-07T16:26:24.393 に答える
0

を使用TStringListして、TStringList.loadFromFile(file);

procedure TForm1.Button1Click(Sender: TObject);
var
   TextFile : TStringList;
   FileName : string;
begin

try
  textFile := TStringList.Create;
  try
  {$IFDEF ANDROID}//if the operative system is Android
     FileName := Format('%smyFile.txt',[GetHomePath]);
  {$ENDIF ANDROID}

  {$IFDEF WIN32}
     FileName := Format('%smyFile.txt',[ExtractFilePath(ParamStr(0))]);
  {$ENDIF WIN32}

  if FileExists(FileName) then begin
     textFile.LoadFromFile(FileName); //load the file in TStringList
     showmessage(textfile.Text);//there is the text
  end
  else begin showMessage('File not exists, Create New File');

     TextFile.Text := 'There is a new File (Here the contents)';
     TextFile.SaveToFile(FileName);//create a new file from a TStringList

  end;
  finally
     textFile.Free;
  end;
except
  on E : Exception do ShowMessage('ClassError: '+e.ClassName+#13#13+'Message: '+e.Message);
   end;
end;
于 2013-11-07T16:07:08.713 に答える