下面是我正在處理的文件預覽系統項目的一個示例。主窗體上有兩個ListBox。第一個[lst_fileList]顯示目錄[files]中所有「.txt」文件的列表,每個文件都標有[order ###。txt],其中###是1到999之間的任意數字。運行該過程,它會在列表框中找到所選項(.txt文件),然後在第二個ListBox [lst_filePreview]中顯示文件內的每一行。德爾福錯誤:得到「無類型」,預計「AnsiString」
儘管在我運行它時,在ReadLn(selectedFile)的第21行發生了一個錯誤。錯誤狀態(不兼容類型:有「無類型」,預計爲「AnsiString」)。
我已經看了幾個小時現在這個錯誤,無濟於事...任何幫助將不勝感激,謝謝。
procedure TForm1.btn_getPreviewClick(Sender: TObject);
var
checkSelect:integer;
orderSelect:string;
i:integer;
selectedFile:textFile;
begin
if lst_fileList.SelCount > 0 then
begin
for checkSelect:= 0 to (lst_fileList.Items.Count - 1) do
if lst_fileList.Selected [checkSelect] then
begin
orderSelect:=lst_fileList.Items[checkSelect];
orderSelect:=RightStr(orderSelect,3);
if fileexists('files\order'+orderSelect+'.txt') then
begin
assignFile(selectedFile,'files\order'+orderSelect+'.txt');
reset(selectedFile);
while not EOF(selectedFile) do
begin
lst_filePreview.Items.Add(readLn(selectedFile)); // Error occurs here: //
end;
closeFile(selectedFile);
end;
end;
end else
ShowMessage('Please select an item first!');
end;
在我看到的問題,它被聲明爲 「文本文件」。 – 2014-10-12 14:14:20