简体   繁体   English

如何将文本文件加载到Tmemo(Android,C ++ Builder)

[英]How to load a Text file into Tmemo(Android,C++Builder)

I use C++Builder to make an Android app. 我使用C ++ Builder制作一个Android应用程序。

I try to load a text file into a TMemo , but there is an error: 我尝试将文本文件加载到TMemo ,但是出现错误:

No mapping for the Unicode charactor exists in the target multibyte code page. 目标多字节代码页中不存在Unicode字符的映射。

I use TDirectory::GetFiles() to get a list of files and add them to a TListBox : 我使用TDirectory::GetFiles()获取文件列表并将其添加到TListBox

TStringDynArray list;
TSearchOption searchOption;

searchOption = TSearchOption::soAllDirectories;

list = TDirectory::GetFiles(SYS_TxtDirectory, "*.txt", searchOption);

ListBox1->Items->Clear();
for(int i=0;i<list.Length;i++)
{
    ListBox1->Items->Add(list[i]);
}

When I click on the ListBox, I get a filename with full path into this variable: 当我单击列表框时,我得到一个文件名,该文件名包含此变量的完整路径:

AnsiString txtFileName; //store txt filename with full path

I wish to load this file into a TMemo. 我希望将此文件加载到TMemo中。 But these codes cause the error: 但是这些代码会导致错误:

Code 1: 代码1:

Memo1->Lines->LoadFromFile(txtFileName); //<----run to here,error occurred

Code 2: 代码2:

TStringStream * LrcFileStream;

LrcFileStream=new TStringStream();

LrcFileStream->LoadFromFile(txtFileName);

Memo1->Lines->LoadFromStream(LrcFileStream); //<----run to here,error occurred

delete LrcFileStream;

Code 3: 代码3:

TStringDynArray list;

list = TFile::ReadAllLines(LrcFile); //<----run to here,error occurred

Memo1->Lines->Clear();

for(int i=0;i<list.Length;i++)
{
    Memo1->Lines->Add(list[i]);
}

Code 4: 代码4:

TStringList *ss=new TStringList();

ss->LoadFromFile(LrcFile); //<----run to here,error occurred

for(int i=0;i<ss->Count;i++)
{
    TmpStr=TmpStr+ss->Strings[i];
}

delete ss;

How can I load a text file into a TMemo ? 如何将文本文件加载到TMemo

These codes are working on Abdroid now. 这些代码现在可以在Abdroid上使用。

TStringDynArray list; 
UnicodeString TmpStr;
list = TFile::ReadAllLines(LrcFile,TEncoding::ANSI); 
TmpStr=""; 
Memo1->Lines->Clear(); 
for(int i=0;i<list.Length;i++) 
{ 
    TmpStr=TmpStr+list[i]; 
} 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 C ++ Builder:如何在Android应用程序中显示重音符号? - C++Builder: How to display accent in Android Application? 如何在 C++Builder 10.4 中重新绘制 FMX Android 组件? - How to Repaint FMX Android components in Form in C++Builder 10.4? 如何将 UnicodeString 复制到 C++Builder Android 应用程序中的 wchar_t 数组? - How can I copy a UnicodeString to a wchar_t array in a C++Builder Android app? 如何包装列表<int[]>使用 C++Builder 11?</int[]> - How to wrap List<int[]> with C++Builder 11? 从Android应用程序(C ++ Builder XE6)启用WIFI和/或移动数据 - Enable WIFI and/or mobile data from Android app (C++Builder XE6) 我可以在Embarcadero C ++ Builder中为Android(* .so)建立共享库吗? - Can I build a shared library for Android (*.so) in Embarcadero C++Builder? 使用几张jpg图片时,c++builder android找不到资源 - Resource not found with c++builder android when using several jpg pictures C ++ BUILDER OnVirtualKeyboardShown和OnVirtualKeyboardHidden从另一种形式触发 - C++BUILDER OnVirtualKeyboardShown and OnVirtualKeyboardHidden firing from another form 如何设置TMemo高度以填充Delphi firemonkey中的文本内容 - How to set the TMemo height to fill text content in Delphi firemonkey Android如何通过Intent显示/加载服务器文本文件 - Android how to display/load server text file through intent
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM