HourSpanなどの’未定義の識別子’エラー

解決


サンデープログラマー  2006-05-03 12:40:27  No: 21305  IP: 192.*.*.*

はじめまして。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などの関数で処理できました。)

大変基本的なことで申し訳ありませんが原因、対処法などにつき教えてください。

編集 削除
かみづ  2006-05-03 13:28:49  No: 21306  IP: 192.*.*.*

HourSpan関数はDateUtilsユニットの関数ですが、uses節にDateUtilsユニットを記述しているのでしょうか?

編集 削除
サンデープログラマー  2006-05-03 15:06:51  No: 21307  IP: 192.*.*.*

早速ありがとうございます。uses節にDataUtilsを加えて動かしてみましたら「致命的エラー  ファイル’DataUtils.dcu’が見つかりません、と出ました。初歩的なもので申し訳ありませんがよろしくお願いします。

編集 削除
かみづ  2006-05-03 15:14:51  No: 21308  IP: 192.*.*.*

DateUtilsですが・・・

編集 削除
サンデープログラマー  2006-05-03 15:18:13  No: 21309  IP: 192.*.*.*

かみづ様、スミマセン。  DateUtilsのスペルミスでした。おかげで見事通りました。  

Uses節というものは状況により自動的に加わるのではないかと思っていましたが必要により書き加える必要があるということがわかりました。

(ついでに申し訳ありませんが「LeftStr」が何故引っかかるのか教えてください)

編集 削除
かみづ  2006-05-03 15:32:22  No: 21310  IP: 192.*.*.*

LeftStrはStrUtilsユニットの関数です。

編集 削除
旨筑位炳五從ー  2006-05-03 15:44:33  No: 21311  IP: 192.*.*.*

かみづ様、よくわかりありがとうございました。今後ともよろしくお願いします。

編集 削除
サンデープログラマー  2006-05-03 15:46:47  No: 21312  IP: 192.*.*.*

名前を半角カタカナにしたら文字化けしました。申し訳ありません。

編集 削除
Fusa  2006-05-03 22:52:03  No: 21313  IP: 192.*.*.*

コンポーネントをGUIで配置すると、usesには自動で追加されるんですが、関数はそうはならないんですよね。

それくらい自動化してほしいですよね。

編集 削除
サンデープログラマー  2006-05-04 10:54:57  No: 21314  IP: 192.*.*.*

Fusa様。  Delphiを始めて2週間程度ですがテキスト読み込み速度が大幅に向上しているなどDelphiの機能面の良さを実感しますが仰る通り開発するにはHELPやエディターに工夫が感じられないのが実感です。ルールブックが示されないでただ怒られて拒絶されてしまうのに堪えるには忍耐が必要ですね?  一寸した工夫で入口はかなり拡がるのではないかと思いました。でも機能面の魅力があり、開発スキルも何とかなるかもしれないと可能性が見えてきましたのでモノにしたいと思いました。以後宜しくご教示ください。

編集 削除
HOta  2006-05-04 16:11:27  No: 21315  IP: 192.*.*.*

エラーになる関数にカーソルを置いて、F1を押すとヘルプになります。
そのヘルプのユニットがUSESに無ければ追加しましょう。

編集 削除
サンデープログラマー  2006-05-04 18:10:17  No: 21316  IP: 192.*.*.*

HOta様、一つ覚えました。現在少しのヒントでも助かります。ありがとうございました。VBからの移植は想像以上に進んでいる最中です。

編集 削除