diff --git a/Build/4DPop Macros.4dbase.zip b/Build/4DPop Macros.4dbase.zip index c4f23a0..c90016c 100644 Binary files a/Build/4DPop Macros.4dbase.zip and b/Build/4DPop Macros.4dbase.zip differ diff --git a/Build/Components/4DPop Macros.4dbase/4DPop Macros.4DZ b/Build/Components/4DPop Macros.4dbase/4DPop Macros.4DZ index c0c5307..4a5a401 100755 Binary files a/Build/Components/4DPop Macros.4dbase/4DPop Macros.4DZ and b/Build/Components/4DPop Macros.4dbase/4DPop Macros.4DZ differ diff --git a/Build/Components/4DPop Macros.4dbase/Info.plist b/Build/Components/4DPop Macros.4dbase/Info.plist index 79395d4..5df3ea9 100755 --- a/Build/Components/4DPop Macros.4dbase/Info.plist +++ b/Build/Components/4DPop Macros.4dbase/Info.plist @@ -6,13 +6,13 @@ CFBundleName 4DPop Macros CFBundleVersion - 264 + 269 NSHumanReadableCopyright ©vdl 2009-2023 CFBundleGetInfoString 20R4 CFBundleLongVersionString - 20R4 (263) + 20R4 (268) CFBundleShortVersionString 20R4 CFBundleDisplayName diff --git a/Build/Components/4DPop Macros.4dbase/Libraries/lib4d-arm64.dylib b/Build/Components/4DPop Macros.4dbase/Libraries/lib4d-arm64.dylib index 34f6d61..c282c58 100644 Binary files a/Build/Components/4DPop Macros.4dbase/Libraries/lib4d-arm64.dylib and b/Build/Components/4DPop Macros.4dbase/Libraries/lib4d-arm64.dylib differ diff --git a/Build/Components/4DPop Macros.4dbase/Macros v2/4DPop_Macros.xml b/Build/Components/4DPop Macros.4dbase/Macros v2/4DPop_Macros.xml index f57a963..337f427 100755 --- a/Build/Components/4DPop Macros.4dbase/Macros v2/4DPop_Macros.xml +++ b/Build/Components/4DPop Macros.4dbase/Macros v2/4DPop_Macros.xml @@ -2,7 +2,7 @@ @@ -118,18 +118,18 @@ Maquereau 4D : - - 4DPop_MACROS("duplicateAndComment") + 4DPop_MACROS("comment") - - 4DPop_MACROS("commentBlock") + 4DPop_MACROS("duplicateAndComment") diff --git a/Build/Components/4DPop Macros.4dbase/Resources/4DPop_Macros.xml b/Build/Components/4DPop Macros.4dbase/Resources/4DPop_Macros.xml index f57a963..337f427 100755 --- a/Build/Components/4DPop Macros.4dbase/Resources/4DPop_Macros.xml +++ b/Build/Components/4DPop Macros.4dbase/Resources/4DPop_Macros.xml @@ -2,7 +2,7 @@ @@ -118,18 +118,18 @@ Maquereau 4D : - - 4DPop_MACROS("duplicateAndComment") + 4DPop_MACROS("comment") - - 4DPop_MACROS("commentBlock") + 4DPop_MACROS("duplicateAndComment") diff --git a/Build/Components/4DPop Macros.4dbase/Resources/InfoPlist.strings b/Build/Components/4DPop Macros.4dbase/Resources/InfoPlist.strings index bb7597e..c092aa3 100755 Binary files a/Build/Components/4DPop Macros.4dbase/Resources/InfoPlist.strings and b/Build/Components/4DPop Macros.4dbase/Resources/InfoPlist.strings differ diff --git a/Build/Components/4DPop Macros.4dbase/Resources/_ja.lproj/4DPop Macros.xlf b/Build/Components/4DPop Macros.4dbase/Resources/_ja.lproj/4DPop Macros.xlf deleted file mode 100644 index 4ebe5b7..0000000 --- a/Build/Components/4DPop Macros.4dbase/Resources/_ja.lproj/4DPop Macros.xlf +++ /dev/null @@ -1 +0,0 @@ -
2.0
Alpha 文字列 Text テキスト Real 実数 Integer 整数 Long Integer 倍長整数 Date 日付 Time 時間 Boolean ブール Picture ピクチャー Graph グラフ BLOB BLOB Float フロート Pointer ポインター Variables 変数 Array 配列 Method syntax メソッドシンタックス A line for each variable 各変数につき1行 Options オブション Back 戻る If this option is checked, a line of declaration will be created for each variable. このオプションがチェックされている場合、それぞれの変数に対して宣言行が1行作成されます。 This option allows, for the project methods receiving one or more parameters and/or returning a value, to insert after the lines of declarations the directives of compilation. このオプションを使用すると、一つ以上の引数を受け取る、あるいは値を返すプロジェクトメソッドに対して、宣言行の後にコンパイルの指示子を挿入することができます。 Type Pattern パターン RULES OF SYNTAX シンタックスルール VARIABLES LIST 変数リスト Number of variables per declaration line: 宣言行あたりの変数の数 : Ignore compiler directives コンパイラ指示子を無視する The variables declared but not used will be removed. 宣言されたものの使用されていない変数は削除されます。 The name of a local variable always starts with a dollar sign ($) and can contain up to 31 additional characters alphanumeric. ローカル変数の名前は必ず先頭がドル記号($)で、そのあと最大で31文字の文字や数字を使用することができます。 This variable is already used in this method. Would you like to continue? この変数は既にこのメソッド内で使用されています。 続けますか? Remove unnecessary blank lines 不要な空白行を削除する Multiple empty lines will be replaced by one. Empty lines at the end of the method will be ignored. 複数の空白行は単一の空白行に置き換えられます。メソッドの終わりにある空白行は無視されます。 Replace obsolete types 廃止予定の型を置き換える Uses C_TEXT & TEXT ARRAY instead of C_ALPHA & ARRAY STRING. Use C_LONGINT isntead of C_INTEGER. C_ALPHAの代わりにC_TEXT および TEXT ARRAYを、C_INTEGERの代わりにC_LONGINTを使用します。 Object オブジェクト Update the method's comment メソッドのコメント更新 The description of the syntax will be added at the beginning of the comment and will be used, by 4D, for the tooltip in the code editor. シンタックスの詳細がコメントの最初に追加され、コードエディターないでツールTipとして4Dによって使用されます。 Collection コレクション Variant バリアント Escape エスケープ OK OK Paste ペースト If If Else Else End if End if Case of Case of End case End case While While End while End while For For End for End for Repeat Repeat Until Until Form Method: フォームメソッド: Trigger: トリガ: Form: フォーム: Method: メソッド: Object Method: オブジェクトメソッド: Insert 挿入 Comments コメント Delete indentation インデントを削除 Ignore blank lines 空白行を無視 POSIX POSIX Relative 相対的 Special Paste 特殊貼り付け String 文字列 HTML Code HTMLコード Pattern Regex パス名 Insert in text テキストに挿入 JSON code JSON コード Tokenized トークン化 Pathname パス名 HTML expression HTML表現 To UTF-8 UTF-8へ Text From UTF8 UTF8のテキスト A localized version of the macros file "4DPop" has been successfully installed. The localized macros will be available next time you start the application. 翻訳されたバージョンのマクロファイル"4DPop"が正常にインストールされました。 次回アプリケーション起動後、翻訳されたマクロが使用可能になります。 To try a new macro: create a method called exactly "4DPop_TEST_Macros" and don't forget to share this method. Your code will be executed instead of this alert. It's the best way to begin with macros without opening an XML editor ;-) 新しいマクロを試すには: "4DPop_TEST_Macros" という名前のメソッドを作成します。必ず共有するようにしてください。 このアラートの代わりに、書いたコードが実行されます。 XML エディターを開くことなくマクロを始めるための最適な方法と言えるでしょう。 //Test method for macros //This method will be called when you choose the "Macro test" macro //マクロのテストメソッド //このメソッドは"Macro test" マクロを選択した際に呼び出されます。 Would you want to create this method now? このメソッドを今作成しますか? //In $Txt_method, the full method content //$Txt_method内にはメソッドの完全なコンテンツ //In $Txt_highlighted, the highlighted text of the method if any //$Txt_highlightedにはメソッドでハイライトされた行があればそれが入ります。 Published in WSDL WSDLで公開済み Available through 4D HTML tags and URLs 4D タグとURL経由で利用可能 Shared by components and host database コンポーネントとホストデータベース間で共有 Invisible 非表示 Available through SQL SQL経由で利用可能 Execute on Server サーバー上で実行 Offered as a Web Service Webサービスとして提供 Method name: メソッド名: Method {count} メソッド {count} There is already a method with that name. すにこの名前のメソッドがあります。 Remove empty lines at the begin of method メソッドの最初の空白行を削除する Remove empty lines at the end of method メソッドの最後の空白行を削除する Line break before branching structures 構造のブランチの前に改行する Line break before and after sequential structures included シーケンシャルな構造が含まれる前後に改行する Separation lines for Case of Case of の行の分離 Line break before looping structures ループ構造の前に改行する Put a key / value per line for commands with key / value pairs キー/ペア値を使用するコマンドに対してキー/ペア値を各行に置く Add the increment for the loops ループにインクリメントを追加 Grouping closure instructions グルーピングを閉じる指示 Remove consecutive blank lines 連続した空白行を削除 A line of comments must be preceded by a line break コメントの前に改行を必ず入れる Split test lines with "&" and "|" "&" と "|"でテスト行を分割 Replace comparisons to an empty string by length test 空の文字列への比較を、長さのテストで置き換える Replace "If(test) var:=x Else var:=y End if" by "var:=Choose(test;x;y)" "If(test) var:=x Else var:=y End if" を "var:=Choose(test;x;y)"に置き換える Replace deprecated command 廃止予定のコマンドを置き換える 4DPop Macros Settings 4DPop Macros 設定
\ No newline at end of file diff --git a/Build/Components/4DPop Macros.4dbase/Resources/_ja.lproj/Common.xlf b/Build/Components/4DPop Macros.4dbase/Resources/_ja.lproj/Common.xlf deleted file mode 100644 index f4c1542..0000000 --- a/Build/Components/4DPop Macros.4dbase/Resources/_ja.lproj/Common.xlf +++ /dev/null @@ -1,1109 +0,0 @@ - - - - - - -
- - 2.0 - - -
- - - - File - ファイル - - - Edit - 編集 - - - Mode - モード - - - - - Size - サイズ - - - Style - スタイル - - - Underline - 下線 - - - Italic - イタリック - - - Bold - 太字 - - - - - Undo - 取り消し - - - Cut - カット - - - Copy - コピー - - - Paste - ペースト - - - Clear - クリア - - - Select All - すべてを選択 - - - Show Clipboard - クリップボード表示 - - - Design - デザイン - - - Quit - 終了 - - - - - OK - OK - - - Cancel - キャンセル - - - Retry - 再試行 - - - Quit - 終了 - - - Add - 追加 - - - Delete - 削除 - - - Edit - 編集 - - - Done - 終了 - - - Apply - 適用 - - - Load... - 読み込み... - - - Save... - 保存... - - - Order by - 並び替え - - - Use - 使用 - - - < Back - < 戻る - - - Next > - 次へ > - - - Create - 作成 - - - Export... - 書き出し... - - - Preview - プレビュー - - - Remove - 削除 - - - Open - 開く - - - Close - 閉じる - - - Expand all - すべてを拡げる - - - Collapse all - すべて折りたたむ - - - Duplicate - 複製 - - - Rename - 名前を変更 - - - Refresh - 再読み込み - - - - - "{file}" in volume "{volume}" - ボリューム "{volume}" の中の "{file}" - - - Show on disk - ディスク上に表示 - - - Groups - グループ - - - Users - ユーザー - - - Local variables - ローカル変数 - - - - - Form Method: - フォームメソッド: - - - Trigger: - トリガ: - - - Form: - フォーム: - - - Subtable: - サブテーブル: - - - Method: - メソッド: - - - Object Method: - オブジェクトメソッド: - - - - - That value is not allowed. - その値は許可されていません。 - - - The number must not be greater than ^. - 数値は ^ を超えてはいけません。 - - - The number must not be less than ^. - 数値は ^ を下回ってはいけません。 - - - - - Error # - エラー # - - - The disk file directory is full. - ディスク ファイル ディレクトリに空きがありません。 - - - You cannot write on this volume. -Make sure that it is not full, that it is not read only and that you have the necessary privileges. - このボリュームには書き込めません。 -ディスクに空きがあるか、書き込み禁止になっていないか、アクセス権があるかどうか確認してください。 - - - Input/output error. - 入出力エラー。 - - - The file name is invalid. - ファイル名が不適切です。 - - - An attempt has been made to read or write beyond the end of a file. - ファイルの終端を超えて読み出しまたは書き込みが行われようとしました。 - - - An attempt has been made to read or write before the beginning of a file. - ファイルの最初より手前で読み出しまたは書き込みが行われようとしました。 - - - Too many files open. - ファイルの開き過ぎです。 - - - File not found. - ファイルが見つかりません。 - - - The disk is locked. - ディスクがロックされています。 - - - The file is locked or the pathname is not correct. - ファイルがロックされているか、パス名が正しくありません。 - - - The file is already open, or the folder is full. - ファイルはすでに開かれているかフォルダーが一杯です。 - - - The file already exists. - そのファイルはすでに存在しています。 - - - An attempt has been made to save non-unique data to a table that has a unique field. - 重複不可属性のフィールドがあるテーブルに重複したデータを保存しようとしました。 - - - No more room to save the record. - レコードを保存する容量がありません。 - - - The maximum number of records has been reached. - レコードの最大数に達しました。 - - - The method stack is full. - メソッドスタックに空きがありません。 - - - The demonstration version limit has been reached. - デモ版の制限事項に達しました。 - - - User interruption. - ユーザーによる割り込み。 - - - Problem saving print file. - 印刷ファイル保存中に障害が起きました。 - - - Unimplemented control instruction. - 実装されていない制御命令です。 - - - An input/output error has occurred. - 入出力エラーが生じました。 - - - Not enough space in memory. - メモリに十分な空きがありません。 - - - Printing process aborted by user. - ユーザーにより印刷処理が中断されました。 - - - Connection just closed. - 接続が閉じられました。 - - - Printer closed or not found. - プリンターが閉じられているか、または見つかりません。 - - - No LaserWriter chosen. - LaserWriter が選択されていません。 - - - Printer initialized with a different driver. - プリンターが異なるドライバーで初期化されています。 - - - Menu bars existing or more than one file. - メニューバーが存在している、もしくはファイルが1つ以上あります。 - - - Passwords existing. - パスワードが存在しています。 - - - Privilege Error. - アクセス権エラー。 - - - Timeout Error. - タイムアウトエラー。 - - - Invalid Structure. - 不適切なストラクチャーです。 - - - Invalid Data address. - 不適切なデータアドレスです。 - - - Invalid Index Structure. - 不適切なインデックス構造です。 - - - Invalid Record Structure. - 不適切なレコード構造です。 - - - Record # is out of range. - レコード番号が範囲外です - - - Index Block # is out of range. - インデックスブロック番号が範囲外です。 - - - Other records are linked to that one. - 他のレコードをリレートしています。 - - - Loop in referential integrity. - 参照関係がループしています。 - - - Duplicate key during a transaction. - トランザクション中のキー重複です。 - - - The same plug-in has been installed twice. - 同じプラグインが2回インストールされました。 - - - This named selection does not exist. - この命名セレクションは存在しません。 - - - This command could not be executed because the database is being backed up. - データベースのバックアップ中のため、このコマンドは実行されませんでした。 - - - The process could not be started. - プロセスを開始できませんでした。 - - - The version number of 4D Server is incompatible with the version number of 4D Client. - 4D Serverと4Dクライアントのバージョンが一致していません。 - - - Missing the hardware to do this. - 処理を行うのに必要なハードウェアがありません。 - - - Inadequate hardware to do this. - 処理を行うのに適切なハードウェアではありません。 - - - No such volume - そのようなボリュームはありません。 - - - File not open - ファイルが開いていません。 - - - File not open anymore. - ファイルはもう開いていません。 - - - Permissions error. Attempt to open locked file for writing. - アクセス権エラー。ロックされたファイルを開こうとしました。 - - - Folder not found - フォルダーが見つかりません。 - - - File server has been disconnected. - ファイルサーバーとつながっていません。 - - - Quicktime is not installed. - QuickTime(tm) がインストールされていません。 - - - Data segment # is invalid. - データセグメント番号が不適切です。 - - - License or privilege error - ライセンスまたはアクセス権エラー。 - - - A modal window is active. - モーダルウィンドウがアクティブです。 - - - The current record has been changed from the trigger. - カレントレコードがトリガーによって変更されました。 - - - The plug-in requires a serial number. - プラグインの利用には、シリアル番号が必要です。 - - - The plug-in requires an expansion number. - プラグインの利用には、エクスパンション番号が必要です。 - - - This serial number has already been entered. Please enter a new number. - このシリアル番号は既に入力されています。新しい番号を入力してください。 - - - You have just launched a demo version of 4D. - 4Dのデモ版を起動しました。 - - - This plug-in version is too old. Please use a 6.7 version or higher. - このプラグインのバージョンが古すぎます。バージョン6.7かそれ以降をお使いください。 - - - 4D requires the CarbonLib 1.4 extension or above. - 4DはCarbonLib 1.4以上を必要とします。 - - - Please activate or install this system extension and restart your machine. - この機能拡張をインストールまたは有効にして、マシンを再起動してください。 - - - The database cannot be published. - データベースを公開することができません。 - - - The ‚Äúroot‚Äù access privilege is required for this port number to start the Web server. - Webサーバを開始するためにこのポート番号を使用するには、"root"アクセス権限が必要です。 - - - The database cannot be published in secured mode. - データベースを保護モードで公開することができません。 - - - The ‚Äúroot‚Äù access privilege is required for this port number to start the Web server in secured mode. - 保護モードでWebサーバーを開始するためにこのポート番号を使用するには、"root"アクセス権限が必要です。 - - - Your serial number is already used on another computer and the maximum number of licenses has been reached. This product will now run in Demonstration mode. - このSerial番号は既に他のコンピューターで使われており、使用可能なライセンスの最大数に達しています。この製品はデモモードで実行されます。 - - - Not enough privileges to start the web server on port # ! -To gain privileges you must be authenticated as Administrator of this machine and restart the application for the changes to take effect. -Do you want to change the privileges now? - ポート#を使用してWebサーバーを開始するために必要な権限がありません。 -権限を取得するには、このマシンの管理者としてログインし直してアプリケーションを再起動する必要があります。 -今権限を変更しますか? - - - Authorization passed. Please restart the application for the changes to take effect. - 認証に成功しました。変更を有効にするためにアプリケーションを再起動してください。 - - - Error. -Privilieges have not been changed. PLease refer to the documentation to look for possible causes. - エラー: -権限が変更されていません。原因を調べるにはドキュメントを参照してください。 - - - Error. -You do not have enough privileges to start the web server! -Change the Application preferences to start the web server at launch. -Please refer to the documentation for more information. -The web server has not been started. - エラー: -Webサーバーを開始するために必要な権限がありません。 -アプリケーションの環境設定で、起動時にWebサーバーを公開する設定にしてください。 -詳細はドキュメントを参照してください。 -Webサーバーは開始されていません。 - - - This method cannot be imported. - このメソッドを読み込むことができません。 - - - Name of the computer using your serial number: - このシリアル番号を使用しているコンピューター名: - - - Conflictual Serial Number: - 使用されているシリアル番号: - - - The 4D Extensions folder is either incomplete or missing. - 4D Extensions フォルダーが完全でないか、存在しません。 - - - This application requires Mac OS 9.2 - このアプリケーションはMac OS 9.2が必要です。 - - - This application requires Mac OS 10.4.5 minimum - このアプリケーションはMac OS 10.4.5以上が必要です。 - - - Warning: This method cannot be exported as a Web Service because its name contains some special XML characters. - 警告:このメソッドをWebサービスとして書き出すことができません。メソッド名にXMLで使用される特別な文字が含まれています。 - - - The referenced element is null. - 参照される要素が空です。 - - - The referenced element is invalid. - 参照される要素が無効です。 - - - The referenced element is not the ‚Äúroot‚Äù. - 参照される要素が "root" ではありません。 - - - The name of the element is unknown. - 要素の名前が不明です。 - - - The index for this element is invalid. - この要素のインデックスが無効です。 - - - There is no attribute with this name for this element. - この要素には指定された名前を持つ属性がありません。 - - - The index for this attribute is invalid. - この属性のインデックスが無効です。 - - - The XML DLL is not loaded. - XML DLLがロードされていません。 - - - The XML file is not valid. - 不適切なXMLファイルです。 - - - The XML file is not well-formed. - 整形式のXMLファイルではありません。 - - - The XML file is not valid or is not well-formed. - このXMLファイルは有効でも整形式でもありません。 - - - SOAP fault - SOAP fault - - - XML parsing error - XML 解析エラー - - - HTTP error - HTTP エラー - - - Network error - Network エラー - - - Internal fault - Internal fault - - - The path specified is invalid. - 指定されたパスが無効です。 - - - The WSDL has moved to: - WSDL は移動しました: - - - The document‚Äôs reference is invalid. - ドキュメントへの参照が無効です。 - - - The element is not open. - 要素が開かれていません。 - - - The type of the array passed in parameter is invalid. - 引数に渡された配列のタイプが無効です。 - - - The name of the element is invalid. - 要素の名前が無効です。 - - - This encoding is not supported. - このエンコードはサポートされていません。 - - - The type of the node is invalid. - このノードタイプは無効です。 - - - Unable to add XML data (file not empty) - XMLデータを追加することができません(ファイルが空ではありません) - - - To execute this command you have to have the Administrator rights. - このコマンドを実行するには管理者権限がなければなりません。 - - - A parameter was expected. - 引数が必要です。 - - - Invalid attribut name. - 無効な属性名です。 - - - Impossible to connect a 4D Client to a customized server application. - カスタマイズされたサーバーアプリケーションに4Dクライアントを接続することはできません。 - - - The ‚Äú4D Standard Edition‚Äù package version limit has been reached - "4D Standard Edition" パッケージバージョンの制限に達しました。 - - - Your license does not allow you to open a database in Compiled mode! - お持ちのライセンスでは、コンパイルモードでデータベースを開くことができません。 - - - For XML SAX parsing, the file must be open in read-only mode - XMLをSAXで解析するためには、ファイルを読み込みのみで開かなければなりません。 - - - The appropriate ODBC driver manager is not installed. - 適切なODBCドライバーマネージャーがインストールされていません。 - - - Unable to open the database {database_name}, please check it using the Maintenance and Security Center. - データベース {database_name} を開けません。Maintenance & Security Centerを使用してデータベースを検証してください。 - - - Cannot load component {component_name}. - コンポーネント {component_name} をロードできません。 - - - The command {command_name} cannot be called from a component. - コマンド {command_name} をコンポーネントから呼び出すことはできません。 - - - Cannot call {command_name} command from a remote 4D Developer. - リモートの4Dから {command_name} コマンドを呼び出すことはできません。 - - - - - Form Method: - フォームメソッド: - - - Trigger: - トリガ: - - - Form: - フォーム: - - - Subtable: - サブテーブル: - - - Method: - メソッド: - - - - - - - Value - - - - This field can't be used in a query. - このフィールドはクエリには使えません。 - - - Object Method: - オブジェクトメソッド: - - - - - A "(" was expected. - “ ( ”が必要です。 - - - A field was expected. - フィールド名が必要です。 - - - This command may be executed only on a field in a subtable. - このコマンドはサブテーブルのフィールドに対してのみ使用できます。 - - - Parameters in the list must all be of the same type. - リスト内のパラメーターはすべて同じタイプでなければなりません。 - - - There is no table to apply the command to. - このコマンドの対象となるテーブルがありません。 - - - This command may only be executed on a field of type Subtable. - このコマンドはサブテーブルタイプのフィールドに対してのみ使用できます。 - - - A Numeric argument was expected. - 数値型の引数が必要です。 - - - An Alphanumeric argument was expected. - 文字列型の引数が必要です。 - - - The result of a conditional test was expected. - 条件判断の結果が必要です。 - - - The command cannot be applied to this field type. - このコマンドはこのタイプのフィールドには使用できません。 - - - The command cannot be applied between two conditional tests. - このコマンドは2つの条件判断間には適用できません。 - - - The command cannot be applied between two Numeric arguments. - このコマンドは2つの数値型引数間には適用できません。 - - - The command cannot be applied between two Alphanumeric arguments. - このコマンドは2つの文字列型引数間には適用できません。 - - - The command cannot be applied between two Date arguments. - このコマンドは2つの日付型引数には適用できません。 - - - This operation is not compatible with the two arguments. - この操作は2つの引数に対して一致していません。 - - - This field has no relation. - このフィールドにはリレーションが設定されていません。 - - - A table was expected. - テーブル名が必要です。 - - - Field types are incompatible. - フィールドタイプが一致していません。 - - - This field is not indexed. - このフィールドにはインデックスが付いていません。 - - - An "=" was expected. - “ = ”が必要です。 - - - The method does not exist. - メソッドが存在しません。 - - - The fields must belong to the same table or subtable for Order by or Charts. - 並び替え/チャートに用いるフィールドは同一のテーブル/サブテーブルに属していないとなりません。 - - - A "<" or ">" was expected. - “ < ”か“ > ”が必要です。 - - - A ";" was expected. - “ ; ”が必要です。 - - - There are too many fields for an Order by. - 並び替えるフィールドが多すぎます。 - - - The field type cannot be Text, Picture or Subtable. - フィールドタイプにテキスト・ピクチャー・サブテーブルは使えません。 - - - The field must be prefixed by its table name. - フィールド名の前にテーブル名が必要です。 - - - The field type must be Numeric. - フィールドタイプは数値型でなければなりません。 - - - The value must be 1 or 0. - 値は 1 か 0 でなければなりません。 - - - A variable was expected. - 変数が必要です。 - - - There is no menu bar with this number. - この番号のメニューバーがありません。 - - - A date was expected. - 日付が必要です。 - - - Unimplemented command or function. - 実装されていないコマンドまたは関数です。 - - - The sets are from different tables. - このセットは他のテーブルに属しています。 - - - Invalid table name - 無効なテーブル名です。 - - - A ":=" was expected. - “ := ”が必要です。 - - - This is a function, not a procedure. - これは関数です、メソッドではありません。 - - - The set does not exist. - セットが存在しません。 - - - This is a procedure, not a function. - これはメソッドです、関数ではありません。 - - - A variable or field belonging to a subtable was expected. - サブテーブルに属する変数かフィールドが必要です。 - - - The record cannot be pushed onto the stack. - レコードをスタックにプッシュできません。 - - - The function cannot be found. - 関数が見つかりません。 - - - The method cannot be found. - メソッドが見つかりません。 - - - Field or variable expected. - フィールドか変数が必要です。 - - - A Numeric or Alphanumeric argument was expected. - 数値型か文字列型の引数が必要です。 - - - The field type must be alphanumeric. - フィールドタイプは文字型でなければなりません。 - - - Syntax error. - シンタックスエラー - - - This operator cannot be used here. - この演算子はここでは使えません。 - - - These operators cannot be used together. - この演算子は一緒に使うことはできません。 - - - Plug-in not implemented - プラグインが実装されていません。 - - - An array was expected or the type of the array was not appropriate. - 配列変数が指定されていないか、配列の型が正しくありません。 - - - Indice out of range. - インデックス範囲を越えています。 - - - Argument types are incompatible. - 引数のタイプが一致していません。 - - - A Boolean argument was expected. - ブール型の引数が必要です。 - - - Field, variable or table expected. - フィールドか変数かテーブルが必要です。 - - - An operator was expected. - 演算子が必要です。 - - - A ")" was expected. - “ ) ”が必要です。 - - - This kind of argument was not expected here. - この種の引数はここでは必要ありません。 - - - A parameter or a local variable cannot be used in an EXECUTE statement in a compiled database. - コンパイルされたデータベースでは、パラメーターやローカル変数を EXECUTE 命令文で使用することはできません。 - - - The type of an array cannot be modified in a compiled database. - コンパイルされたデータベースでは、配列のタイプを修正することはできません。 - - - The command cannot be applied to a subtable. - このコマンドはサブテーブルに対しては使えません。 - - - The field is not indexed. - このフィールドにはインデックスが付いていません。 - - - A picture field or variable was expected. - ピクチャータイプのフィールドか変数が必要です。 - - - This command cannot be executed on 4D Server. - このコマンドは4D Server 上では実行できません。 - - - A list was expected. - リストが必要です。 - - - An external window reference was expected. - 外部ウィンドウ参照が必要です。 - - - The command cannot be applied between two Picture arguments. - 二つのピクチャーに対し、このコマンドを適用することはできません。 - - - The SET PRINT MARKER command can only be called in the header of a form being printed. - SET PRINT MARKER コマンドは、印刷されるフォームのヘッダー内でのみコールすることができます。 - - - A pointer array was expected - ポインター配列が必要です。 - - - A numeric array was expected - 数値配列が必要です。 - - - The size of arrays does not match - 配列のサイズが一致しません。 - - - No pointer on local arrays. - ローカル配列のポインターは使用できません。 - - - Bad array type. - 配列のタイプが正しくありません。 - - - Bad variable name - 変数名が正しくありません。 - - - Invalid sort parameter - 並び替えのパラメーターが無効です。 - - - This command cannot be executed during the draw of a list. - リストを描画している間、このコマンドを実行することはできません。 - - - Too many query arguments. - クエリの引数が多すぎます。 - - - The form was not found - フォームが見つかりません - - - -
- -
diff --git a/Build/Components/4DPop Macros.4dbase/Resources/fr.lproj/4DPop_Macros.xml b/Build/Components/4DPop Macros.4dbase/Resources/fr.lproj/4DPop_Macros.xml index f44b01d..58e9a49 100755 --- a/Build/Components/4DPop Macros.4dbase/Resources/fr.lproj/4DPop_Macros.xml +++ b/Build/Components/4DPop Macros.4dbase/Resources/fr.lproj/4DPop_Macros.xml @@ -118,6 +118,13 @@ Maquereau 4D : + + 4DPop_MACROS("comment") + + 4DPop_MACROS("duplicateAndComment") - - 4DPop_MACROS("commentBlock") - - diff --git a/Info.plist b/Info.plist index 79395d4..5df3ea9 100755 --- a/Info.plist +++ b/Info.plist @@ -6,13 +6,13 @@ CFBundleName 4DPop Macros CFBundleVersion - 264 + 269 NSHumanReadableCopyright ©vdl 2009-2023 CFBundleGetInfoString 20R4 CFBundleLongVersionString - 20R4 (263) + 20R4 (268) CFBundleShortVersionString 20R4 CFBundleDisplayName diff --git a/Macros v2/4DPop_Macros.xml b/Macros v2/4DPop_Macros.xml index f57a963..337f427 100755 --- a/Macros v2/4DPop_Macros.xml +++ b/Macros v2/4DPop_Macros.xml @@ -2,7 +2,7 @@ @@ -118,18 +118,18 @@ Maquereau 4D : - - 4DPop_MACROS("duplicateAndComment") + 4DPop_MACROS("comment") - - 4DPop_MACROS("commentBlock") + 4DPop_MACROS("duplicateAndComment") diff --git a/Preferences/4DPop AppMaker.xml b/Preferences/4DPop AppMaker.xml index 326b844..2478e13 100755 --- a/Preferences/4DPop AppMaker.xml +++ b/Preferences/4DPop AppMaker.xml @@ -17,5 +17,5 @@ ./Resources/php.ini - + diff --git a/Project/Sources/Classes/macro.4dm b/Project/Sources/Classes/macro.4dm index 99b86c6..97c3a85 100755 --- a/Project/Sources/Classes/macro.4dm +++ b/Project/Sources/Classes/macro.4dm @@ -1,9 +1,15 @@ -Class constructor +property title; name; objectName; method; highlighted; decimalSeparator : Text +property class; form; trigger; projectMethod; objectMethod; withSelection : Boolean +property lineTexts : Collection +property _controlFlow : Object + +Class constructor() + var $t : Text - var $ƒ : Object + var $ƒ : 4D:C1709.Function - ARRAY LONGINT:C221($_len; 0) - ARRAY LONGINT:C221($_pos; 0) + ARRAY LONGINT:C221($len; 0) + ARRAY LONGINT:C221($pos; 0) This:C1470.title:=Get window title:C450(Frontmost window:C447) @@ -16,21 +22,21 @@ Class constructor This:C1470.form:=False:C215 This:C1470.trigger:=False:C215 - If (Match regex:C1019("(?m-si)^([^:]*\\s*:\\s)([[:ascii:]]*)(\\.[[:ascii:]]*)?(?:\\s*\\*)?$"; This:C1470.title; 1; $_pos; $_len)) + If (Match regex:C1019("(?m-si)^([^:]*\\s*:\\s)([[:ascii:]]*)(\\.[[:ascii:]]*)?(?:\\s*\\*)?$"; This:C1470.title; 1; $pos; $len)) $ƒ:=Formula from string:C1601(Parse formula:C1576("_localized string:C1578($1)")) - $t:=Substring:C12(This:C1470.title; $_pos{1}; $_len{1}) + $t:=Substring:C12(This:C1470.title; $pos{1}; $len{1}) This:C1470.projectMethod:=($t=$ƒ.call(Null:C1517; "common_method")) This:C1470.objectMethod:=($t=$ƒ.call(Null:C1517; "common_objectMethod")) This:C1470.class:=(Position:C15("Class:"; $t)=1) This:C1470.form:=($t=$ƒ.call(Null:C1517; "common_form")) This:C1470.trigger:=($t=$ƒ.call(Null:C1517; "common_Trigger")) - This:C1470.name:=Substring:C12(This:C1470.title; $_pos{2}; $_len{2}) + This:C1470.name:=Substring:C12(This:C1470.title; $pos{2}; $len{2}) - If ($_pos{3}>0) + If ($pos{3}>0) - This:C1470.objectName:=Substring:C12(This:C1470.title; $_pos{3}; $_len{3}) + This:C1470.objectName:=Substring:C12(This:C1470.title; $pos{3}; $len{3}) End if @@ -61,7 +67,7 @@ Class constructor End if - This:C1470.lineTexts:=New collection:C1472 + This:C1470.lineTexts:=[] GET SYSTEM FORMAT:C994(Decimal separator:K60:1; $t) This:C1470.decimalSeparator:=$t @@ -93,9 +99,17 @@ Function split($useSelection : Boolean) This:C1470.lineTexts:=Split string:C1554($target; "\r"; sk trim spaces:K86:2) // === === === === === === === === === === === === === === === === === === === === === === === === === === -Function localizedControlFlow($control : Text) : Text +Function setMethodText($text : Text) - var $index : Integer + SET MACRO PARAMETER:C998(Full method text:K5:17; $text) + + // === === === === === === === === === === === === === === === === === === === === === === === === === === +Function setHighlightedText($text : Text) + + SET MACRO PARAMETER:C998(Highlighted method text:K5:18; $text) + + // === === === === === === === === === === === === === === === === === === === === === === === === === === +Function localizedControlFlow($control : Text) : Text This:C1470._controlFlow:=This:C1470._controlFlow || JSON Parse:C1218(File:C1566("/RESOURCES/controlFlow.json").getText()) return Command name:C538(41)="ALERT" ? $control : This:C1470._controlFlow.fr(This:C1470._controlFlow.intl.indexOf($control)) @@ -109,7 +123,7 @@ Function PasteColor() If (Bool:C1537(OK)) - This:C1470._setSelectedText(String:C10($color & 0x00FFFFFF; "&x")+kCaret) + This:C1470.setHighlightedText(String:C10($color & 0x00FFFFFF; "&x")+kCaret) End if @@ -155,7 +169,7 @@ Function PasteAndKeepTarget() SET TEXT TO PASTEBOARD:C523(This:C1470.highlighted) // …and replace it with the previous one. - This:C1470._setSelectedText($t) + This:C1470.setHighlightedText($t) // === === === === === === === === === === === === === === === === === === === === === === === === === === // v13+ replace If(test) var:=x Else var:=y End if by var:=Choose(test;x;y) @@ -195,7 +209,7 @@ Function Choose() +Substring:C12($c[3]; $affect+2)\ +")" - This:C1470._setSelectedText($t) + This:C1470.setHighlightedText($t) End if End if @@ -351,21 +365,91 @@ Function RemoveBlankLines() If (Length:C16(This:C1470.highlighted)=0) - This:C1470._setMethodText($out) + This:C1470.setMethodText($out) Else - This:C1470._setSelectedText($out) + This:C1470.setHighlightedText($out) End if + //MARK:-[COMMENTS] + // === === === === === === === === === === === === === === === === === === === === === === === === === === +Function commentBlock + + This:C1470.setHighlightedText("/*\r"+This:C1470.highlighted+"\r*/") + + // === === === === === === === === === === === === === === === === === === === === === === === === === === +Function duplicateAndComment() + + If (This:C1470._noSelection()) + + return + + End if + + This:C1470.setHighlightedText(This:C1470._comment()+"\r"+This:C1470.highlighted+kCaret) + + // === === === === === === === === === === === === === === === === === === === === === === === === === === +Function comment() + + If (This:C1470._noSelection()) + + return + + End if + + ARRAY LONGINT:C221($pos; 0) + ARRAY LONGINT:C221($len; 0) + + If (Match regex:C1019("(?si-m)/\\*(.*)\\*/"; This:C1470.highlighted; 1; $pos; $len)) + + This:C1470.setHighlightedText(Substring:C12(This:C1470.highlighted; $pos{1}; $len{1})) + return + + End if + + This:C1470.setHighlightedText(This:C1470._comment()) + + // *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** +Function _comment() : Text + + var v1; v2; v3; v4 : Variant + + Formula from string:C1601(":C1810(v1; v2; v3; v4)").call() + + If (v3=v4) + + If (v1#v2) + + return "/*"+This:C1470.highlighted+"*/" + + Else + + return "// "+This:C1470.highlighted + + End if + + Else + + If (v1#v2) + + return "/*\r"+This:C1470.highlighted+"\r*/" + + Else + + return "// "+This:C1470.highlighted + + End if + End if + // *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** Function _noSelection() : Boolean If (Not:C34(This:C1470.withSelection)) BEEP:C151 - ALERT:C41("This macro requires text to be selected before it is called.") + ALERT:C41("This macro requires text to be selected before it is called!") return True:C214 End if @@ -386,14 +470,4 @@ Function _paste($text : Text; $useSelection : Boolean) End if SET MACRO PARAMETER:C998($target; $text) - - // *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** -Function _setMethodText($text : Text) - - SET MACRO PARAMETER:C998(Full method text:K5:17; $text) - - // *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** -Function _setSelectedText($text : Text) - - SET MACRO PARAMETER:C998(Highlighted method text:K5:18; $text) \ No newline at end of file diff --git a/Project/Sources/Classes/specialPaste.4dm b/Project/Sources/Classes/specialPaste.4dm index 626c0eb..7b5b4ac 100644 --- a/Project/Sources/Classes/specialPaste.4dm +++ b/Project/Sources/Classes/specialPaste.4dm @@ -69,7 +69,7 @@ Class constructor() $options:=This:C1470.options _o_Preferences("Set_Value"; "specialPasteOptions"; ->$options) - This:C1470._setSelectedText(This:C1470.preview+kCaret) + This:C1470.setHighlightedText(This:C1470.preview+kCaret) End if diff --git a/Project/Sources/DatabaseMethods/onStartup.4dm b/Project/Sources/DatabaseMethods/onStartup.4dm index 97fbcf6..9f25d96 100755 --- a/Project/Sources/DatabaseMethods/onStartup.4dm +++ b/Project/Sources/DatabaseMethods/onStartup.4dm @@ -1,18 +1,14 @@ If (Not:C34(Is compiled mode:C492)) - //Init - EXECUTE METHOD:C1007("Init") + // Init + EXECUTE METHOD:C1007("4DPopMacrosINIT") -End if - -If (Not:C34(Is compiled mode:C492)) - - ARRAY TEXT:C222($componentsArray; 0) - COMPONENT LIST:C1001($componentsArray) + // Installing quickOpen + ARRAY TEXT:C222($components; 0) + COMPONENT LIST:C1001($components) - If (Find in array:C230($componentsArray; "4DPop QuickOpen")>0) + If (Find in array:C230($components; "4DPop QuickOpen")>0) - // Installing quickOpen EXECUTE METHOD:C1007("quickOpenInit"; *; Formula:C1597(MODIFIERS); Formula:C1597(KEYCODE)) ON EVENT CALL:C190("quickOpenEventHandler"; "$quickOpenListener") diff --git a/Project/Sources/Methods/4DPopMacrosINIT.4dm b/Project/Sources/Methods/4DPopMacrosINIT.4dm new file mode 100644 index 0000000..45e724d --- /dev/null +++ b/Project/Sources/Methods/4DPopMacrosINIT.4dm @@ -0,0 +1,56 @@ +//%attributes = {"invisible":true,"preemptive":"incapable"} +// ---------------------------------------------------- +// Nom utilisateur (OS) : Vincent de Lachaux +// Date et heure : 02/02/06, 10:11:40 +// ---------------------------------------------------- +// Méthode : M_4DPop_oBoo_INIT +// ---------------------------------------------------- +// Modified by vdl (01/07/07) +// V11 compatibility +// ---------------------------------------------------- +// Modified by Vincent de Lachaux (12/05/10) +// V12 +// ---------------------------------------------------- +#DECLARE() : Boolean + +If (False:C215) + C_BOOLEAN:C305(4DPopMacrosINIT; $0) +End if + +If (Storage:C1525.component=Null:C1517) + + Use (Storage:C1525) + + Storage:C1525.component:=New shared object:C1526("inited"; False:C215) + + End use +End if + +If (Storage:C1525.component.inited) + + return True:C214 + +End if + +If (Count parameters:C259=0)\ + && (Not:C34(Storage:C1525.component.inited)) + + COMPILER_component + + Use (Storage:C1525.component) + + Storage:C1525.component.inited:=True:C214 + + End use + + INSTALL_LOCALIZED_MACROS + + If (_o_Preferences) + + If (Install_regex) + + return Install_resources + + End if + End if +End if \ No newline at end of file diff --git a/Project/Sources/Methods/4DPop_MACROS.4dm b/Project/Sources/Methods/4DPop_MACROS.4dm index 5e89022..b1e3cb8 100755 --- a/Project/Sources/Methods/4DPop_MACROS.4dm +++ b/Project/Sources/Methods/4DPop_MACROS.4dm @@ -36,7 +36,7 @@ If (Count parameters:C259>=1) If (Storage:C1525.macros=Null:C1517) - Init + 4DPopMacrosINIT End if @@ -374,16 +374,6 @@ Case of OPEN URL:C673("www.google.fr/search?q="+$macro.highlighted) - //______________________________________________________ - : ($action="commentBlock") - - COMMENTS("commentBlock"; $macro.highlighted) - - //______________________________________________________ - : ($action="duplicateAndComment") - - COMMENTS("duplicateAndComment"; $macro.highlighted) - //______________________________________________________ : ($action="comment_current_level") // Comments the first and the last line of a logic block diff --git a/Project/Sources/Methods/4DPop_MACROS_INIT.4dm b/Project/Sources/Methods/4DPop_MACROS_INIT.4dm index 1e1a78b..be31d1a 100755 --- a/Project/Sources/Methods/4DPop_MACROS_INIT.4dm +++ b/Project/Sources/Methods/4DPop_MACROS_INIT.4dm @@ -1,15 +1,15 @@ //%attributes = {"invisible":true,"preemptive":"incapable"} - // ---------------------------------------------------- - // Method : 4DPop_MACROS_INIT - // Created 12/05/10 by Vincent de Lachaux - // ---------------------------------------------------- - // Description - // initialization entry point for 4DPop - // ---------------------------------------------------- - // Declarations +// ---------------------------------------------------- +// Method : 4DPop_MACROS_INIT +// Created 12/05/10 by Vincent de Lachaux +// ---------------------------------------------------- +// Description +// initialization entry point for 4DPop +// ---------------------------------------------------- +// Declarations - // ---------------------------------------------------- - // Initialisations -Init +// ---------------------------------------------------- +// Initialisations +4DPopMacrosINIT - // ---------------------------------------------------- +// ---------------------------------------------------- diff --git a/Project/Sources/Methods/COMMENTS.4dm b/Project/Sources/Methods/COMMENTS.4dm index bf82320..9d752c3 100755 --- a/Project/Sources/Methods/COMMENTS.4dm +++ b/Project/Sources/Methods/COMMENTS.4dm @@ -1,246 +1,263 @@ //%attributes = {"invisible":true,"preemptive":"incapable"} - // ---------------------------------------------------- - // Méthode : COMMENTS - // Created 28/10/05 par Vincent de Lachaux - // ---------------------------------------------------- - // Modifée le 28/10/05 par Vincent de Lachaux - // Modifie par : Vincent de Lachaux (27/01/06) - // ---------------------------------------------------- - // Modified #18-10-2013 by Vincent de Lachaux - // Add method's comments - // ---------------------------------------------------- - // Modified #07-02-2020 by Vincent de Lachaux - // Adapt method's comments for project mode - // ---------------------------------------------------- - // Description - // Management method macros for the comments - // ---------------------------------------------------- -C_TEXT:C284($1) -C_TEXT:C284($2) -C_TEXT:C284($3) - -C_BOOLEAN:C305($bReplace;$success) -C_LONGINT:C283($i;$indx;$l;$Lon_type;$start;$Win_hdl) -C_POINTER:C301($ptr) -C_TEXT:C284($t;$t_code;$t_name;$t_selector;$tComments;$tReplacement) -C_TEXT:C284($tResult;$tSeparator;$tSyntax;$tt;$tTitle) -C_OBJECT:C1216($o) -C_COLLECTION:C1488($c) - -ARRAY LONGINT:C221($tLon_indent;0) -ARRAY LONGINT:C221($tLon_refCount;0) -ARRAY TEXT:C222($tTxt_controlFlow;0) -ARRAY TEXT:C222($tTxt_Lines;0) +// ---------------------------------------------------- +// Méthode : COMMENTS +// Created 28/10/05 par Vincent de Lachaux +// ---------------------------------------------------- +// Modifée le 28/10/05 par Vincent de Lachaux +// Modifie par : Vincent de Lachaux (27/01/06) +// ---------------------------------------------------- +// Modified #18-10-2013 by Vincent de Lachaux +// Add method's comments +// ---------------------------------------------------- +// Modified #07-02-2020 by Vincent de Lachaux +// Adapt method's comments for project mode +// ---------------------------------------------------- +// Description +// Management method macros for the comments +// ---------------------------------------------------- +#DECLARE($selector : Text; $selected : Text; $code : Text) If (False:C215) - C_TEXT:C284(COMMENTS ;$1) - C_TEXT:C284(COMMENTS ;$2) - C_TEXT:C284(COMMENTS ;$3) + C_TEXT:C284(COMMENTS; $1) + C_TEXT:C284(COMMENTS; $2) + C_TEXT:C284(COMMENTS; $3) End if -$t_selector:=$1 // Entry point +var $t; $name; $comments; $tResult; $separator : Text +var $tSyntax; $title : Text +var $bReplace; $success : Boolean +var $i; $indx; $l; $Lon_type; $start; $Win_hdl : Integer +var $ptr : Pointer +var $o : Object +var $c : Collection + +ARRAY TEXT:C222($_controlFlow; 0) +ARRAY LONGINT:C221($_indent; 0) +ARRAY LONGINT:C221($_refCount; 0) Case of - //______________________________________________________ - : ($t_selector="commentBlock") // + //______________________________________________________ + : ($selector="commentBlock") - SET MACRO PARAMETER:C998(Highlighted method text:K5:18;"/*\r"+$2+"\r*/") + SET MACRO PARAMETER:C998(Highlighted method text:K5:18; "/*\r"+$selected+"\r*/") - //______________________________________________________ - : ($t_selector="duplicateAndComment") // Duplicate the selected text and comment the first instance + //______________________________________________________ + : ($selector="duplicateAndComment") // Duplicate the selected text and comment the first instance - If (Length:C16($2)>0) + If (Length:C16($selected)=0) + + return - $c:=Split string:C1554($2;"\r") + End if + + $c:=Split string:C1554($selected; "\r") + + For each ($t; $c) - For each ($tt;$c) + If (Length:C16($t)>0) - If (Length:C16($tt)>0) + If ($i=0) - If ($i=0) - - $tt:=kCommentMark+$tt + $t:=kCommentMark+$t + + Else + + If ($c[$i-1]#"@\\") - Else + $t:=kCommentMark+$t - If ($c[$i-1]#"@\\") - - $tt:=kCommentMark+$tt - - End if End if End if - - $t:=$t+$tt+"\r" - $i:=$i+1 - - End for each + End if - SET MACRO PARAMETER:C998(Highlighted method text:K5:18;$t+"\r"+$2+kCaret) + $comments+=$t+"\r" + $i+=1 + + End for each + + SET MACRO PARAMETER:C998(Highlighted method text:K5:18; $comments+"\r"+$selected+kCaret) + + //______________________________________________________ + : ($selector="comment") + + Formula from string:C1601(":C1810(v1; v2; v3; v4)").call() + + If (v3#v4) && (v1#0) + + SET MACRO PARAMETER:C998(Highlighted method text:K5:18; "/*\r"+$selected+"\r*/") + return End if - //______________________________________________________ - : ($t_selector="method-comment-generate") + If (v1#0) && (v1#v2) + + SET MACRO PARAMETER:C998(Highlighted method text:K5:18; "/*"+$selected+"*/") + return + + End if + + SET MACRO PARAMETER:C998(Highlighted method text:K5:18; "// "+$selected) + + //______________________________________________________ + : ($selector="method-comment-generate") - $t_name:=$2 // Method path - $t_code:=$3 // code + $name:=$selected // Method path - METHOD RESOLVE PATH:C1165($t_name;$Lon_type;$ptr;$t;$t;*) + METHOD RESOLVE PATH:C1165($name; $Lon_type; $ptr; $t; $t; *) If ($Lon_type=Path project method:K72:1) - METHOD GET COMMENTS:C1189($t_name;$tComments;*) + METHOD GET COMMENTS:C1189($name; $comments; *) If (Path to object:C1547(Structure file:C489(*)).extension=".4DProject") // #project mode - $tSeparator:="--------------------------------------------------\r" + $separator:="--------------------------------------------------\r" - ARRAY TEXT:C222($tTxt_comments;0x0000) - ARRAY TEXT:C222($tTxt_labels;0x0000) - ARRAY TEXT:C222($tTxt_types;0x0000) + ARRAY TEXT:C222($_comments; 0x0000) + ARRAY TEXT:C222($_labels; 0x0000) + ARRAY TEXT:C222($_types; 0x0000) - METHOD_ANALYSE_TO_ARRAYS ($t_code;->$tTxt_types;->$tTxt_labels;->$tTxt_comments) + METHOD_ANALYSE_TO_ARRAYS($code; ->$_types; ->$_labels; ->$_comments) - $tSyntax:=Choose:C955(Length:C16($tTxt_types{0})>0;Choose:C955(Length:C16($tTxt_labels{0})=0;$tTxt_types{0};$tTxt_labels{0})+" := "+$t_name;$t_name) + $tSyntax:=Choose:C955(Length:C16($_types{0})>0; Choose:C955(Length:C16($_labels{0})=0; $_types{0}; $_labels{0})+" := "+$name; $name) - For ($i;1;Size of array:C274($tTxt_types);1) + For ($i; 1; Size of array:C274($_types); 1) - // Open parentheses or put a separator - $tSyntax:=Choose:C955($i=1;$tSyntax+" ( ";$tSyntax+" ; ") + // Open parentheses or put a separator + $tSyntax:=Choose:C955($i=1; $tSyntax+" ( "; $tSyntax+" ; ") - $tSyntax:=$tSyntax+$tTxt_labels{$i} + $tSyntax:=$tSyntax+$_labels{$i} - If ($i=Size of array:C274($tTxt_types)) + If ($i=Size of array:C274($_types)) - // Close the parentheses + // Close the parentheses $tSyntax:=$tSyntax+" )" End if End for - //…then describe the parameters… + //…then describe the parameters… $tResult:=$tSyntax - For ($i;1;Size of array:C274($tTxt_types);1) + For ($i; 1; Size of array:C274($_types); 1) $tResult:=$tResult+"\r"\ - +" -> "+$tTxt_labels{$i}+" ("+$tTxt_types{$i}+")"\ - +Choose:C955(Length:C16($tTxt_comments{$i})>0;" - "+$tTxt_comments{$i};"") + +" -> "+$_labels{$i}+" ("+$_types{$i}+")"\ + +Choose:C955(Length:C16($_comments{$i})>0; " - "+$_comments{$i}; "") End for - //…and the return for a function. - If (Length:C16($tTxt_labels{0})>0) + //…and the return for a function. + If (Length:C16($_labels{0})>0) - $tResult:=$tResult+"\r"+" <- "+$tTxt_labels{0}+" ("+$tTxt_types{0}+")"\ - +Choose:C955(Length:C16($tTxt_comments{0})>0;" - "+$tTxt_comments{0};"") + $tResult:=$tResult+"\r"+" <- "+$_labels{0}+" ("+$_types{0}+")"\ + +Choose:C955(Length:C16($_comments{0})>0; " - "+$_comments{0}; "") End if - $t:=$tSeparator+$tResult + $t:=$separator+$tResult - If (Length:C16($tComments)=0) + If (Length:C16($comments)=0) - $tComments:="\r"+$tSyntax + $comments:="\r"+$tSyntax Else - $tComments:=rgx ($tComments).substitute("(?si-m)";"").result + $comments:=rgx($comments).substitute("(?si-m)"; "").result End if Else // #database mode - $tSeparator:="\r________________________________________________________\r" + $separator:="\r________________________________________________________\r" - $tComments:=ST Get plain text:C1092($tComments) + $comments:=ST Get plain text:C1092($comments) - $indx:=Position:C15($tSeparator;$tComments) + $indx:=Position:C15($separator; $comments) If ($indx>0) - $tComments:=Delete string:C232($tComments;1;$indx+Length:C16($tSeparator)-1) + $comments:=Delete string:C232($comments; 1; $indx+Length:C16($separator)-1) Else - // Compatibility with older versions of separator - $indx:=Position:C15("\r-\r";$tComments) + // Compatibility with older versions of separator + $indx:=Position:C15("\r-\r"; $comments) If ($indx>0) - $tComments:=Delete string:C232($tComments;1;$indx+2) + $comments:=Delete string:C232($comments; 1; $indx+2) Else - $indx:=Position:C15("\r-";$tComments) + $indx:=Position:C15("\r-"; $comments) If ($indx>0) - $tComments:=Delete string:C232($tComments;1;$indx+1) + $comments:=Delete string:C232($comments; 1; $indx+1) End if End if End if - $tComments:=METHOD_Syntax ($t_code;$t_name;"")+$tSeparator+$tComments + $comments:=METHOD_Syntax($code; $name; "")+$separator+$comments End if - METHOD SET COMMENTS:C1193($t_name;$tComments;*) + METHOD SET COMMENTS:C1193($name; $comments; *) End if - //________________________________________ - : ($t_selector="method") // #18-10-2013 + //________________________________________ + : ($selector="method") // #18-10-2013 - $t_name:=$2 + $name:=$selected - METHOD RESOLVE PATH:C1165($t_name;$Lon_type;$ptr;$t;$t;*) + METHOD RESOLVE PATH:C1165($name; $Lon_type; $ptr; $t; $t; *) If ($Lon_type=Path project method:K72:1) - METHOD GET COMMENTS:C1189($t_name;$tComments;*) + METHOD GET COMMENTS:C1189($name; $comments; *) - $Win_hdl:=Open form window:C675("COMMENTS";Movable form dialog box:K39:8) - SET WINDOW TITLE:C213($t_name+" - "+Get localized string:C991("comments");$Win_hdl) + $Win_hdl:=Open form window:C675("COMMENTS"; Movable form dialog box:K39:8) + SET WINDOW TITLE:C213($name+" - "+Get localized string:C991("comments"); $Win_hdl) $o:=New object:C1471(\ - "text";$tComments) - DIALOG:C40("COMMENTS";$o) + "text"; $comments) + DIALOG:C40("COMMENTS"; $o) CLOSE WINDOW:C154 If (OK=1) - $tComments:=$o.text - $tComments:=Replace string:C233($tComments;"<date/>";String:C10(Current date:C33)) - $tComments:=Replace string:C233($tComments;"<time/>";String:C10(Current time:C178)) - $tComments:=Replace string:C233($tComments;"<user_4D/>";Current user:C182) - $tComments:=Replace string:C233($tComments;"<user_os/>";Current machine:C483) - $tComments:=Replace string:C233($tComments;"<version_4D/>";Application version:C493(*)) - $tComments:=Replace string:C233($tComments;"<database_name/>";Structure file:C489) + $comments:=$o.text + $comments:=Replace string:C233($comments; "<date/>"; String:C10(Current date:C33)) + $comments:=Replace string:C233($comments; "<time/>"; String:C10(Current time:C178)) + $comments:=Replace string:C233($comments; "<user_4D/>"; Current user:C182) + $comments:=Replace string:C233($comments; "<user_os/>"; Current machine:C483) + $comments:=Replace string:C233($comments; "<version_4D/>"; Application version:C493(*)) + $comments:=Replace string:C233($comments; "<database_name/>"; Structure file:C489) - METHOD SET COMMENTS:C1193($t_name;$tComments;*) + METHOD SET COMMENTS:C1193($name; $comments; *) End if End if - //______________________________________________________ - : ($t_selector="edit") + //______________________________________________________ + : ($selector="edit") - GET MACRO PARAMETER:C997(Highlighted method text:K5:18;$tComments) + GET MACRO PARAMETER:C997(Highlighted method text:K5:18; $comments) - $bReplace:=Length:C16($tComments)>0 + $bReplace:=Length:C16($comments)>0 - $c:=Split string:C1554($tComments;"\r") + $c:=Split string:C1554($comments; "\r") - For each ($t;$c) + For each ($t; $c) - $indx:=Position:C15(kCommentMark;$t) + $indx:=Position:C15(kCommentMark; $t) If ($indx>0) - $c[$i]:=Substring:C12($t;$indx+Length:C16(kCommentMark)) + $c[$i]:=Substring:C12($t; $indx+Length:C16(kCommentMark)) End if @@ -248,31 +265,31 @@ Case of End for each - $tComments:=$c.join("\r") + $comments:=$c.join("\r") - $l:=Open form window:C675("COMMENTS";Movable dialog box:K34:7;Horizontally centered:K39:1;Vertically centered:K39:4;*) + $l:=Open form window:C675("COMMENTS"; Movable dialog box:K34:7; Horizontally centered:K39:1; Vertically centered:K39:4; *) SET MENU BAR:C67(1) $o:=New object:C1471(\ - "text";$tComments) - DIALOG:C40("COMMENTS";$o) + "text"; $comments) + DIALOG:C40("COMMENTS"; $o) CLOSE WINDOW:C154 If (Bool:C1537(OK)) - $tComments:=$o.text + $comments:=$o.text - If (Length:C16($tComments)>0) + If (Length:C16($comments)>0) - If (Position:C15("0) + If (Position:C15("0) - $tComments:=ST Get plain text:C1092($tComments) + $comments:=ST Get plain text:C1092($comments) End if - $c:=Split string:C1554($tComments;"\r") + $c:=Split string:C1554($comments; "\r") $i:=0 - For each ($t;$c) + For each ($t; $c) If (Length:C16($t)>0) @@ -284,187 +301,187 @@ Case of End for each - $tReplacement:=$c.join("\r") + $comments:=$c.join("\r") - $tReplacement:=Replace string:C233($tReplacement;"";String:C10(Current date:C33)) - $tReplacement:=Replace string:C233($tReplacement;"