[C++] 285 FLTK : ChatGPTアプリの製作 その14 コードの取り出し

[M1 Mac, Monterey 12.6.3, clang 13.0.0, FLTK 1.3.8, ChatGPT Plus, NO IDE]

ChatGPTアプリ製作開始からだらだらと1週間掛けて、ようやく基本的な機能を一通り実装しました。

回答からコードを取り出し、何番目のコードでも選択してクリップボードにコピーできます。

次は特定分野のドキュメントを読み込ませたアシスタントBotを作成したいです。都度ドキュメントを送ると課金がかさみレスポンスも悪くなるので、一回読み込ませて単発の質問をいくつか投げかけるという仕様が妥当なところかと思います。

void advanceCB(Fl_Widget*, void*){
    if (codeNumCur == codeNum){
        codeNumCur = 0;
    }

    // 初期化
    codeNumShow -> value("");

    Fl_Text_Buffer* bufferReset = new Fl_Text_Buffer();
    bufferReset -> text("");
    codeDisplay->buffer(bufferReset);

    window -> redraw();

    // code取り出し&表示
    codes = getCode(jsonResponse);
    cout << "getCode検出コード数: " << codes.size() << endl;

    // codeNumCur加算
    codeNumCur++;

    if (codes.size() > 0){
        bufferCode = new Fl_Text_Buffer();
        bufferCode -> text(codes[codeNumCur-1].c_str());
        codeDisplay -> buffer(bufferCode);
        codeDisplay -> wrap_mode(Fl_Text_Display::WRAP_AT_BOUNDS, 5);
    }

    // コード数表示
    codeNum = codes.size();
    if (codeNum > 0){
        codeNumStr =  to_string(codeNumCur) + " / " + to_string(codeNum);
        cout << "codeNumStr: " << codeNumStr << endl;
        codeNumShow -> value(codeNumStr.c_str());
    }
}