C言語始めた。GUIまでたどり着ける気がしない
初心者向けの本で勉強してるけど、実行したらコマンドプロンプトに色々表示されるじゃん? そもそもこの枠から脱出するプログラムって書けるのか?天才過ぎねーか やりたいことが明確にあるならより実現に近いルートとしてc#やるのもいい 言語覚えたいってならcをやるのもいいんでない 仕事じゃないなら自由だし両方つまみながらも出来るんならアリだし >>71 お前はいい加減、最初の20レス程度の流れぐらい把握しろや >>66 組み込みではCで書いているよ。 イベント、メッセージドリブンで、Label、Image、LstBoxやらWidgeをtypedefクラス化して表示している。 OS書いてるようなもの。 てか、他にはQt for MCUのようなプロプライエタリを使うしかない。 メジャーな言語ならググれば入門用のサイトが出てくるどころか、この板にある各初心者用のスレのテンプレにも役立つURLが書いてある そんな状況でこんなスレ立てるやつは勉強する気が無いけどかまってほしいだけだろう Cをやるのが合目的的でなかったらおすすめはしないでしょ 普通は rust とか go とかなくとも困らないけど、 CとCOBOLがないってのは困るな。 Win32でpng画像使った時て一つのexeにまとめる方法あるのだろうか? bitmapならexeファイルひとつになるのにpngだと外から呼び出す方法しかのってない... >>81 リソースかダウンロードを使えばできるよ。 FindResource、LoadResource、png_set_read_fnあたりだね。 >>82 ありがとう、何冊か書籍買って読んでも分からなかったんだ その単語で検索してみるよ リソースファイルに 100 PNG "my-file.png" って書いてFindResourceなどでメモリー上に読み込む。それを某png関数で読み込めば完了。 libpngをスタティックリンクする話じゃなかったのか 現在の知識では理解できなかった... とりあえずコメントをメモってわかるようになったら またやってみるよ >>85 エロゲー作るから他フォルダにまとめて使うようにするとフォルダー覗かれたら 内容がわかるのでそれを防ぐために一つのexeファイルにしようとしてるのだけど これがスタティックリンクのほうかな?(ググて流し読んだ) png使う処理もだけどまとめる処理もわからない状態で2つとも達成したい 現在の知識では、上の目的を達成できなさそうかな 単純にexeにリソース追加してもデータとして存在している事は調べたら分かるから 見られたくないという場合は暗号化をかけるなりの工夫が必要だな 一番簡単そうなのはzipでパスワードをかけて圧縮してフォルダに保存しておく方法かな ファイル名でパスワードの規則が変わるならバレにくい まあ、パソコン詳しくない人がフォルダあさって画像みてネタバレしないための処置だから ガチで見られたくないわけでもないが pngもbitmapみたいにoファイルにしてくっつけてるのかな?調べても分からなかった 現知識では理解できないということか bmpでできるならpngファイルをbmpにすればいい >>85 漏れも最初に質問読んでそうかと思ったが 第一解答者がエスパー過ぎてexeに埋め込む話だと良く判ったなと感心した 前者の発想はむしろプログラマとしては既に上級なのかも試練 NGあるのか? https://katahiromz.web. えふしー2.com/re/ja/ http://wisdom. さくら.ne.jp/system/winapi/win32/win72.html >>92 自分の理解度が低いため説明がうまくできない 質問の流れ↓ 1.bitmap画像を使用したゲームをつくっていて 2.画像枚数が多くbitmapでは容量がすごくなる 3.pngを使って軽くしよう 4.bitmapで制作したときは画像をrcファイルでoに変えて全部まとめてexe一つにしてた 5.pngは使用時は4の時みたいにまとめた状態で使うのどうするのだろう?←ココ png画像をつかう関数みたいなのは検索したらでてきたけど全部外から 使うのしか見つからなかったため まとめ方はbitmap と同じでいいのか?まとめた場合どうやって使うのか? の2つがわからない よくわからないが、見る限りまとめ方はrc使ってるのでbitmapと同じでいいということか 確認しようにもpngをまとめた後表示する方法が謎 書いてもらった情報の中にあるかもしれないが現状わからない でも、情報ありがとう >>94 >png画像をつかう関数みたいなのは検索したらでてきたけど全部外から >使うのしか見つからなかったため >まとめ方はbitmap と同じでいいのか?まとめた場合どうやって使うのか? >の2つがわからない 100. まず、MS標準のGDI+の Imageクラスには、*.png をファイルから読み込むものと、 IStreamから読み込むものとが有り、後者を使えば以下のようにしてメモリーから 読み込むことも可能 : IStream *pStream = SHCreateMemStream((BYTE *)pBuf, size); (ここで GDI+のImage クラスを使って ong ファイルを読み込む); pStream->Release(); 101. 任意のバイナリデータは、*.exe のリソースの中に埋め込むことが可能。 100 に関しては、こうするといけるはず : IStream *pStream = SHCreateMemStream((BYTE *)pBuf, size); IStream *pImage1 = new Image(pStream); pStream->Release(); 誤: IStream *pImage1 = new Image(pStream); 正: Image *pImage1 = new Image(pStream); 101 のリソースの中にバイナリデータを埋め込む方法は、ggって欲しい。 別にビットマップじゃなくてもバイナリデータは何でもリソースに追加出来るよ LoadResource()で読み込みLockResource()でポインタ取得出来る pngの表示はlibpng何かを使うしかVCでは無いかも 101 については、 https://stackoverflow.com/questions/13660850/is-it-possible-to-store-binary-files-inside-an-exe 2) Add it as a binary resource to the executable. You said "exe", did you? So you are likely on Windows. Window EXE files can have binary resources, that can be located using the resource API. See the FindResource, LoadResource and GlobalLock, functions. resource.rc ID_DATA_JPG FILE "data.jpg" >>98 後半、libpngを使わなくても、GDI+で BYTE *pBuf = (pngファイルのバイトデータの先頭アドレス); DWORD size = (バイト数); IStream *pStream = SHCreateMemStream(pBuf, size); IMage *pImage1 = new Image(pStream); pStream->Release(); とすればロードできる。 後は、GDI+の機能を使って、非常にいろいろなことが出来、Bitmapデータ として取り出すことも、HBITMAPにすることも、HDCに書き込むことも、 GDI+で描画することも、GDIで描画することも、DirectXで書き込むことも 何でも出来る。 質問板でないのに説明が悪く何回も 質問してしまったうえ、噛み砕いて説明してもらってすいません。 見ながら小さいプログラムで確認したいと思います ありがとうございました。 ゲームでは画像をまとめるのは、Sprite/Texture Atlas みたいなツール msのwin32apiのページに詳細にGUIハロワ解説載ってるからコピペしていじれ ポトペタが糞なのはUI変更のdiffが取りづらいこと。 使ってるカスタムコントロールのせいなのか知らんが、 プロパティ1つ変更するだけでDesignerファイルが ぐっちゃぐちゃに書き換えられた。 ちょうどwindows3.1でた当たりでプログラム始めた人が一番とっつき易かったね。直書きで全部書く時代だったし。 >>107 今はまたXML使って自分で定義する方向に回帰していきたかな RADが間違いだったよねぇ。 全体のアーキを考えなくなるのがRADの悪いところ。 行き当たりばったり。 >>20 WTLは楽だけど、やっぱコツがいるからな C++ builder がいいと思います。 書籍はヤフオクとかで買えるし。 昔の本も使えます。 CからC++の移行には これならわかるC++って本がすごく分かりやすかったです。 これもヤフオクにありますね。 正誤表見ないとメモリリークのあるコードなんだけど、なぜC++がいいのかよくわかります。 >>105 MSサイトに大体テンプレ揃ってるから、標準ライブラリ引いてコンソールプログラミングよりGUIから始める方が楽まである 完全にデジタルディバイド 猫でもわかるWindowsプログラミング読めば誰でも出来るよ。 わからなかったら猫以下w 最初Cを覚えただけではわかりにくかったこと win32api イベントドリブン コールバック関数 呼び出し規約 INTとかDWORDとかの型の存在理由 TEXTマクロ この辺をクリアしたらたいして難しくない気がする。 >>113 巻末のおまけとしてサンプルしか載ってないが 猫でもわかる〜はわからなかったら凹む人多そう。 難しいとは思わないけど簡単とも思えない。 プロセスとスレッドとコンテキストを理解して、 flutterでプラグインまで作れるようになると、 月200万円稼げます。 Cで実用的なもの作りたかったらarduinoオススメ 自分で作ったプログラムを五感で味わえるぜ read.cgi ver 07.5.0 2024/04/24 Walang Kapalit ★ | Donguri System Team 5ちゃんねる