-1

Delphi XE2 を使用して Windows のバージョン情報を表示するには? 「Uses」に「System.SysUtils」を追加し、次のコードを記述しました。

Edit1.Text :=TOSVersion.ToString;
Edit2.Text :=TOSVersion.Name;

上記のコードは正常にコンパイルされます。ただし、次のコードはコンパイルされません。

Edit3.Text :=TOSVersion.Build;
Edit4.Text :=TOSVersion.Major;
Edit5.Text :=TOSVersion.Minor;
Edit6.Text :=TOSVersion.ServicePackMajor;
Edit7.Text :=TOSVersion.ServicePackMinor;
Edit8.Text :=TOSVersion.TArchitecture;
Edit9.Text :=TOSVersion.Platform;

私の要件は、Windows のネイティブ情報のみを表示することです。フォーマットは必要ありません。

4

1 に答える 1

4

コンパイルされていないフィールドはすべて整数/列挙型ですが、文字列ベースのプロパティにそのまま割り当てようとしています。それらを文字列にフォーマットする必要があります。

const
  ArchitectureStr: array[TOSVersion.TArchitecture] of string = ('Intel X86', 'Intel X64');
  PlatformStr: array[TOSVersion.TPlatform] of string = ('Windows', 'MacOS');

...

Edit3.Text := IntToStr(TOSVersion.Build);
Edit4.Text := IntToStr(TOSVersion.Major);
Edit5.Text := IntToStr(TOSVersion.Minor);
Edit6.Text := IntToStr(TOSVersion.ServicePackMajor);
Edit7.Text := IntToStr(TOSVersion.ServicePackMinor);
Edit8.Text := ArchitectureStr[TOSVersion.Architecture];
Edit9.Text := PlatformStr[TOSVersion.Platform];
于 2013-03-18T19:43:20.907 に答える