伊藤清徳の垂直落下式ムーンサルトプレス

PerlとかPHPとかMySQLとか...がんばっても8割だ。

FilemakerからSmartyを操作する関数。

ファイルメーカーからPHPで広く使われているテンプレート処理エンジン「Smarty」を操作するカスタム関数を公開します。

ダウンロードはこちらから>>

ベータ公開として、他のカスタム関数同様カンパウェアとします。

ファイルメーカーでHTML作成をされている方などいらっしゃると思いますが、
そういった方に非常に有用であろうかと思います。
(HTMLに限らずテキストであれば処理可能です。)

とりあえず、みなさん、お試しください。<(_ _)>

詳細は、同梱の「Readme.doc」(MS-WORD文書)をご覧下さい。

なお、ご利用にあたり、Smartyの知識が必要となります。
こちらのサイトなどをご覧になりながらのご利用をオススメします。

なお、このカスタム関数群に関する一切のサポートはいたしません。
ご了承ください。

6 Comments

  1. いつも勉強させて頂いております。
    ちょっと行き詰まっております。
    ファイルメーカーからエクスポートしたCSVデータを「なでしこプラグイン」で改行処理は出来ますでしょうか?
    現在はWSHにて
    ———————
    On Error Resume Next
    Dim ReadFile, FileData, Henkan, WriteFile

    Set FS = WScript.CreateObject(“Scripting.FileSystemObject”)
    Set ReadFile =FS.OpenTextFile(“a.txt”)
    FileData = “”
    Do Until ReadFile.AtEndOfStream
    FileData = FileData & ReadFile.ReadLine & vbCrLf
    Loop
    ReadFile.Close

    Henkan = Replace(FileData, Chr(11), vbCrLf)

    Set WriteFile =FS.CreateTextFile(“a.txt”)
    WriteFile.Write Henkan
    WriteFile.Close

    If Err.Number 0 Then
    MsgBox(“エラーが起きました。”)
    End If
    —————–
    として処理しています。

  2. admin

    2008/9/10 水曜日 at 14:46:18

    >ACTさん

    VerticalTabを\r\nに変換ということですね。
    (Basicが苦手なので、あまりちゃんと読んでいません。すみません)
    なでしこの機能としては可能でしょう。

    現在、Filemaker用にプログラムを書いている時間がないので、
    手順だけ書いておきます。

    適宜、Filemaker用プログラムに書き換えてお使いください。

    ──────

    #ファイル指定ファイルを変数「READDATA」に読み込む。
    READDATAに「a.txt」を開く。
    #VerticalTabを「\r\n」に変換
    CONVERTDATAは、READDATAの「{\11}」を「{\13,10}」に置換。
    #変換した内容を保存
    CONVERTDATAを「b.txt」へ保存。

    ──────

    こんな感じでしょうか。
    もうひとつの手としては、ファイルメーカーのエクスポート機能に頼らず、
    なでしこの二次元配列操作の機能を使って、
    CSVを出力するということも考えられるでしょう。
    (パフォーマンスが落ちる可能性はありますが。)

  3. ご教示有難うございます。
    早速挑戦してみます。

  4. サザンカの宿

    2010/6/24 木曜日 at 15:24:38

    初めて通信します。
    ファイルメーカー8.0(Mac-OSスノーレパード)で足踏みしていますド素人です。
    A4サイズで17000頁の文献の単純に該当検索としてデータ化しています。
    検索例/[尾]の文字を検索しますと、該当しますA4にはほぼ目一杯に文字があり、検索した[尾]の文字が何処にあるのか? 目で読みながら確認・探し出すの大変です。
    これでは、他の頁にも[尾]がある場合は、最悪になります。
    ★出来れば、検索した文字に色が被ってくれると有り難いのですが…。
    ※1/該当する文字[尾]の色は出力時にも着色されているのが理想です。
    ※2/再検索(単純に検索モードに切り替えるだけです)・又は検索終了(モード)で、着色は無くなるとなればと思っています。
    そもそも、検索やソートも見よう見まねで作成した程の、ド素人です。
    ご指導頂ければと希望いたします。
    宜しくお願いします。

    サザンカの宿

  5. admin

    2010/6/28 月曜日 at 20:06:47

    すみません。なかなかこちらに関する答えを返す時間がとれずにおります。
    申し訳ありません。

    未確証の処理で、なおかつかなり複雑な処理なのですが、おそらくは以下のような手順になろうかと思います。

    positionなどを使ってテキスト検索して位置を取得

    色付する前のテキスト|色付けするテキスト|色付けしたあとのテキスト
    の3つに分割して変数に格納します

    色付するテキストにTextColorなどを使って色付け

    3つに分割したテキストを再連結

    という手順を使えば、検索した文字列にカラーなどを付けることは可能かと思います。
    position関数を使えば、
    検索したい文字列を何回目の登場位置なのか指定して検索することができるので、
    繰り返し検索用のスクリプトを作っておけば、
    次の検索というような手順は可能でしょう。

    色付けを消すのも同じように専用のスクリプトを用意すれば解決できると思います。

    ただ、テキストフィールド中の特定の文字列へ背景を設定するということをやったことがないので、残念ながら方法がわかりません。

    かなりざっくりとしたヒントになりますが、お試しください。

  6. サザンカの宿

    2010/7/15 木曜日 at 10:19:18

    ご指導お願いしておきながら、私も忙殺され頂きましたアドバイスを拝見するタイミングを逸していました。
    申し訳ありません。
    頂いた内容、試みまして、ご報告させて頂きます。
    取り急ぎ、御礼申し上げます。
    サザンカの宿

コメントを残す

Your email address will not be published.

*