お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"ダイヤルのプロパティ表示・取得(TAPI)"



みなさん、今日は。

TAPIを使用した、モデムの「ダイヤルのプロパティ」ダイアログ表示・取得です。


このサンプルには、Tapi.pas(Tapi2.0対応版)が必要です。
(Delphi Super Pageのd_tapi.zipにあるTapi.pasでテストしました)
本来ラインのコントロールには、ラインアプリケーションハンドルが必要ですが、
このサンプルは無視しています。
新規のフォームに、ボタン2個とメモコンポーネントを配置します。
UsesにTapi.pasを追加します。

//                                      ダイヤルのプロパティ表示
procedure TForm1.Button1Click(Sender: TObject);
begin
  lineTranslateDialog(0, 0, $00020000, Handle, '');
end;

//                                      ダイヤルのプロパティ取得
procedure TForm1.Button2Click(Sender: TObject);
var
  LineTranslateCaps: LPLineTranslateCaps;
  LineLocationEntry: LPLineLocationEntry;
  NeededSize, i: DWORD;
begin
  LineTranslateCaps := nil;
  NeededSize := SizeOf(TLineTranslateCaps);
  try
//                                           所在地情報の取得
    while True do
    begin
      ReAllocMem(LineTranslateCaps, NeededSize);
      LineTranslateCaps^.dwTotalSize := NeededSize;
      lineGetTranslateCaps(0, $00020000, LineTranslateCaps^);
      NeededSize := LineTranslateCaps^.dwNeededSize;
      if NeededSize <= LineTranslateCaps^.dwTotalSize then
        break;
    end;
    LineLocationEntry := LPLineLocationEntry(LineTranslateCaps);
    Inc(PChar(LineLocationEntry), 
        LineTranslateCaps^.dwLocationListOffset);

//                                           所在地の一覧(抜粋)
    with Memo1.Lines do
    begin
      Clear;
      for i:=1 to LineTranslateCaps^.dwNumLocations do
      begin
        Add(PChar(LineTranslateCaps) + 
            LineLocationEntry^.dwLocationNameOffset);
        Add(IntToStr(LineLocationEntry^.dwCountryCode));
        Add(PChar(LineTranslateCaps) + 
            LineLocationEntry^.dwCityCodeOffset);
        Inc(PChar(LineLocationEntry), SizeOf(TLineLocationEntry));
      end;
    end;
  finally
    FreeMem(LineTranslateCaps);
  end;
end;

                             ヨッシー  NAH03473

Original document by ヨッシー        氏 ID:(NAH03473)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum