私は現在、単位ライブラリをパスカルで作っています。型付きファイルに参照カウント型を割り当てることができなかったので、Ansistringまたは{$ H +}を使わずに非常に長い文字列を割り当てることができるかどうかを知りたいと思います。前にありがとう。
編集:コードはパスカル:参照カウントなしの非常に長い文字列を書く(例:ansistring)
type
dataFilm = record
title : array [1..255] of char;
genre : array [1..255] of char;
viewerRating : array [1..255] of char;
duration : integer;
synopsis : array [1..2000] of char;
priceWeekdays : longint;
priceWeekend : longint;
end;
theatreUDT = record
mainDataFilm : array [0..100] of dataFilm;
end;
ftheatreUDT = record
fmainDataFilm : file of dataFilm; //It fails here when i use ansistring
end;
procedure loadMain(var main : theatreUDT; var fmain:ftheatreUDT);
begin
assign(fmain.fmainDataFilm,'Data/dataFilm.dat');
reset(fmain.fmainDataFilm);
end;
を追加したプログラムは全く問題がなく、唯一、それは概要のために非常に長い文字列を保持することはできません。
私はSetLengthが私のために働いているとは思わない、ファイルをプリントアウトしようとするとどこかで切り取られたからだ。 –
レガシーI/Oを使用しないようにして、問題が解消されることがあると思います。 1980年代を後にしておくべき時です。 –
@DavidHeffernan申し訳ありませんが、私はパスカルについてはあまりよく分かりません。 .dat I/Oをパスカルで作成する割り当てが与えられましたが、ファイルの1つに非常に長い文字列があります。型付けされたファイルには、Ansistringのような参照カウント型を割り当てることができなかったので、私はそれをやりなおすことができませんでした。 –