2023-01-01から1年間の記事一覧

32bit windows 10 ISO ファイルの取得方法

www.microsoft.com通常の方法ではエラーページに飛ばされてアクセスできない。以下の手順で、開発ツールでユーザーエージェントをChrome OSに変えてやる必要がある www.minitool.com

std::sortで指定する比較関数に追加の引数を渡す書き方

bAscendingOrderというBOOL型の変数をcompare関数に渡すには、ラムダ式を使用してこの変数をキャプチャします。そして、その変数をcompare関数内で使用することで、昇順か降順かを判定できるようにします。以下のコードは、bAscendingOrderをキャプチャして…

MFCでCStaticにicon表示する方法

アイコンリソースの追加: まず、使用したいアイコンをリソースとしてプロジェクトに追加します。リソースビューで新しいアイコンリソースを追加し、それに一意のIDを割り当てます。CStatic コントロールの準備: ダイアログエディタを使用して、ダイアログに …

visualstudioで github copilot の再認証

ここからできるよ

C++でCSVがutf8でもshiftjisでもshiftjisのデータとして読み込めるクラス

#include <iostream> #include <fstream> #include <vector> #include <string> #include <locale> #include <codecvt> class CSVReader { public: CSVReader(const std::string& filename) : filename_(filename) {} bool ReadCSV(std::vector<std::vector<std::string>>& data) { std::ifstream file(filename_); if (!fi…</std::vector<std::string></codecvt></locale></string></vector></fstream></iostream>

C++でエンコード自動判断関数

#include <fstream> #include <iostream> #include <vector> // エンコーディングを判断するための関数 std::string GetFileEncoding(const std::string& filePath) { std::ifstream file(filePath, std::ios::binary); if (!file) { return "Unknown"; } std::vector<unsigned char> buffer(4); file.r</unsigned></vector></iostream></fstream>…

C#でCSVのエンコードを自動判定して読み込む

.NET Core 3.0以降、Shift-JISエンコーディング(コードページ932)はデフォルトでサポートされなくなりました。そのため、カスタムエンコーディングプロバイダーを登録する必要があります。 using System; using System.Collections.Generic; using System.…

フォルダ内のすべてのJPEG/PNG画像に1ピクセルの黒い枠を追加するためのPythonコード

windows環境用実行フォルダにあるjpegすべてに1ドットの黒いフチを付けます # -*- coding: cp932 -*- from PIL import Image import os def add_border_to_images_in_current_folder(): # カレントディレクトリを取得 current_folder = os.getcwd() # カレン…

ポインタで渡されたクラスが継承された子クラスかの判定方法 MFC

C++でポインタ経由で渡されたクラスが特定の子クラスであるかを判定するには、dynamic_castを使用します。dynamic_castは実行時に型の安全なキャストを行い、指定した型へのキャストが不可能な場合はnullptrを返します。これを利用して、ポインタが特定の子…

リストビューを仮想リストビューに変更する

やるhirokio.jp

visual studio 2022 同じソリューションに.Net Frameworkと .Net Core のクラスライブラリプロジェクトがあるとデバッガが混乱する 

.Net Frameworkのプロジェクトでデバッグしようとしたら 以下のエラーがでた 致命的なエラーが発生しました。デバッグを終了する必要があります。 デバッガーは、Desktop CLR (.NET Framework) マネージド デバッガーを使用するように構成されていますが、 …

HTML JAVAScript コンテンツをランダムでどっちかだけ出す(A/B)

<html> <head> <title>ページのタイトル</title> </head> <body> <div id="contentA">コンテンツA</div> <div id="contentB">コンテンツB</div> <script> document.addEventListener("DOMContentLoaded", function() { var contentA = document.getElementById('contentA'); var contentB = document.getE…</body></html>

python TOPIX500の銘柄を公式のPDFから抽出する

www.jpx.co.jp ここの構成銘柄別ウエイト一覧のcsvが2023/9末で更新止まってしまってる2023/11/8現在 TOPIXニューインデックスシリーズ定期選定結果(2023年10月31日)にあるpdfにだけまとまってたのでそこからとってみた import pdfplumber # PDFファイルのパ…

C# edgeの指定タイトルもウインドウを探して、アドレスバーを取得して返す関数

/// <summary> /// 指定文字が含まれたEdgeウィンドウを監視して、URLを取得する /// </summary> /// <param name="sTitle"></param> /// <returns></returns> private static string MonitorEdgeWindowsForUrl(string sTitle = "127.0.0.1") { using var automation = new UIA3Automation(); string foundUrl = null; while (fou…

Excelで無効にさせられてしまったアドインを再度有効にする方法

オプション>アドインの管理で「使用できないアイテム」を選んで「設定」をクリック。そこから有効にする

System.Web.Security.Membership.GeneratePassword() の代替 (.NET Coreや.NET 5/6)

System.Web.Security.Membership.GeneratePassword()メソッドは、指定された長さと非英数字文字の数でランダムなパスワードを生成するために使用されます。.NET Coreや.NET 5/6ではSystem.Web.Securityは利用できないため、同等の機能を持つ代替手段を使用す…

.NET5以降でExcelのRTDServer実装方法 C#

もう.NET Frameworkは捨てないといけない regasmはもう要らない。.csprojでに <EnableComHosting>true</EnableComHosting>追加してビルド。するとhoge.comhost.dllというDLLができるので、これをregsvr32.exeで登録。大事なのはExcelが32bitなら32bit版のDLLを作って 32bit版のregsvr32.exeで登録…

batファイルからpowershellのスクリプト実行

powershell.exe -ExecutionPolicy Bypass -File "パス\スクリプト名.ps1"vbsの死が確定してしまったのでps1に引っ越ししていかなくては。

pythonでWTI原油先物価格の取得方法

import yfinance as yf data = yf.download("CL=F", start="2020-01-01", end="2021-01-01")"CL=F" は Yahoo Finance のティッカーシンボルで、西テキサス中間(WTI)の原油先物の価格を表しています。WTI原油は、北アメリカの主要な原油のベンチマークであ…

.htaccessファイルで ファイル指定での リダイレクト方法

.htaccessファイルを使用して特定のURLリクエストを別のURLにリダイレクトするには、RewriteEngineとRewriteRuleディレクティブを使用します。以下は "hoge" へのアクセスを https://hoge.net/download/data/hoge.csv にリダイレクトするための .htaccess の…

MFC MessageBoxで最前面に表示させる

MB_TOPMOST フラグを使用すると、メッセージボックスをシステムの最前面に表示することができます。これにより、他のアプリケーションのウィンドウに対しても最前面にメッセージボックスを表示することができます。 MessageBox(_T("This is a message box.")…

chromedriverが 115以降自動更新されないときの対応方法

2023/10/02時点、以下サイトで115以降の情報が並ばなくなったのが原因のようです。 chromedriver.chromium.orgJSON endpointsが公開されてるので、こちらをみてアップデートしてくれるようになればいいんでしょうが、すぐは無理なのかな。 https://googlechr…

std::unordered_map erase() 関数ではメモリは解放されない "swap trick"しよう

std::unordered_map における erase() メンバ関数は、指定されたキーに関連する要素をマップから削除します。しかし、erase() を呼び出しただけで、マップの実際に確保されたメモリが自動的に縮小するわけではありません。C++ の標準ライブラリのコンテナは…

python tweepy使った X(Twitter) API v2での投稿

pip install tweepy CONSUMER_KEY = '<input plase>' CONSUMER_SECRET = '<input plase>' ACCESS_TOKEN = '<input plase>' ACCESS_TOKEN_SECRET = '<input plase>' def authenticate_to_twitter(): api = tweepy.Client( consumer_key = CONSUMER_KEY, consumer_secret = CONSUMER_SECRET, access_token = ACCESS_…

ExcelVBA 指定列にオートフィルタON

.AutoFilter すると ON/OFF トグルするので、指定行にオートフィルタ適用されてるか確認して処理してます。 ' オートフィルタの範囲の最初の行がRowNum行目か確認 Function IsAutoFilterOnRow(WorkBookName, SheetName, RowNum) As Boolean Dim ws As Worksh…

ExcelVBA タブで区切られたデータをクリップボード使わずに指定セルから貼り付け

Sub PasteTabDelimitedDataWithoutClipboard() Dim Data As String Dim Rows() As String Dim Cells() As String Dim r As Long, c As Long Dim StartCell As Range ' タブで区切られたサンプルデータ Data = "Name" & vbTab & "Age" & vbTab & "Address" & …

ExcelVBAでESCキー押された判定する関数作成

標準モジュールでのみ実装可能です #If Win64 Then Declare PtrSafe Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer #Else Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer #End If Function Is…

VBAでURLエンコードするならWorksheetFunction.EncodeURL()

Excel2013から実装されてます ネタ元 hitoriit.blog

Excel VBAからSlackに投稿する

Slackのアプリ追加 ・Slack ワークスペースにログインします。 ・Slack APIのページ にアクセスして、Your Apps をクリックします。 ・Create New App ボタンをクリックします。 ・アプリの名前とワークスペースを選択し、Create App ボタンをクリックします…

MFCでwindowのタイトルで探してウインドウ閉じさせる処理

WM_CLOSE送ってもダメな場合はEndDialog()すればいけるかな HWND hMessageBox = ::FindWindow(NULL, _T("探すタイトル")); if (hMessageBox) { //::SendMessage(hMessageBox, WM_CLOSE, 0, 0); ::EndDialog(hMessageBox, 0); }