0

メモに入力された動的ゲートウェイ IP をテキスト ボックスにキャプチャしたいと考えています。ワイルドカードを使用するか、「Gateway: 10.127.*.*」で始まるゲートウェイの行全体をキャプチャして、ゲートウェイ IP をテキスト ボックスに取得するにはどうすればよいですか。

既にキャプチャされたメモ テキストの例を次に示します。

Description: Microsoft Hosted Network Virtual Adapter
HW Address Length: 6
HWAddress: E0:2A:82:F9:B2:3E
Index: 32
Type: 71
CurrentIPAddress: 
IP Addresses:    192.168.48.1/255.255.255.0
Gateway:    0.0.0.0/255.255.255.255
Name: {22712B8F-5E3A-48D4-8C0D-771708BF0305}
Description: HUAWEI Mobile Connect - Network Card
HW Address Length: 6
HWAddress: 0C:5B:8F:27:9A:64
Index: 4
Type: 243
CurrentIPAddress: 
IP Addresses:    10.127.144.193/255.255.255.252
Gateway:    10.127.144.194/255.255.255.255

編集:(コメントから)

I:= Pos('Gateway: 10.127.', Memo1.Text);
if I > 0 then begin
   L := SendMessage(Memo1.Handle, EM_LINEFROMCHAR,   (intTostr(1));
   edit1.Text:=(intTostr(L)); 
4

2 に答える 2

1

これを実現する最も簡単な方法は、メモの行を反復処理して、「Gateway: 10.127.」で始まるかどうかを確認することです。

例えば:

for LString in memo.Lines do
  if AnsiStartsText('Gateway:    10.127.', LString) then
    textbox.Caption := LString

より具体的な処理のために正規表現を使用することもできます。

于 2016-08-23T12:35:25.063 に答える