[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 08:39 / Filesize : 220 KB / Number-of Response : 953
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

DOSでプログラミング



1 名前:デフォルトの名無しさん [03/03/07 10:45]
ハードウェアを直接叩くのはやっぱり楽しい!

DOSにおける開発について語りましょう。


116 名前:112 mailto:sage [03/10/09 14:52]
途中経過です。
TC2.01を利用して、以下のプログラム(ネットで拾った)をコンパイルしてみました。
>tcc -ml graphics.lib gg.c
gg.c ソース
#include <graphics.h>
#include <conio.h>
void main(void){
int gd=DETECT,gm ;
initgraph(&gd,&gm,"b:\\graph");
setcolor(WHITE);              /*境界線を白色と指定*/
circle(319,175,100);         /*(319,175)を中心として半径100の円を書く*/
circle(260,250,100);         /*(260,250)を中心として半径100の円を書く*/
circle(369,250,100);         /*(369,250)を中心として半径100の円を書く*/
 setfillstyle(SOLID_FILL,RED);        /*べた塗りで色は赤色を指定*/
 floodfill(319,80,WHITE);  /*(319,80)から境界線が白色までを塗る*/
 setfillstyle(SOLID_FILL,BLUE);  /*べた塗りで色は青色を指定*/
 floodfill(260,340,WHITE);         /*(260,340)から境界線が白色までを塗る*/
 setfillstyle(SOLID_FILL,GREEN);  /*べた塗りで色は緑色を指定*/
 floodfill(369,340,WHITE);         /*(369,340)から境界線が白色までを塗る*/
 setfillstyle(SOLID_FILL,WHITE);  /*べた塗りで色は白色を指定*/
 floodfill(319,270,WHITE);         /*(319,270)から境界線が白色までを塗る*/
 setfillstyle(SOLID_FILL,YELLOW);      /*べた塗りで色は黄色を指定*/
 floodfill(370,200,WHITE);         /*(370,200)から境界線が白色までを塗る*/
 setfillstyle(SOLID_FILL,LIGHTCYAN);    /*べた塗りで色は水色を指定*/
 floodfill(320,290,WHITE);         /*(320,290)から境界線が白色までを塗る*/
 setfillstyle(SOLID_FILL,MAGENTA);     /*べた塗りで色は紫色を指定*/
 floodfill(230,200,WHITE);         /*(230,280)から境界線が白色までを塗る*/
getch();
closegraph();}
上手く、表示されました。
initgraph(&gd,&gm,"b:\\graph");これが、気になるのですが、
変えなくてもよいものなのでしょうか?宜しくお願いします。

117 名前:デフォルトの名無しさん mailto:sage [03/10/09 18:47]
>>116
"b:\\graph"は .BGI のあるディレクトリに変えた方が良いような気がする。

118 名前:112 mailto:sage [03/10/09 19:15]
>117
レスありがとう。

やっぱり変えたほうがいいですよね。
なんか、気持ち悪いし、、、、。

また、すすみ次第、報告します。

119 名前:デフォルトの名無しさん mailto:sage [03/10/11 23:02]
>116
initgraphの引数が1つ足らんな(w
bgidemoは試したのか?

120 名前:112 [03/10/12 02:38]
>119
レス ありがとう。手元に TURBO C++
のコンパイラ・マニュアルがあるので参照しました。

initgraph
機能 グラフィックスシステムを初期化する。
ヘッダ graphics.h
書式  void far initgraph(int far *graphdriver,int far *graphmode,
char far *pathtodriver)
でした。
だから、引数は3つで良いみたい。

>bgidemoは試したのか?
早速やってみました。

画面がちかちかと変わって(変えて)
”That's OK!,folks"と、最後に表示されましたよ。

最後に、
bgidemo.cから抜粋
initgraph( &GraphDriver, &GraphMode, "" );
3つめの引数は省略可ですね。

121 名前:デフォルトの名無しさん mailto:sage [03/10/12 13:15]
マニュアルがあるならバッチリですな(w
BGIはOBJに変換してリンクすると楽かも。

122 名前:112 mailto:sage [03/10/12 20:00]
>121さんへ。

いや〜、こないだ、たまたま、ヤフオクで
ナツメ社から出ている
TURBO C++ コンパイラ・マニュアル
をゲットしたのですよ。100円でした。
運が良かったです。

ところで、
>BGIはOBJに変換してリンクすると楽かも。
は、どういうことですか?

すみませんが、教えてください。
宜しくお願いします。

123 名前:デフォルトの名無しさん mailto:sage [03/10/13 00:11]
100円とはラッキ〜〜。この手の本は少ないしね。

bgi2obj.exeだったかな?それを使って、BGIファイルをOBJファイルに
変換出来るんです。BGIファイルは実行時にinitgraphがロードしますが、
OBJだとリンクしておけるんで。initgraphのモードをDETECTにしておくと
EGAなどグラフィックアダプタに合わせてロードしてくれるんで便利ですが、
今時は解像度の高いのをリンクしておけば済むような気もするしね(w

124 名前:112 [03/10/13 17:30]
>123
ラッキーでしょ〜。

makeが使えることも知ったし、十二分に元を取りましたよ。

ちょっと、質問の続きなのですが、後半の

>initgraphのモードをDETECTにしておくと
>EGAなどグラフィックアダプタに合わせてロードしてくれるんで便利ですが、
>今時は解像度の高いのをリンクしておけば済むような気もするしね(w

が、判らないです。

じつは、ライブラリをオブジェクトにするメリットも、いまいち
良くわかっていません。
gccとかで、数学関数を使うとき -lmって付けますよね。
だけど、数学関数のライブラリをオブジェクトにするっていうのは
聞いたことがありません。

教えてもらってばかりで恐縮ですが、お願いします。



125 名前:デフォルトの名無しさん mailto:sage [03/10/13 18:33]
objもlibも似たようなもんじゃないのとか思った。複数のobjまとめられるとか。そんなん?

126 名前:デフォルトの名無しさん mailto:sage [03/10/13 18:41]
>>124
> ちょっと、質問の続きなのですが、後半の
> >initgraphのモードをDETECTにしておくと
> >EGAなどグラフィックアダプタに合わせてロードしてくれるんで便利ですが、
> >今時は解像度の高いのをリンクしておけば済むような気もするしね(w
> が、判らないです。

ヘルプか参考書でregisterbgidriverを調べれ。

BGIファイルをOBJファイルにしてそしてリンクすることにより、
EXEファイル内にBGIファイルの内容を埋め込むことができる。

すると人様にソフトを配布する時にBGIファイルを添付する必要が無く
EXEファイルだけで済む。ちょっとカコイイ。という話。

まあ、見栄えの問題だけだから、面倒なら気にしなくてもいい。

ところで、目的のシミュレーションプログラムはどうだったんだろうか?
プログラムに日本語文字が使われているとコンパイラを通らない
可能性もあるが。

127 名前:121 mailto:sage [03/10/13 21:00]
>126
なるほど、、、有難う御座います。

目的のシミュレーションは、まだ打ち込み中です。
日本語表記はないので、大丈夫かと思います。

もう1週間もかかっている、、、。
あさってまでには完成します。



128 名前:デフォルトの名無しさん mailto:sage [03/10/14 08:54]
>124
>じつは、ライブラリをオブジェクトにするメリットも、いまいち
>良くわかっていません。

ライブラリをオブジェクトにするメリットというか・・・
ライブラリはオブジェクトの固まりです。
図書館みたいなもんです。そこにある本がオブジェクトですね(w

DOSの拡張子で言えば、objを固めて実行出来るようにしたのがexe、
objをまとめておくために固めたのがlibです。libは使うときには
リンカがその中の「必要なobj」だけを取り出してexeにしてくれます。
単にobjを固めると使わない関数も固められてしまいます(昔のTurboC等は)
最近のWin32等のリンカは使っていないobjを関数単位で削除してくれますが。
例えば、ソースを関数毎とかにしてそのobjでlibを作ると、リンカが
必要なものを取り出して関数毎に固めてくれるわけです。

gccはよくしらんのですが、-lmとすると、libm.so(だっけ?)とかがあると
すれば、それはDOSのlibに相当します。
Winでは実行時にリンクするライブラリとしてDLLなんていうのもありますね。
DOSでもDLLとはちょっと違いますが、実行時にロードするオーバーレイ
なんていうのがありました。

129 名前:121 mailto:sage [03/10/14 18:16]
>128さん、有難う。

こんな感じですか?

関数 tmp.exeは、tmp.objやaaa.lib
から生成されるものとする。

aaa.libはリンク時、リンカーによって
aa1.obj〜aan.obj等に変換され、
tmp.obj,aa1.obj(必要なobj)
でtmp.exeが作られる。

数学関数 例えば math.hによる
ライブラリの場合、sin()しか使わない
場合は、sin()のみのobjが作られるのですね。
そしてlinkされる。

少し、判ってきました。

130 名前:デフォルトの名無しさん mailto:sage [03/10/14 23:12]
>gccはよくしらんのですが、-lmとすると、libm.so(だっけ?)とかがあると
>すれば、それはDOSのlibに相当します。

いいえ、DLL相当です。

131 名前:デフォルトの名無しさん mailto:sage [03/10/16 01:02]
>129
objはlibから変換されるというか、取り出されるという感じでしょうか。
似たようなもんですが(w libはアーカイブなんです。objが固めて
あるので、オブジェクトライブラリって言うのが正しいのかも。
取り出されるのは、objの単位というか結局ソースの単位になってると
思います。だからsinだけ使ったらsin.objがリンクされるかはわかりません。
sinとcosで1つのソースが作られていれば、sinを使ってもcosも付いて
きちゃうというという感じでしょうか。
#最近のリンカでは、使っていない関数は取り除かれるようですが、
#どのように取り除くかはいまいちわかりません。

>130
.soはDLLでしたか、しんずれい(w

132 名前:デフォルトの名無しさん mailto:sage [03/10/17 23:01]
>>131
?


133 名前:デフォルトの名無しさん mailto:sage [03/10/18 17:01]
>132
何が? かな?

134 名前:デフォルトの名無しさん mailto:sage [03/10/31 23:38]
DOSでPCIバスのボードを複数枚制御する際、同じ割り込みを割り振られた場合
どのボードで割り込みが掛かったと判断するにはどうしたら良いですか?



135 名前:デフォルトの名無しさん mailto:sage [03/11/01 17:56]
>>134
>>134

INTを見る


136 名前:デフォルトの名無しさん mailto:sage [03/11/07 20:29]
>>134
各ボードのステータスを順繰りにチェックするしかないだす。

137 名前:デフォルトの名無しさん mailto:sage [03/11/12 20:30]
>>135-136
どうもです。なんとかやってみます。


138 名前:デフォルトの名無しさん mailto:sage [04/01/13 11:58]
ちょっくらDOS環境でプログラミングしようと思って,
www.borland.co.jp/bcsuite/
を買ったのですが,MSDNサブスクライバーでダウンロードしたMSDOS6.2には,
DPMIついてないし,EMM386に/DMPIオプションないので,
16ビットDPMIが必要なTurboC++4.0が動作しないんです。

DOS6ってPC-98x1でしか使ったことないんで,M$製DOSはよくわかりましぇん。
どなたかご存知ではありませんか?
DR-DOSについても検討したのですが,ネット上にある環境構築に関する情報では
みんながみんなDPMI=OFFなんですよ。何か問題が?

今はとりあえずMeマシン上でBorlandC++5.0Jでクロス開発してます・・・

139 名前:デフォルトの名無しさん mailto:sage [04/01/14 00:12]
>>138
TC4はVCPIで動くよ。

NEC版DOS6.2のEMM386.EXEの/DPMIは、VCPIを有効にするオプション。
VCPIは正式サポートではないが、付属のI-O DATA製DPMI.EXEがVCPIを必要とするため、
DPMI.EXEを使用する場合は/DPMIオプションを指定するようになっている。
DPMIを有効にするオプションではなく、「DPMI.EXEを使用する場合に指定するオプション」というわけ。

AT互換機用DOS6.2のEMM386.EXEは標準でVCPIに対応していたはず。

140 名前:デフォルトの名無しさん mailto:sage [04/01/14 13:50]
>>139
>AT互換機用DOS6.2のEMM386.EXEは標準でVCPIに対応していたはず。
まじですか。たしかにDOS解説系サイトではDPMI≒VCPIみたいに書いてありますね。

bochs上ではtc.exe起動時に
LTR:386TSS: loading tr.limit < 103
とPANICになってしまうので,あきらめてたんです。もしかして実機ならオケーなんでしょうか。
ちなみにこのbochs上でのmemの出力は
-------------------------------------------------------------------
メモリの種類 合計 = 使用 + 空き
---------------- ------- ------- -------
コンベンショナル 640K 78K 562K
上位 98K 98K 0K
予約済み 384K 384K 0K
XMS メモリ* 31,646K 2,873K 28,773K
---------------- ------- ------- -------
全メモリ 32,768K 3,432K 29,336K
全 1MB 以下メモリ 738K 175K 563K
全 EMS メモリ 3,376K (3,457,024 バイト)
空き EMS メモリ* 2,832K (2,899,968 バイト)
* EMM386 は EMS メモリをシミュレートするために XMS メモリを使っています.
空き EMS メモリは空き XMS メモリの変更によって変わることがあります.
最大実行可能プログラムサイズ 562K (575,808 バイト)
最大空き上位メモリブロック 0K (112 バイト)
MS-DOS はハイメモリ領域に常駐しています.
-------------------------------------------------------------------
こんな感じです。使っているbochsは
ebisa.hp.infoseek.co.jp/bochs/index.shtml
のbochs-2.1.pre3-jpfix-20040103-win32.zip です。
どっちにしてもひまみつけて実機で試してみますぅ。

141 名前:デフォルトの名無しさん mailto:sage [04/01/17 00:11]
現品.comで買ったSBC(P-166)に32MBのCFカードと,フロッピーと電源だけ繋いで,立ち上げてみました。
DOS6.2Vをインストールして,TC4Jをフロッピーからインストールしました。
なんら問題なく立ち上がりました。bochs上ではTC4は動作しないということで・・・
どうもありがとうございました。またよろ〜ヽ(´ー`)ノ

142 名前:デフォルトの名無しさん [04/01/23 07:53]
今VCの16ビット(ver1.5?)手に入れるとしたら
オークションぐらいしかないですか?

143 名前:デフォルトの名無しさん [04/01/23 10:11]
なんか、このスレ見てたら98で同人ゲーム
作っていた当時を思い出したよ
今は、しがない業務アプリの設計者だけど
久しぶりにa8000Hとかに直書きしたくなってきた


144 名前:141 mailto:sage [04/01/23 12:48]
>>143
>久しぶりにa8000Hとかに直書きしたくなってきた
ちょっとした組み込み系だとそういうのまだ現役ですよ。だいたい現場は3K職場ですけど。
ついでにお伺いしたいのですが,a8000Hとか,d0000Hとかに直書きするとき,どうやってました?
その1(ポインタでしこしこ)
void *base_adr;
base_adr = 0xd0000h;
その2(レジスタマップなんかを構造体にしてリンクでアドレス指定)
struct board_foo{
char register[10];
char flag[3];
}foo1;
としておいて,foo1がd0000hに配置されるようにリンカオプションで指定。



145 名前:デフォルトの名無しさん mailto:sage [04/01/23 21:44]
>144
その1とその2の合わせ技でしょう。

146 名前:141 mailto:sage [04/01/24 02:48]
>>145
その場合,リンカオプションをいじらずに,ソース上に全部の情報が載るわけですな。

147 名前:デフォルトの名無しさん mailto:sage [04/01/24 17:22]
なるほど、構造体をかぶせるのが一番ですね。


148 名前:141 mailto:sage [04/01/24 18:59]
構造体にかぶせるのを,アドレス指定(つまりポインタ)で書くと,
foo1->register[REGNO_CHANNEL1] = 1;
とかになって,「->」がうざいというシトがおられます。
構造体の配置自体をリンク時に指定してやれば,
foo1 . register[REGNO_CHANNEL1] = 1;
と書けるのです。C++でなら,参照を使って,
board_foo &foo2=*foo1;
とか書けるといいんですが,そうは問屋がおろさないようです。
組み込み系の処理系(PL/M,古いintelC)ではかなり太古から変数の配置アドレスをソース上で
操作できるのが普通だと思うのですが,gccとか今風の処理系でもできるんですかね。
そういうの使わないととんでもなく書きにくいと思うのは,頭が古いんでしょうか。

149 名前:デフォルトの名無しさん mailto:sage [04/01/24 19:13]
>>148
>とかになって,「->」がうざいというシトがおられます。

刺して下さい。

150 名前:141 mailto:sage [04/01/24 22:32]
->->->->-> ;y=ー( ゚д゚)・∵. ターン

->演算子で刺しておきました。

151 名前:デフォルトの名無しさん mailto:sage [04/01/24 22:47]
>>150
噂の演算子オーバーロードですね。

152 名前:143 mailto:sage [04/01/25 00:37]
おや、レスが来てた
いや、当時は全部アセンブラで書いていたから・・・
DSをa800hに変更して直書きしてたから意味合いで言えば、
その2に近いのかな?どちらにしても10年以上前の話だからなぁ


153 名前:141 mailto:sage [04/01/25 12:12]
>>152
>いや、当時は全部アセンブラで書いていたから・・・
(MASMの)アセンブラの構造体こそ望ましいものです。アドレスを指定して,
構造体メンバにアクセスできて「->」をうざがって刺されることもないです。

154 名前:デフォルトの名無しさん mailto:sage [04/01/25 12:30]
 



155 名前:デフォルトの名無しさん mailto:sage [04/01/26 01:16]
>148
PLMとは懐かしい。今でも昔のサポートで使うことありますが(w
gccでも直アドレス指定出来ますよ。
まあOSによっては、やっても怒られるだけですが(w

156 名前:141 mailto:sage [04/01/27 10:39]
>>155
>gccでも直アドレス指定出来ますよ。
直アドレスを
char *base_adr= 0xd0000;
とできるのは当たり前で,お伺いしたかったのは
struct board_foo;
として作ったものを0xd0000に配置するような機能のことです。ほんとうにできますか。
>まあOSによっては、やっても怒られるだけですが(w
WindowsNT系でもOS標準でできるんで困りませんし,タイミングが10msec以上の
比較的シビアなものではリアルタイム拡張製品などを使うので問題ありません。
それにタイミングが絡んでくると,OSなんかの機能よりも「作り方・書き方」の方が大事だと思います。
特殊なハードのラッチ信号をPCからポチポチ制御するような困ったちゃんシステムとか。

157 名前:デフォルトの名無しさん mailto:sage [04/01/28 00:01]
>156
あれま(構造体)変数などの絶対番地ロケートでしたか。
gccで開発するCPUでROM化などしたことがないのでわかりませ〜〜ん(^^;
わざわざ実体を重ねなくても、構造体へのポインタで良いような
気がしますけどね。処理系の環境に依存させるのがいやですから。

怒られるはメモリアクセス例外などが出るだったんですが。
タイミングですか、OSの機能というより挙動を知ってないと
いけない、じゃないですかね。何がWinNT系のOS標準で出来る
だかわかりませんが、WinNT系でもリアルタイム拡張があれば
時間の保証が得られるらしいですね。

158 名前:デフォルトの名無しさん mailto:sage [04/01/28 04:20]
昔は知識不足その他で果たせなかった事を何となくしてみたくなって、
使わなくなってた古い9821にdjgppをインストールしました。
今更ですが、Undocumentedな機能(PEGCとか)を使ってみたり、
直書きや割り込み、DPMI等で遊んでます。

…何で今更はまるんでしょう(笑)
結局、DOSは嫌いじゃないんだよなあと再確認しますた。

159 名前:デフォルトの名無しさん mailto:sage [04/01/28 14:02]
>>156
> struct board_foo;
> として作ったものを0xd0000に配置するような機能のことです。ほんとうにできますか。

mapped I/Oなら
#define foo1 (*(struct board_foo *)0xd0000)
じゃダメなん?

160 名前:141 mailto:sage [04/01/30 12:50]
>>159
>#define foo1 (*(struct board_foo *)0xd0000)
おお。新パターンです。ありがとうございます。
#defineだとデバッガが・・・ゲホゲホ
ちなみにこれは,実際にお使いですか?

161 名前:デフォルトの名無しさん mailto:sage [04/01/30 15:53]
mapped I/Oでドライバ書いたことはないけど、DOSでは使ったな。

162 名前:デフォルトの名無しさん mailto:sage [04/01/31 09:23]
>>161
VRAMの位置とか?

163 名前:デフォルトの名無しさん mailto:sage [04/01/31 23:49]
質問させてください。キーイン待ちして、何秒後かにタイムアウトする
ようなプログラムは作れるでしょうか?
キーイン待ちのときに割り込み28hが呼ばれるようになっていても、
この中からいきなりキー入力処理の後にジャンプなんてできそうに
ないと思うし(安全とは思えないので)。なんか手ってないもんでしょうかね?

164 名前:デフォルトの名無しさん mailto:sage [04/01/31 23:51]
>>163
while(kbhit()){
if(time >= basetime + 1000){
timeoutflag = 1;
break;
}
}



165 名前:163 mailto:sage [04/02/01 00:04]
>>164
ありがとうございます。
そうですね、この方法がありますね。一点気になるのがCPUを喰いすぎる
かなと思うところです。(シングルタスクなので実際上の問題は無いと思い
ますが。。)

166 名前:デフォルトの名無しさん mailto:sage [04/02/01 21:07]
>> 163
割り込み28hの中でフラグ立てるようにして,
キー入力待ちする側でタイムアウトをカウントしながら
そのフラグを監視すればよいと思います。
もちろんそのフラグは利用側で事前・事後にクリアしてやらないといけません。
>> 165
> 一点気になるのがCPUを喰いすぎる
?CPUを食わないようになんてできませんよ。CPUは常に100%フル回転です。
nop連続にした方がバスへのアクセスも減って,動作しない内部ロジックが増えて
発熱・消費電力を抑えられるとか,そういう趣旨なんですかね。
それとも省電力対応CPUのお話ですか。

167 名前:デフォルトの名無しさん mailto:sage [04/02/01 21:33]
ビジーループってこったろ

168 名前:デフォルトの名無しさん mailto:sage [04/02/02 00:39]
>>167
MS-DOSでビジーループを気にする理由がわかりませんね。
タイマ割り込みでソフトタイマー作って,キー入力を割り込みで処理するんなら,
なんにも悩むことなんてありませんですよ。
自前で擬似マルチタスクでも作ってその上で何かなさっておられるのなら,
ビジーウェイトを気になさるのも理解できますが。

169 名前:デフォルトの名無しさん mailto:sage [04/02/02 00:46]
ごめんごめん。俺が悪かった。

>(シングルタスクなので実際上の問題は無いと思い
>ますが。。)

これすら読まずに屁理屈こねるような奴に言っても無駄だったな。

170 名前:デフォルトの名無しさん mailto:sage [04/02/02 12:52]
お互い様でしょうね。

171 名前:デフォルトの名無しさん mailto:sage [04/02/03 23:28]
>>170
同意。

172 名前:デフォルトの名無しさん mailto:osage [04/02/04 12:47]
Interrupt Listの最新って61?

173 名前:デフォルトの名無しさん mailto:sage [04/02/04 21:35]
61
ttp://www.ctyme.com/rbrown.htm

174 名前:デフォルトの名無しさん mailto:age [04/02/10 17:29]
あげ



175 名前:デフォルトの名無しさん [04/02/17 03:26]
バッチファイルを作っているのですが
特定のアプリを強制終了させるコマンドがどうしてもわかりません。
どなたか教えてください。

OS環境はWindows2000Proです。

XPだと、taskkillコマンドが使えるらしく
Win2kならtasklist→killコマンドが使えるらしいのですが
MS-DOS上でそのコマンドを打ってみてもだめでした

ダメモトでバッチファイルでkillコマンドとtaskkillコマンドを書き込んでみましたが
当然だめでした。


176 名前:デフォルトの名無しさん mailto:sage [04/02/17 04:13]
>>175
killはWindows 2000 Support Toolsに入っている。
Windows 2000 Support ToolsはWindows 2000のCDに入っている。

177 名前:175 mailto:sage [04/02/17 23:40]
ありがとうございます!!

178 名前:デフォルトの名無しさん mailto:sage [04/02/18 13:19]
カレントディレクトリのファイル名を全部大文字にするツールを
作ってるんですが、rename( 旧ファイル名, 新ファイル名 ) とやっても
全然変化しないんですよ。

DOS プロンプトから rename 旧ファイル名 新ファイル名 なら
いけるんですが・・・

Cで DOS のコマンドを実行するっていう命令ありませんでした?
10年前に使ったような記憶があるが思い出せない・・・


179 名前:デフォルトの名無しさん [04/02/18 13:27]
system
または
exec系関数

180 名前:デフォルトの名無しさん mailto:sage [04/02/18 13:44]
ここはいっちょディレクトリエントリを
直接書き換えるというのは、、、

181 名前:デフォルトの名無しさん mailto:sage [04/02/18 13:50]
>>178
一回ダミーファイル名に変換してからとか。

182 名前:デフォルトの名無しさん mailto:sage [04/02/18 14:00]
ありがとうございます。
さっそくプログラム中・・・
メインプログラマーがウンコすぎて仕事が殆どオレに
まわってきて死にそうです。


183 名前:デフォルトの名無しさん mailto:sage [04/02/18 14:17]
とりあえずダミーファイル名に変更することで対応できました。
ありがとうございました。
ていうかメインプログラマーまだ出社してこないよ・・・
もう○んでクレ。


184 名前:デフォルトの名無しさん mailto:sage [04/02/18 17:34]
おそらく彼は今頃コタツの中で安らかに・・・



185 名前:デフォルトの名無しさん mailto:sage [04/02/27 20:24]
おならを死んだ

186 名前:デフォルトの名無しさん [04/03/08 19:08]
すみません。
時間を取得してファイル名にセットしたいのですが、
TIMEコマンドだと:が混じってしまい設定ができません。
何か良い方法は無いでしょうか?
よろしくお願いします。

187 名前:デフォルトの名無しさん [04/03/08 19:32]
age

188 名前:田宮良子 mailto:sage [04/03/08 20:04]
おまえ、混じっているな

189 名前:ツソイチ mailto:sage [04/03/08 20:22]
混じってるって、どぼぉいうことだよ、
みゅぅぃぃぃぃぃぃいいいぎゅぅいいいいいいいいいいいいぃぃぃ!!!!!

190 名前:◆cplnFO9T0I [04/03/10 20:32]
ネットワークプログラマに朗報です。
閉鎖されてたかと思われたTEENのサイトは、ただ単に鯖のHDが飛んでただけなので、
(マシントラブルとかかれていますが、どう考えたって、消失するといったらHDが飛んだとしか考えられません。)
仮運用の状態にあるそうです。みなさん、これからもがんがってください。
ttp://www.pc88.gr.jp/~teen/

191 名前:デフォルトの名無しさん mailto:sage [04/03/10 23:04]
>>190
>(マシントラブルとかかれていますが、どう考えたって、消失するといったらHDが飛んだとしか考えられません。)

さて、と。

192 名前:デフォルトの名無しさん mailto:sage [04/03/13 18:29]
>>6

193 名前:デフォルトの名無しさん [04/03/29 22:12]
こんなサイトを見つけました↓

www.command.com/

ここのスレの住民なら笑えるかも。

194 名前:デフォルトの名無しさん mailto:sage [04/03/30 00:44]
ttp://command.com/
にして、www.を省略したほうがそれっぽいよ。



195 名前:◆cplnFO9T0I [04/05/14 20:21]
2ちゃんねるブラウザを作ってるんですが、
お気に入りを読み込む部分は動的リンクにしたほうが良いでしょうか?
回答願います。

196 名前:デフォルトの名無しさん mailto:sage [04/05/14 22:19]
スレ違い

197 名前:デフォルトの名無しさん mailto:sage [04/05/15 01:59]
>>196
そうなのか?

198 名前:デフォルトの名無しさん mailto:sage [04/05/15 02:13]
Web Boy を参考にせよ

199 名前:デフォルトの名無しさん mailto:sage [04/05/15 14:28]
>>197
だってどう見ても195はDOS用の2ちゃんねるブラウザを作っているようには見えない

200 名前:◆cplnFO9T0I [04/05/15 18:39]
>>198
参考にしろといわれてもねぇ。
>>199
何故に?
コンポーネントをEXEにして分離したほうがいいのか聞いてるんですけど。

201 名前:デフォルトの名無しさん [04/05/15 18:42]
>>200
それは動的リンクとは言わない。

202 名前:デフォルトの名無しさん mailto:sage [04/05/15 18:50]
オーバーレイとかあったなぁ(しみじみ

203 名前:デフォルトの名無しさん mailto:sage [04/05/16 01:28]
思うがままに作って、完成させてから要望聞いて対応すりゃいいじゃん。
要望が出そうなところが分かってるなら、最初からそういう風に設計できるだろ?
ただ、DOS用なら、俺としては実行部はファイル1つの方が分かりやすい。
>>195の言う「動的リンク」が何を指すのか、>>200でいよいよ分からなくなったが…

204 名前:◆cplnFO9T0I [04/05/16 18:38]
>>201
似非動的リンク
>>203
わかったYO!
ともかくそこの部分を変更可能なように作っておくということで。
ともかく、ひとつのEXEで作ってみる。



205 名前:デフォルトの名無しさん [04/05/16 18:41]
>>204
似てもいない。

206 名前:デフォルトの名無しさん mailto:sage [04/05/17 04:13]
とりあえず、がんがれ。


207 名前:デフォルトの名無しさん [04/07/03 15:04]
消えた「は」

208 名前:◆cplnFO9T0I mailto:sage [04/07/04 00:17]
生きてますよ。

209 名前:デフォルトの名無しさん [04/07/14 01:46]
昔から疑問だったんだけど、>>143にあるようなVRAMアドレスって
DOSエクステンダを使うとどうなるんですか?
アドレス変わっちゃうのかな?

210 名前:デフォルトの名無しさん mailto:sage [04/07/14 02:01]
DOSエクステンダは1MB以下のメモリはアドレスが変わらないように
マップしてくれます。その代わりぬるぽが検出できないわけで

211 名前:デフォルトの名無しさん mailto:sage [04/07/14 10:32]
pharlapのdosエクステンダはvram用セレクタがあるよ

212 名前:デフォルトの名無しさん [04/07/14 16:58]
前に他のスレで伺ったらスレ違いとのことでしたので、
こちらでお尋ねしてもよろしいでしょうか?

VCでCUIのプログラムを作ったのですが、
Windows(XP/200/98等)内のDOSプロンプトでは動作するのに、
Windows98の起動ディスクで起動したDOSプロンプト内では動作しません。
Win32APIは使っていません。
調べた範囲ではSTUBが動作してしまっているようなのですが、
どうすればこの場合STUBではなく通常動作させられるのでしょうか?


213 名前:デフォルトの名無しさん mailto:sage [04/07/14 17:08]
最近のVCはDOS用プログラム作れないからCUIでビルドしても無理
DOS対応コンパイラを探せ

214 名前:デフォルトの名無しさん mailto:sage [04/07/14 17:20]
TurboC++とかだな



215 名前:212 mailto:sage [04/07/14 17:32]
>>213 , >>214
ありがとう


216 名前:デフォルトの名無しさん mailto:sage [04/07/14 18:44]
Digital MarsとかもDOS吐けるでしょ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<220KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef