掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VBのFor Each 文の処理 (ID:1973)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
いつも楽しくHPを拝見しております。 早速質問させてください。 現在、DelphiにてSolidWorks(3DCAD)のカスタマイズを SolidWorksのAPI関数を利用して作成しているのですが、 API関数の使用例がVB形式で記述されています。 その、使用例の中にFor Each 文を使用してオブジェクトを 処理する方法が記載されていました。 Delphiには、For Each文はありませんので、下記VBと同様の 処理をする方法を探しております。 Dim swApp As Object Dim Part As Object Dim SketchObj As Object Dim SketchSegObj As Variant Dim Count As Integer Sub main() Set swApp = CreateObject("SldWorks.Application") Set Part = swApp.ActiveDoc Set SketchObj = Part.GetActiveSketch2 For Each SketchSegObj In SketchObj.GetSketchSegments() //↑この部分 If SketchSegObj.gettype = swSketchLINE Then If Not SketchSegObj.ConstructionGeometry Then SketchSegObj.select2 True, 0 Count = Count + 1 If Count = 2 Then MsgBox "Fillet" SketchSegObj.select2 False, 0 Count = 1 End If End If End If Next End Sub 上記した部分にFor Each文を用いて、SketchObj内(キャンパス のようなものです。)の各オブジェクト(線、円、点等の描画 要素)を取得し、その取得した各オブジェクトに対し処理を実施 しています。Delphiにて上記したFor Each文と同様の処理をし、 各オブジェクトを取得したいのです。どうか、よろしくお願い いたします。 尚、いろいろ調べてみて IEnumVariantを使用すればできるのでは ないかと思うのですが、使用方法がよくかからないので試して いません。すみませんが、よろしくお願いいたします。 説明不足の点がありましたら、追加説明いたしますので、お願い いたします。 アスカ 環境 Athlon 1.54GHz Memory 512Mbyte OS WindowsXp pro,2000pro Language Delphi 6 Enterprise SolidWorks 2001Plus SP3
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.