お世話になります。
昨日Lazarusをダウンロードして、使おうとしています。(Delphiは多少知っています)
プログラムを作り始めたんですが、コンパイルすると'System.Typesが見つかりません'と表示されます。
ダウンロードしてインストール後、作成するプログラムのフォルダを変更しのが原因でしょうか?
uses system.types;
ではなく、
uses types;
にしても、駄目ですか?
mamさん、ありがとうございます。
typesでコンパイルできましたが、IOUtilsを追加するとまたエラーになります。
(System.IOUtilsでもダメです)
次の頁を参考に、まずファイル一覧を取得しようとしています。
https://www.gesource.jp/weblog/?p=5959
LazarusにはTDirectoryクラスは無いのではないでしょうか。
FindFirstを使うのは如何でしょうか。
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
var
Path: string;
SearchPattern: string;
f:TSearchRec;
ret:Integer;
begin
// ファイルを列挙したいディレクトリのパス
Path:=Edit1.Text;
// ファイル名に一致する検索パターン
SearchPattern := '*.txt';
ret:=FindFirst(Path+'\'+SearchPattern,0,f);
while(ret=0)do
begin
ListBox1.Items.Add(f.Name);
ret:=FindNext(f);
end;
FindClose(f);
end;
end.
mamさん、ありがとうございます。
コンパイルできるようになりました。
Delphiと100%互換性があるかと思ったんですけど、そうではなかったんですね。
でも新しいプログラムを作るんでかまわないですけど
Delphi XE で新規にプロジェクトを作成して,山本さんのコードをコンパイルすると
以下のエラーが発生します.Lazarus と時と同じでしょう.
[DCC 致命的エラー] Unit1.pas(23): F1026 ファイル 'System.IOUtils.dcu' が見つかりません
これが,,
> Delphiと100%互換性があるかと思ったんですけど、そうではなかったんですね。
という意味であれば,
Delph 7 と Delphi 2007 は 100% の互換性はありません.
Delphi 2007 と Delphi 2009 とは 100%の互換性はありません.
Delphi 2009 と Delphi XE とは 100% の互換性はありません.
Delphi XE と Delph XE2 は 100% の互換性はありません
ということになりますね.😁
言語仕様は互換がありますが、ライブラリまでは難しそうですね。
LazarusはRaspberry Piでもコンパイル出来て動作するので良いですよね。
https://mam-mam.net/mytech/show.php?cd=344
Mr.XRAYさんありがとうございます。
Mr.XRAYさんのサイトにはいつもお世話になっています。
>Delph 7 と Delphi 2007 は 100% の互換性はありません.
確かにそうですよね。
mamさんありがとうございます。
Raspberry Pi、昔買って少しいじっただけでホコリを被ったままになっています。
また挑戦してみようかな。
ツイート | ![]() |