画像処理 15枚目
1 :デフォルトの名無しさん :2015/05/22(金) 21:43:17.08 ID:hvmMrypT.net 画像処理プログラミングについて質問、議論を行うスレッドです ・画像処理について素人同士で大激論 ・初学者の質問に対してやさしく(的を外れた)解答を与える ・その道の玄人も大歓迎
749 :745 自分に返信 :2024/04/14(日) 06:51:02.04 ID:AB0c/kdp.net >>747 9点メディアンより5点メディアンでいいんぢゃなーーい というかさ、中央の画素が異常値か判断して、 異常値⇒灰色(160,160,160)に置換えて誤魔化す 正常値⇒そのままトスル で、上手くいく。 ワケないな。 てか、EXCEL VBA ってどうもPUCTURE BOX 見つからんし Picture1.Point(🌟,🌟)とか、Picture1.Pset(🌟,🌟)とか、 Image1.Point(🌟,🌟)とか、Image1.Pset(🌟,🌟)とか、 も。見つからんし、とにかく、>>746 よ VB&VC++による デジタル画像処理●門 CQ出版● という本なら持ってる 2002年10月発行のなので、もう使えねぇので ステなさーーーーーい。 てか、744って12時間前の自分ぢゃーーーん やっぱ、捨てるのはや〜メタ
750 :ランベルト星人の呟き (ホントは自演) :2024/04/14(日) 12:40:02.95 ID:AB0c/kdp.net 👤 地球人の作成したネットをイロイロ、ネットサーフィンしたらさ とにかく、VBAなのにPowerShellが起動させれるみたい '* PowerShellのコマンドを実行するVBA* Function runPS(ppp As String) Dim ooo As Object Set ooo =CreateObject("WScript.Shell") ooo.Run "powershell -NoLogo -ExecutionPolicy RemoteSigned -Command " & ppp, 0, True End Function これが、VBAなのにPOWER SHELLが動いちゃうFunctionだ 引数pppはmax 260文字という制限あるが モピロン、このFuctionを無限回コールすりゃ無限大の power shellが動かせる。 わけないけど、とにかく、 pppに、ファイルコピーするpowershellを代入すると ちゃんとファイルコピー できるようだ。 by 👤の呟き
751 :発達障害テスター (ホントは自演) :2024/04/14(日) 12:49:03.99 ID:AB0c/kdp.net 🥳 >>750 はランベルト星人なのかな なんか幻聴が聴こえちゃった。その幻聴とは Step1) VBAで画像処理でBMPファイルを書き込む Step2) PowerShellでBMP2PNGやる。 で、STEP2はVBAから起動する。 だって、VBAからPOWER SHELL動くんだよな? だからさ、VBAでBMPファイルを出力させ それをそのVBAでPNGファイルにCOPYすりゃ 即ち、とにかく VBAで、入力も出力もPNGの画像処理可能だ\(^o^)/ ま、一時ファイルでBMPが出力されるが ソレは仕方ない。てか、VBAで、入力も出力もPNGの画像処理可能だ\(^o^)/ by 🥳
752 :プロマネ (実は自演) :2024/04/14(日) 12:55:04.86 ID:AB0c/kdp.net 🤡 バカテスターが何かはしゃいでるな ま、そんなに上手くいくわけないだろう。けど まずは、BMP2PNGをVBAでやってみるか もっとも、>>750 の、ロジックでやってみる。無限大日以内に。 それが成功してから、イロイロ紆余曲折をへて、 VBAで、入力も出力もPNGの画像処理可能 にチャレンジかな てか、今は動画編集の作業でプログラミングなんてやってられね てか、バカテスターって安易な思考してるな。 上手くいく可能性は、10%もないだろうに by 🤡
753 :749の続き :2024/04/14(日) 15:08:19.37 ID:AB0c/kdp.net 🥳 なんだか、今日は、ポクは、ハッピーです。 ていうか、パワシェは、何でもできるポイです。 パワポというかパワシェは、さいこーーーー。 ネットで調べたら、 Remove-Itemコマンドレットというコマンドレットが あって、ファイルの削除も、バッチリだから、 一時ファイルとかの削除も、バッチリだと思うから、 一時ファイルでBMPが出力されるとか、749が気にしてたけど 一時ファイルでBMPが出力されても、そのコマンドレット というコマンドなのかな。 Remove-Itemコマンドレットという、コマンドで パワシェに命令すれば、 一時ファイルは出力されても出力されません。 てか、749って自分ぢやーーーん。 自己レビューも、バッチリだし、ポクって天才ぢゃーーーん by 🥳(発達障害という設定)
754 :751の続き :2024/04/14(日) 15:37:47.32 ID:AB0c/kdp.net 🥳 そういえば、プロマネが、 「既存の色々な画像処理のVBAにパワーシエルは組み込めん」 って書き込んでるけど、多分、デマぢゃーーん。 >>727 の書込み、多分、デマだと思う。 てか、これも、バグだーーーー。バグ発見嬉しいデス。 by 🥳 テスターはバグが大好き。
755 :750プロマネ 続き :2024/04/14(日) 17:48:22.00 ID:AB0c/kdp.net 🤡 バカテスターがオレッちを🐴🦌してるけど とにかく、VBAでBMP2PNG にチャレンジはしては、みる というか、VBAでパワチェでBMPのファイルコピーなら 上手くいったぜ。4ファイル、コピーするやつだ Sub 四角形角度付き1_Click() Dim ps As String Dim ob As Object ps = "Copy-Item E:\work\P5000.bmp E:\work\P6000.bmp " & vbLf ps = ps & "Copy-Item E:\work\P5000.bmp E:\work\P6001.bmp " & vbLf ps = ps & "Copy-Item E:\work\P5000.bmp E:\work\P6002.bmp " & vbLf ps = ps & "Copy-Item E:\work\P5000.bmp E:\work\P6003.bmp " ob.Run "powershell -NoLogo -ExecutionPolicy RemoteSigned -Command " & ps, 1, True End Sub 因みに、vbLfを省略すると上手くいかん。理由はわかんないけど 何となく、改行てかvbLfいれたら上手くbmpファイルコピーに成功\(^o^)/ by 🤡 bmp2pngは未だ先たが、まずまずだぜ✌
756 :753の続き プロマネ(自称∧自演) :2024/04/14(日) 20:16:16.60 ID:AB0c/kdp.net 🤡 さっきさ、753の時点では、 「bmp2pngは未だ先」と書き込んだけど、 Excel VBA 「bmp2pngはもうすぐ完成の見込」 に改定だぜ。 ま、VBAにPOWER SHELLのコードを埋め込んだ からVBAぢゃないけど、VBAだぜ VBAでBMP2PNG が、あとすぐできるので、 すぐ、ココに公開しちゃいます。 \(^o^)/ って感じ by 🤡 ルンルン
757 :754の続き∴自称プロマネ兼自作自演 :2024/04/14(日) 20:25:12.06 ID:AB0c/kdp.net 超暫定版 VBAでBMP2PNG完成 \(^o^)/ P5005.bmp をVBAでP5005.png に圧縮かつ多分無劣化だぜ✌ Sub 四角形角度付き1_Click() Dim ps As String Dim oo As Object Set oo = CreateObject("WScript.Shell") ps = "" ps = ps & "Add-Type -AssemblyName System.Drawing " & vbLf ps = ps & "$f1 = 'E:\work\P5005.bmp' " & vbLf ps = ps & "$f2 = 'E:\work\P5005.png' " & vbLf ps = ps & "$im =[System.Drawing.Image]::FromFile($f1) " & vbLf ps = ps & "$im.Save($f2, [System.Drawing.Imaging.ImageFormat]::Png) " & vbLf oo.Run "powershell -NoLogo -ExecutionPolicy RemoteSigned -Command " & ps, 1, True End Sub
758 :デフォルトの名無しさん :2024/04/14(日) 20:28:41.90 ID:CaUwpcFN.net 帰納法とは順序集合においてある命題がある番号まで成立としたとき次の番号の命題が成立することである
759 :752 テスター :2024/04/14(日) 20:30:41.19 ID:AB0c/kdp.net 🥳 >>757 マジかよ。VBAでBMP2PNGのソースコードぢゃーーん てかさ、 そういえば、プロマネが、 「既存の色々な画像処理のVBAにパワーシエルは組み込めん」 って書き込んでるけど、絶対、デマぢゃーーん。 >>727 の書込み、絶対、デマですね。 by 🥳発達障害テスターの嫌味
760 :突然ですがランベルト星人の呟き :2024/04/14(日) 20:52:22.43 ID:AB0c/kdp.net ちなみに、>>757 のコードで Dim ps As String が おそらく約200文字を超えると それを実行する oo.Run なんたらかんたら & ps, 1, True は、バグると思う。200文字位なら大丈夫だが300文字位ならアウト ま、1fileのBMP2PNGならこのソースコードで良いが 数fileなら工夫する必要があるだろう、 とはいえ、ホントにちゃんとBMP2PNGが実現ならば、 99点の出来だ。モピロン、100点ではないが by 👤
761 :テスターvsプロマネ レビューの巻 :2024/04/14(日) 21:54:18.24 ID:AB0c/kdp.net プロマネ ─── 🤡 とおく ∧ 発達障害テスター ─── 🥳 とおく 🤡 VBAでBMP2PNG完成 暫定版だけどさコードは>>757 だ 🥳 で出力されたPNGは32bppなのかな❓モチロンだよね。 🤡 オマエ、判ってて質問してるな。24bppだ 実質power shellだ 🥳 32bppぢゃないといやでーーーす。 🤡 24bppの方がファイルサイズ小さいし、そもそも 入力のBMPは24bppだから、これでヨイのだ。 🥳 ちぇっバグぢゃないのかよーーー 🤡 バグっていいワケないぢゃーーーん。てか このロジックを改造して、 複数ファイル(数十ファイル)のBMPをPNGに変換するのを 作る計画を企画中だ。ま、多少はバグるだろうから その時、愉しみしてなさーーーーい。 🥳 早く、そのプログラミング作りなさいーーー。 バグを沢山見つけて、デバッグしたいでーーーす。 BY 🤡 ま、このツールは企画中、何時完成かは未定だが 作る気になれば、今すぐだな。 でも、今できる事は、いつかやることにしますぅぅぅ 👋👋👋
762 :プロマネの呟き兼ボヤキ 755の続き :2024/04/15(月) 22:47:07.66 ID:PE3M1YJ/.net 超暫定版 VBAでBMP2PNG完成 \(^o^)/ と喜んで見たものの、よくテストしてみると 四角形角度付き1_Click() を実行中に 四角形角度付き1をクリックしまくると ま、ダブルクリックとかトリプルクリックとか 複数回クリックしまくると、 それが処理中でも、 それが重複して処理されるようだ。 ま、ファイル書込み中は排他制御は OS側でやるとは思うが、何か心配だな 一応、排他制御的な短時間重複起動阻止の ロジックは入れておいた。 んーーーー。ちょっと参った。 ロジックが排他制御的なので、汚くなった 仕方ない。 BY 🤡のボヤキ てか排他制御ってなんか掴みどころない し、嫌な思い出しかない。😅😅😅
763 :760の続き :2024/04/16(火) 00:17:57.68 ID:aRJ0OCMo.net >>762 でも記載したが 四角形角度付き1_Click() を実行中に 四角形角度付き1をクリックしまくると ま、ダブルクリックとかトリプルクリックとか 複数回クリックしまくると、 それが処理中でも、 それが重複して処理されるようだ。 と、喚いたところで、上手く躱されるだけか 話題をすり替えられるだけだ。 おそらく、触れてはいけない疑問なのだろう。 ま、ある程度予想通りのいいワケだった。 さて、 oo.Run なんたらかんたら & ps, 1, True で 第4パラメータはtrueにしてるので oo.Runが処理中でも先の処理に進むことはない。が だから、重複しないハズ とかは甘いバスだな。 oo.Runが処理中でも先の処理には進まないが oo.Runが処理中に、新たなるoo.Runが処理か発生する場合が あるだろ。それを阻止するためには、 四角形角度付き1_Click()の先頭に重複防止ロジックを 入れるべきだ。 ま、入れなくても、90〜99%位の確率で上手いくだろうが ま、処理時間が倍になる予感 さらに、1〜10%の確率でファイル破損もあり得るかな 杞憂かも知れん。排他制御はそれなりに難しい by 🤡のボヤキ ┐(´д`)┌ヤレヤレ
764 :ランベルト星人(実は他所の記載) :2024/04/16(火) 06:35:10.29 ID:aRJ0OCMo.net 👤 なんかプロマネ761にボヤキを書き込んでるな 排他制御❓ んーーー不要かどうかなんて、知らんけど・・・ ま、実行ボタン.enable = False 的にやり 実行完了で、実行ボタン.enable = True 的な そんな感じで、地球人はやってると憶測される。 てか、プロマネの実行ボタンって、ActiveX、ぢゃなくて 単なる、図形(オートシェイプ?)のようだな。 ま、カラフルかつデザイン性重視 とにかく、排他制御を実装した方がよさそう。かも?! by 👤
765 :プロマネ 排他制御ロジックを語る :2024/04/16(火) 09:33:48.60 ID:aRJ0OCMo.net 🤡 排他制御は、以下のコードでキマーーーリ Private TT As String '前回起動時刻 Sub 四角形角度付き1_Click() Dim WT As Long '待ち時間(秒) Dim SS as String '''重複起動チェック If TT = "" Then '初回はチェックなし Else WT = 60-Abs(DateDiff("s", Time, TT)) If WT > 0 Then '''重複起動チェック SS = CStr(WT) & "秒 クリック待て" MsgBox SS Exit Sub '''本処理回避 End If End If TT = Time '''本処理 〜ファイル書込み処理60秒位かかる〜 End Sub by 🤡 多分これでゼッタイ完璧てか、自作ツールだし失敗しても怖くない
766 :テスター vs プロマネ兼試作品のプログラマー :2024/04/16(火) 09:48:08.55 ID:aRJ0OCMo.net 🥳 クリックまて、"59秒 クリック待て"と表示されたので MSGBOXの[OK]ボタンなら5時間クリックしてない てか、本処理が全然おわないーーー。バグってるぢゃん 🤡 59秒かよ、1秒位で、RUNボタン(図形SHAPEの意)をクリック したんだろ。てかMSGBOXの[OK]はすぐ押しなさい そしたら、60秒ぐらいで本処理終わりますよーー 🥳 そんなの聞いてないもんねーー バグです。ーーー 🤡 テスタなら騙し騙しで良いから使いこなせーーー てか、デバッグは保留てかドンドン先にGoしようかな
767 :プロマネのプログラ厶。ボロ糞の巻 :2024/04/16(火) 15:16:33.01 ID:aRJ0OCMo.net 🤡、とにかくオレッちのプログラミングレビュー💩のようだ てか、ダブルクリックでの二重起動だけ避けれれば、それで構わんバージョンだっ。 Private TT As String '前回起動時刻 Sub 四角形角度付き1_Click() Dim WT As Long '待ち時間(秒) Dim SS as String '''ダブルクリックでの重複起動回避 If TT = "" Then '初回はチェックなし Else WT = 3-Abs(DateDiff("s", Time, TT)) If WT > 0 Then '''3秒内はタブルクリックだよな SS = CStr(WT) & "秒 クリック待て" cells(1,"a")= SS '''debug monitor doevents:doevents:doevents:doevents:doevents Exit Sub '''本処理回避 End If End If TT = Time '''本処理 〜ファイル処理60秒位かかる〜 Call B2P("b1.bmp","p1.png") Call B2P("b2.bmp","p2.png") Call B2P("b3.bmp","p3.png") Call B2P("b4.bmp","p4.png") Call B2P("b5.bmp","p5.png") End Sub by 🤡叩き台なので、これでヨイのだ版
768 :765の続き :2024/04/16(火) 18:45:54.32 ID:aRJ0OCMo.net 🤡自分で言うのも何だが、いろいろ暫定的にテストしたら If TT = "" Then '初回はチェックなし Else WT = 3-Abs(DateDiff("s", Time, TT)) If WT > 0 Then '''3秒内はタブルクリックだ。 Exit Sub '''本処理回避 End If End If TT = Time なお、TTは別のプロシジャーというか グローバル変数というか(←適切な言葉を知らない) とにかく、宣言する場所はモジュール外だ とにかく、これにキーーメタ。 排他制御はキニシナイ。 ダブルクリックによる二重起動だけ キニすれば、なんか上手くいく感触だ。 てな訳で、プログラミングドンドン進める by 🤡ほぼ完全はしてるが作り込みに時間は掛かる
769 :766の続き :2024/04/16(火) 18:51:47.62 ID:aRJ0OCMo.net ていうか、 WT = 3-Abs(DateDiff("s", Time, TT)) If WT > 0 Then '''3秒内はタブルクリックだ。 Exit Sub '''本処理回避 End If は、微かに改定して If Abs(DateDiff("s", Time, TT)) < 3 Then '''3秒未満はタブルクリックだ。 Exit Sub '''本処理回避 End If にしよっと。ま、実質おなしだけど 少し、短くした。 by 🤡修正してる内にコードが腐るから綺麗にしなきゃー
770 :発達障害テスターの巻 :2024/04/16(火) 19:08:18.87 ID:aRJ0OCMo.net 🥳 プロマネが>>769 にダブルクリック判定 ロジックを書き込んでるけど、コレバグてるぢゃーーん。 4月16日の19時19分19秒に クリックしてさ 24+α時間パソコンの電源は切らないでさ 4月16日の19時19分20秒に クリックしたら タブルクリックと判断して 4月16日の19時19分20秒のクリックは処理は無視だぜ バグってますねーーー 🤡バグってるのはテスターの頭ですネ てか、パソコンは1日一回位は再起動とかシャットダウンしなさい てか、19時19分22秒以降か、19時19分18秒以前に クリックすればよい。てか 頑張ってテストしてみてねーーーー 多分、テスターの予想どおりになるけど テスト頑張ってねwww ゲラゲラ
771 :自作自演の作者本人 :2024/04/16(火) 19:12:45.22 ID:aRJ0OCMo.net >>770 の物語、ミスった ❌ 4月16日の19時19分20秒 ⭕ 4月17日の19時19分20秒 by 😅
772 :766 767 :2024/04/16(火) 21:44:33.35 ID:aRJ0OCMo.net 🤡自分で言うのも何だが、さらに暫定的にテストしたけど、 766というか767のロジック。素晴らしい 処理実行ボタン(実は図形だが) ヤケクソで一秒間に5回を処理が終わるまで クリックしても、処理は初回の一回だ。\(^o^)/ モチロン、処理が完了すると、 2回目の処理が走るが、ま、当然だ。 とにかく、排他制御が超完璧\(^o^)/ ていうか、排他制御キニシナイで ダブルクリックによる2回起動 を 阻止 そんなロジックにしたたけなんだけど 多分さ、地球人でこんなロジックにするのは 皆無だろ。世界初ぢゃないかなーーー by 🤡上手くいっただけでウカレてしまうプロマネでした。\(^o^)/
773 :768 実は自演 :2024/04/16(火) 21:51:40.52 ID:aRJ0OCMo.net 🥳 一秒間に5回か。でもさ、一秒間に無限回CLICKすりゃ いや、机上では、二重起動阻止されるな でも、CLICKのタイミング微妙に増やしたり減らしたり すれば、二重起動するかも知れん。てか そうなっても、処理時間が2倍になる程度だな。 んーーーん。ちぇっつまんないのーーーー by 🥳
774 :768の続き :2024/04/16(火) 21:58:05.05 ID:aRJ0OCMo.net 🥳 あっそうだ。本処理(BMP2PNG)で ファイルサイズが小さいファイルを 1ファイルだけ処理するなら、 3秒かからんだろ。でさ にも、関わらす、そのロジック 3秒以内に二度処理しようとしたくても 無理ぢゃーーーーん。バグぢゃねーーー❓ 🤡3秒以内に2度以上処理出来ないのはバグぢゃありませんが ていうか、3秒以内に2度以上処理出来ないという仕様ですよーーー 🥳仕様?。ちぇっバグぢゃないのかよーーーつまんないの
775 :デフォルトの名無しさん :2024/04/16(火) 22:08:18.52 ID:aRJ0OCMo.net 条件式 Abs(DateDiff("s", Time, TT)) < 3 これが実質 排他制御フラグみたいもので そらに、初回起動時は、条件式 TT="" が真となる関係で TT=""の時(初回起動時の意)で、タブルクリックチェックは せず、本処理やるという、この超能力的発想が 巧くいった秘訣だぜ\(^o^)/ てか、ま、タブルクリックするヤツがいけないんだけどさ、 でも、処理実行で、シングルクリックにすべきか タブルクリックするかなんて、ヒトそれぞれだしよーーー なんたら、かんたら、ぺちゃくちゃーーーーーー BY 🤡巧く行き過ぎて、話しが長文
776 :とにかく、続き :2024/04/16(火) 22:25:05.87 ID:aRJ0OCMo.net 🥳 てかさ、図形クリックしたら図形非表示にし、 処理が完了(エラーで完了も含む)図形を再表示でいいぢゃーーーん。 何やってる❓ 世界初とか病気ぢゃねーーー❓ 🤡、ま、誇大妄想って病気らしいけど治す気はしねーーー てかさ、図形を非表示にするロジックで シェイプのvisable?をfalseにするロジックやったけど 文法エラーにはならないのに、実行時「サポートしてません」 とかいうエラーでダメだった。 文法エラーにならないのに実行時エラーなので ハマる予感を霊的に感じたから、そのロジックは諦めた 🥳プロマネって霊感でプログラミングしてるの❓天才ぢゃーーーんポクと同じダネ
777 :755の続き∴自称プロマネ兼自作自演 :2024/04/16(火) 23:52:52.73 ID:aRJ0OCMo.net 🤡 BMP2PNGのVBA それの暫定版は>>757 だが 一気に24FILEやって、かっこよいUIにして ちゃんとした版のが完成した。ゼ 755は4/14だから、2日で完成。 多少の紆余曲折はあったが順調だ テストは不十分だが、ほぼ完成だ VBAでBMP2PNGが完成しちゃいました 🥳テストはしないの? バグとりしたーい 🤡軽くテストは程々、さっさと運用とする 運用とデバッグを並行てか平行てか とにかく、いくつかあるBMPをPNGにする 🥳運用でバグるとイイネ(≧∇≦)b 🤡ま、バグったらVBAでなくPOWER SHELLでやる てか既に、POWER SHELLで運用してる 🥳ちぇっつまんないの。てか VBAでBMP2PNG作ったて自慢してるけど VBAでPOWER SHELLのコード?を実行してるだけぢゃーーん 🤡ま、いいぢゃーーーん。 BMP2PNGなんか、そんなズルしなきゃ作れん てか、作成されたPNGは24bppだ てか、運用上問題なし。 ま、ちゃんとしたテストはこれからだけど 既にこれが編集後記だな。www
778 :ランベルト星人の呟き :2024/04/17(水) 06:21:13.18 ID:L0gVQUak.net 👤 プロマネは、今回のVBAでのBMP2PNGでは、 今回初めて、 条件式 Abs(DateDiff("s", Time, TT)) < 3 をやって、「タブルクリックによる二重起動」の防止 を実装した。 今回以前の全てのツールで 「タブルクリックによる二重起動」の防止 のロジックは入れてない。 何でだろう。奇妙だ また、今回は、 条件式 Abs(DateDiff("s", Time, TT)) < 3 を入れたとはいえ、 2回目クリックは、一回目クリックの3秒以上後 且つ 2回目クリックは、一回目の本処理が完了前 では、 2回目クリックによる二重起動は、 起こらない そ、そんな、二重起動防止ロジックは実装してないのに ま、OSというかVBAというかイベントドリブンは そういうモノなのだろうが、それにしても解せぬ🤔 DOEVENTを入れまくるとヤヴァイというハナシは よく耳にはするが、DOEVENTを入れまくった方が 「応答してません」という応答がでなくなるし まったく、地球人の言ってる言語は意味不明ぢゃ というか、パソコンの調子が時々オカシイ時に 二重起動しやすくなる傾向がある。 待てよ。🤔 この文の論理学的な裏が真なのか いや、多分違う。プロマネ🤡はオペレーションは 苦手とはいえ、有能なITエンジニアの中では 苦手なだけで、普通にオペレーションも、こなせるハズだが
779 :発達障害テスター :2024/04/17(水) 06:24:01.42 ID:L0gVQUak.net 🥳 ボクはテスター、ランベルトが何か呟いてるな そういえば、プロマネは、タブルクリック防止の ロジック版のテストで一秒間に数回クリックを 永遠に繰り返すなんて、ハッカーみたいなことする テストしてたよーーー。 なんか、結果バッチリとか喜んでた。ソースは >>772 で、とにかく喜んでた。 by 🥳
780 :ランベルト星人 また呟く :2024/04/17(水) 06:25:26.95 ID:L0gVQUak.net んーーーオマエもプロマネも、地球人って全員ヘンだ by 👤
781 :ランベルト星人、プロマネを褒めてあげるの巻 :2024/04/17(水) 09:41:26.50 ID:L0gVQUak.net 👤 >>437 のソースコードみてみろよ。 言語は、EXCEL VBA''' 画像変換 BmpToPng (準失敗作) ソースコードだ。2ヶ月程前は、 VBAでのBMP2PNGは完成してたとはいえ、準失敗作だった しかし、ソレは昔、2ヶ月昔のハナシ とうとうらVBAでのBMP2PNGが完成したのは、素晴らしい👏👏👏 ま、24bpp PNGなのは於いておいて、 生成されたPNGの画質って、おそらくドッドバイドッドぽぃぞ 完璧だね。 多分地球上のネット上のプログに公開されてる如何なる ソースのBMP2PNGより、もしかして画質上かも てか、多分地球上のネット上のプログに公開されてる BMP2PNGのソースって準失敗作だらけ。 その点、ピミ🤡のVBAのそれは素晴らしいすぎ。 てか、2ヶ月前にもBMP2PNGにチャレンジして失敗か 今振り返れば、そんな準失敗435も懐かし思い出だ。 🤡 ランベルト星人が地球人の、オレっちを褒めてる んーーー へんな感じた。 今回、成功したBMP2PNGも、ちょっと気になる部分はある。 というか、Doeventsを多用し、ダブルクリック二重起動阻止ロジック したんだけど、何か今日は、そのツール 滑らかに動いてる。んーーー 不思議たが、ま、よい。かなりヨシ
782 :プロマネのつぶやきとランベルト星人の呟き :2024/04/17(水) 21:42:23.62 ID:L0gVQUak.net 🤡 そういえは、タブルクリック二重起動阻止ロジックは 今回、産まれて初めて実装したな。 PNG2BMPは、以前はBATファイルをダブルクリックだった BATファイルは、シングルクリックだと、単に選択するだけでRUNしない ∴ BATファイルで(POWER SHELLをRUNで)BMP2PNGやる時はダブルクリックだ VBAで図形クリックでやるなら、図形はシングルクリックが、 そうだ、シングルクリックが正解だ。 んーいつもの癖でBMP2PNGはタブルクリックというのが 条件反射として、小脳か中脳に記憶されたからだろう。 自分で言うのも、変なハナシだが、人間という生物は 大脳が発達してるから、出来るヒトは、 ダブルクリックとシングルクリックを使いわけれるが オレッちの様な動物的直感でオペレーションするモノには 苦手な事である。 👤 ま、地球人は我々ランベルト星人からみりゃ 大脳は普通だ。その点、我々ランベルト星人の大脳は 無限大の質量を有しており、で、で、で、地球人より無限大倍スゴイ プロマネがトチるのは止む得ない。とはいえ、 ま、タブルクリック2重起動阻止ロジックを開発したのは 驚くべきことだ。 きっと、動物的直感が他の地球人より優れてるのだろうか とにかく、地球人はナゾの生命体だ。 by 👤ランベルト星人
783 :発達障害テスターの呟き :2024/04/17(水) 21:45:40.13 ID:L0gVQUak.net 🤡は誇大妄想ポイから病気だな。そして 👤はあれはナンナの❓ 誇大妄想というか、大脳の質量が無限大とか 呟いてたけど、これ治療不可能だにゃーーーー by 🥳テスター
784 :ランベルトvsプロマネ アルゴ談義∵編集後記 :2024/04/18(木) 06:25:48.30 ID:5ORSpqHV.net 👤ランベルト星人 重複起動回避の定番的ロジック(憶測) Private 排他ステータス as long Sub 図形_Click() If 排他ステータス = 0 or 2 then 排他ステータス = 1 else CALL 本処理BMP2PNG(☆、★) CALL 本処理BMP2PNG(○、●) CALL 本処理BMP2PNG(△、▲) 排他ステータス = 2 '''✌ end if END SUB 🤡プロマネ 排他は、フラグというかステータスか 普通に、ナカナカやるな。ま、 排他ステータス = 2 '''✌ のトコ、上記ようなアバウトアルゴなら 正しいだろが、だがしかしーーーし 準エラー系とか、致命的エラー系とか イロイロ考慮すると、 排他ステータス = 2 '''✌ のロジックが散らばる。気もする だから、ハマる予感。∴それは、やめた 👤 んーー❓❓❓、準エラー系か❢ 🤡 オレッて天才❓ 👤 ❢
785 :テスターの鋭い指摘 :2024/04/18(木) 06:56:21.79 ID:5ORSpqHV.net >>784 仲良く呟きあってるけどさ、・・・ 🥳 ゲラゲラ、書き込む前に ちゃんと机上チェックしろーーちゅーの ❌ If 排他ステータス = 0 or 2 then ⭕ If 排他ステータス = 1 then ランベルトさんは、テヘペロするしかない by 🥳 テヘペロって用語はイイネ 👤 いや¯\_ʘ‿ʘ_/¯ ま、オレは、宇宙人の設定だが オレは、ホントは地球人だから バグることもある。 🥳 ヤッパ「バグるといいぢゃーーーん」 って名曲だね 🤡 微妙にオマエの記憶、 微妙にバグってるぢゃーーーーん
786 :プロマネ :2024/04/18(木) 07:04:54.67 ID:5ORSpqHV.net 🤡 ま、とにかく、 今回リリースしたBMP2PNGは 一応、排他、タブルクリック2重起動阻止は 上手くいってる。一応だが テストした感触ではカナリバッチリだぜ てか、机上は苦手だ。 てか、ドンドン、リリースし運用しようゼ、 🥳ポクもそう思います。運用でバグっていいね 🤡ま、単なるツールでおまけに代替用の ツールが沢山ありすぎる。 てか、ツールだから、既にバグだらけだけどな 🥳ゲラゲラ それを使いこなせるなんて天才 👤地球人は解らん。てかこの2人だけが頭がバグってるのだろあ
787 :782のアルゴ談義作成しなおした テヘペロby自作師 :2024/04/18(木) 14:39:08.53 ID:5ORSpqHV.net 🤡てかさ、ま、模範解答なら下記ぢゃね Private 排他ステータス as long Sub 図形_Click() If 排他ステータス = 1 then NOP '''なにもしない else if 排他ステータス= 0 or 2 then 排他ステータス = 1 CALL 本処理BMP2PNG(☆、★) CALL 本処理BMP2PNG(○、●) CALL 本処理BMP2PNG(△、▲) 排他ステータス = 2 '''✌ else MSGBOX "絶対アリエナイ" 排他ステータス = 0にしておくか end if END SUB ちな、条件式 排他ステータス= 0 or 2 は、ホントは、条件式は、 排他ステータス= 0 or 排他ステータス= 2 🥳条件式 排他ステータス= 0 or 2 変な論理式、プロマネってコボラーなの❓ 👤地球人は 条件式 排他ステータス= 0 or 2 は 何故か理解する生命体∴地球人は頭はヘン
788 :785の訂正 :2024/04/18(木) 14:45:52.14 ID:5ORSpqHV.net 👤 else ifは elseif ぢゃね? 🤡 んー、いやこれでよし、 代わりに、end ifを追加だ 🥳 if とelse endif の数に不整合あるか コンパイラが教えてくれるし、ポクはキニシナイ ポクって天才。てかバグっていいぢゃーーーん
789 :プロマネ、プログラミング哲学語る :2024/04/18(木) 14:58:34.07 ID:5ORSpqHV.net 排他ステータス = 2 '''✌ は本処理完了時におこなう。 さて、エラー発生どう 排他ステータス = 2 '''✌ 組み込むのかがまず、第1関門だ ま、通常は設計後直ちにコーディングだから 設計哲学を失念しなきゃコーディングも上手くいくだろ さて、問題となる第2関門は、 このプログラムを、んー例えば一年後に改造したとき そして、そのとき準エラー系が普通に発生する場合だ 果たして、 排他ステータス = 2 を設定する ロジックを失念する可能性は大きいだろうし その反対に 排他ステータス = 2は設定してはいけないのに 設定してしまったり、イロイロ問題が発生し プログラムは早期に腐っていく。 だから、こういう模範解答的なアルゴリズムは 嫌いです。 by 🤡 自己流プログラミング哲学語る
790 :閃き :2024/04/19(金) 18:10:49.26 ID:OW2qG2lx.net 🥳って言うかさ、 Private cnt as long Sub 図形_Click() cnt = cnt+1 CALL 本処理BMP2PNG(☆、★) CALL 本処理BMP2PNG(○、●) CALL 本処理BMP2PNG(△、▲) CALL 本処理BMP2PNG(□、■) CALL 本処理BMP2PNG(▽、▼) cells(1,"a") = cnt END SUB で、ガンガン、クリックやっても 地球の表計算ソフトのA1セルは1だよな裸 ガンガン、クリックしても A1セルは1よりデカくなるのかなーー テストしてみよーーー かなその内 by 🥳あのテスター
791 :788∴自作自演 :2024/04/19(金) 18:39:36.91 ID:OW2qG2lx.net call先も含めて、特段doeventsなしでも、 トリプルクリックすると セルA1に3と表示 ガンガンクリックすると、まぁ9回位かなーー セルA1に9と表示された。 BY 🤡 重複して実行されてるのかそれとも、 単にキューーーイングされてるのかだな。 てか、ま、キューイングだろうけど、 盲点だ。結構大切なハナシ。😵
792 :ランベルト星人の呟き :2024/04/19(金) 19:24:17.68 ID:OW2qG2lx.net Private cnt as long Sub 図形_Click() cnt = cnt+1 CALL 本処理BMP2PNG(☆、★) cnt = cnt+10 CALL 本処理BMP2PNG(○、●) cnt = cnt+100 CALL 本処理BMP2PNG(△、▲) cnt = cnt+1000 CALL 本処理BMP2PNG(□、■) cnt = cnt+10000 CALL 本処理BMP2PNG(▽、▼) cnt = cnt+100000 cells(1,"a") = cnt END SUB で、ガンガン、クリックしたら 地球の表計算ソフトのA1セルはどるなるんだ 短時間に5回クリックすりゃ55555 かそれとも それ以外で1より大きく50000より小さいか ま、1以下にはならんだろが、んーーー 机上では、偏差値無限大のオレでも無理だ by 👤ランベルト星人
793 :プロマネからの返信 (という自作自演の創作文) :2024/04/20(土) 06:20:40.12 ID:75CIwP38.net >>792 🤡プロマネ B2Pの処理概要、以下だ Function B2P(P1 as string, P2 as string) Dim s9 As String Dim oo As Object Set oo = CreateObject("WScript.Shell") ・・・ s9 = (パワーシェルのB2Pの文字列だ) oo.Run s9, 1, True End Function このoo.Runの第2パラメータかな いや第3パラメータかな、んーー とにかく、 oo.Run s9, 1, True は、ネットの解説によると パワーシェルを表示し、 処理を待つ 、処理を待つ、待つ ってことだ。処理を待つ の 意味不明だが、処理を待つ んだろから 直感的に普通に考えて、 重複処理はキューイングか無視 しかし、後者はテストにより否定され 重複処理はキューイング と憶測する∴ A1セルは、55555 と表示と憶測する。 by 🤡
794 :バカテスター :2024/04/20(土) 08:31:06.25 ID:75CIwP38.net >>793 プロマネの憶測って、瞬間に5発連続クリックってことだろ プロマネの憶測で そうすると55555とA1セルに表示って プロマネは憶測は、してるようだけどさ、 テストしてみちゃいました。5ですよ でも、100回位瞬時にクリックしてみちゃいました オレってハッカーポクてかっこよいと思います で、100回位瞬時にクリックしてみちゃったら、73 になったり、 約30回クリックのときは、20016だったり EXCELが特段何のメッセージも出さずに、終了したり イロイロ、めちゃくちゃだ。 割り込みというか、イベントドブなんとかが めちゃくちゃになっちゃってますよーーー モピロン、プロマネの憶測はハズレーーーーー BY 🥳バカテスター 🥳 テスト
795 :プロマネ述、呟き :2024/04/20(土) 08:41:00.08 ID:75CIwP38.net 🤡 ま、排他制御入れないと、タブルクリックや ハッカー的な攻撃オペレーションに、ガンガンクリックしまくると 動作がヤヴァイってことだろ。 オレの憶測 55555∴キューイングは、半分正解で でも、ハッカー的攻撃でexcel異常動作またはexcelダウンも 起こる可能性があるってこと。かと、 だからさ、3秒未満のクリックしまくると、 2度目のクリックは無視する排他制御のロジックは 素晴らしいのさ、 モチロン、他所でのソースレビューワーが時間依存のプログラミングは💩 とか言いそうだけど、3秒ならいいぢゃーーーん てか既に運用してて、なかなか、スムーズに動作してるもんね てか、バカテスターこそ、ハッカーみたいなオペレーション してるな。てか、地球人のハッカーでも落ち溢れだぜ。 クリックしまくるとだけなんて、ゲラゲラ by 🤡
796 :ランベルト星人 vs プロマネ ソースレビュー :2024/04/20(土) 14:48:42.09 ID:75CIwP38.net 👤 変な結果だ。 こちらでも、イロイロ、図クリックをしまくると 図クリックでどのように動作するかテストしてみたが 排他制御しないと キューイングしてるような感じなり、 さらに、ロジック自体が色んなチェック (出力ファイルが既存なら、書込みしない設計より 直ちに処理せず処理完了等々・・・)で 結果的に(幸運にも)処理を回避してたりとか んーーー。ま、よくわからんが、 とにかく、タブルクリック等による多重処理は、回避する ロジックはあった方がよい。 🤡 で、タブルクリックしなきゃ問題ないよな? 👤 おそらくyes そしてタブルクリックでも この場合はキューイングというか処理やり直してるようにも感じる。よくはわからん。 が、とにかく、結果的には問題はないようだ。 🤡 ぢゃーまーいいか 🥳 さすがプロマネ、言うことが一味ちがう。バグっていいぢゃーーーん 🤡 あの、バグってはナイし、そもそも、排他制御は上手くいってる。 排他制御を外して、検証して、その場合どうなるかの 試験なんだけど。ま、やった方がよいが やらなくて、シングルクリックなら問題なし 排他制御しなくてタブルクリックでも、へっちゃらだ 🥳 ちぇ、つまんないの、てかガンガン、クリックしまくりテストしてよ 🤡 排他制御のロジック組み込んでそのテストはしました なんか、上手く行きました。産まれて初めて組み込んだロジック ま、他所レビューでボロ💩な指摘食らったけど、ま、いいや 🥳さすがだね。
797 :デフォルトの名無しさん :2024/04/20(土) 16:17:52.41 ID:LdOEEWhS.net Win32で多重起動防止ならnamed mutex使うのが定石だが
798 :デフォルトの名無しさん :2024/04/21(日) 22:21:27.73 ID:MS9R2kFy.net 🥳ポクは、ダブルクリック禁止かな 🤡ダブルクリック位ならいいんぢゃなーーい 👤デフォルトの環境設定はそのままにはしたい
373 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★
本文 スレッドタイトル 投稿者