はじめまして。Win-XP + Delphi6(パーソナル/DLによるもの)でDelphiを始めました。 VB6から移植をはじめましたがつまづいていますので教えてください。
DelphiのHELPで調べながら2つの時点の時間差(時分秒)を取得しようとHourSpan関数を使ったところ’未定義の識別子’のエラーが出てコンパイルできません。具体的なコードは
Procedure TForm1.Button1Click(Sender: TObject);
Var
T1,T2:TDateTime;
TDiff:Double;
Begin
T1:= StrToDateTime('2006/05/02 15:20:25');
T2:= StrToDateTime('2006/05/03 12:12:13');
TDiff:= HourSpan(T1 , T2);
Edit1.Text:= FloatToStr(TDiff);
End;
のようにしていますが、これだと’未定義の識別子’と怒られます。外国のサンプルなどでもほとんど同じ使い方が出ていましたがなぜでしょうか?
(またLeftStr関数などでも同じエラーが出ましたが、これはCopyなどの関数で処理できました。)
大変基本的なことで申し訳ありませんが原因、対処法などにつき教えてください。
HourSpan関数はDateUtilsユニットの関数ですが、uses節にDateUtilsユニットを記述しているのでしょうか?
早速ありがとうございます。uses節にDataUtilsを加えて動かしてみましたら「致命的エラー ファイル’DataUtils.dcu’が見つかりません、と出ました。初歩的なもので申し訳ありませんがよろしくお願いします。
DateUtilsですが・・・
かみづ様、スミマセン。 DateUtilsのスペルミスでした。おかげで見事通りました。
Uses節というものは状況により自動的に加わるのではないかと思っていましたが必要により書き加える必要があるということがわかりました。
(ついでに申し訳ありませんが「LeftStr」が何故引っかかるのか教えてください)
LeftStrはStrUtilsユニットの関数です。
かみづ様、よくわかりありがとうございました。今後ともよろしくお願いします。
名前を半角カタカナにしたら文字化けしました。申し訳ありません。
コンポーネントをGUIで配置すると、usesには自動で追加されるんですが、関数はそうはならないんですよね。
それくらい自動化してほしいですよね。
Fusa様。 Delphiを始めて2週間程度ですがテキスト読み込み速度が大幅に向上しているなどDelphiの機能面の良さを実感しますが仰る通り開発するにはHELPやエディターに工夫が感じられないのが実感です。ルールブックが示されないでただ怒られて拒絶されてしまうのに堪えるには忍耐が必要ですね? 一寸した工夫で入口はかなり拡がるのではないかと思いました。でも機能面の魅力があり、開発スキルも何とかなるかもしれないと可能性が見えてきましたのでモノにしたいと思いました。以後宜しくご教示ください。
エラーになる関数にカーソルを置いて、F1を押すとヘルプになります。
そのヘルプのユニットがUSESに無ければ追加しましょう。
HOta様、一つ覚えました。現在少しのヒントでも助かります。ありがとうございました。VBからの移植は想像以上に進んでいる最中です。
ツイート | ![]() |