68user's page 掲示板

Prev< No. 1027〜1080> Next  [最新発言に戻る] [過去ログ一覧]
No. 1027 # いち 2000/07/28 (金) 14:41:26
すいません、返答がずいぶん遅れてしまいました。
68userさん、いろいろアドバイスありがとうございます。

それで、いろいろMewについて見ていったのですが、
たまたま見ていたEmacsのINFOの中にMewという単語を見つけ、
中を見ていったら、何と既にMewがインストールされていました。
色々お手数おかけしてすいませんでした。

ただ、色々試みているのですが、いまだにMewを起動させる事ができません。
M-x Mew と入力すると起動すると書いてあるのですが、
これをどこで(どういう場面で)入力すればいいのかが解りません。
教えて頂けますか?

それから、最近、Netscape をkill した時に
Bus error という表示が出て、.netscape フォルダの中に、
lock ファイルができてしまいます。
以前はこんな事はなく、Done という表示が出て
lock ファイルも作られませんでした。
僕は最近、不必要だと思われるファイルを色々消していっているのですが、
その過程で、何か必要なファイルまで消していってしまったのでしょうか?

No. 1028 # gongo [E-mail] 2000/07/28 (金) 16:27:57
@68user様
> X ではウィンドウの最初の map 時や、他のウィンドウに隠れていた
> ものが露出した場合に Expose イベントが飛んできます。

ここら辺はなんとなくわかっていたのですが、
最終的にできてほしいプログラムのことを考えるあまり
頭の中でごちゃごちゃになっていました。
まだ線をひくのを確認していないのでやってみます。

No. 1029 # gongo [E-mail] 2000/07/28 (金) 16:38:57
@68user様
度々すみません。27日のご説明でイベントハンドラを
用いていましたが、呼び出されるイベントハンドラは
あらかじめ決められた関数の形式(XtEventHandler型)で
なくてもよろしいのでしょうか。

No. 1030 # ちゃいぱ 2000/07/28 (金) 17:14:01
>68userさんへ
確認し、理解できました。ありがとうございました。

>Netboyさんへ
確認し、ちょっと理解できないところがありましたが、ありがとうございました。
引数2と引数3の関係がイマイチわかりません。

とりあえず、これで、失礼いたします。
ありがとうございました。

No. 1031 # Netboy 2000/07/28 (金) 20:40:59
>引数2と引数3の関係がイマイチわかりません。
引数2は,引数1の切り分け方の指定です.

print &format('28/07/2000','dd x mm x yyyy',"yyyy年mm月dd日\n");
のように使えます.

混乱させてしまって済みません.
関数名に予約語(format)を使ったのもまずかったです...

No. 1032 # hsj 2000/07/28 (金) 21:21:48
@68userさん
>うぅ、tcpdump で見ると確かに 53 でした
ぼくも確認しなおしました。
記憶違いでなくてよかった・・・。
#68userさんが断言してらっしゃると、
#自分の記憶に自信があっても、ビビッちゃいます(笑

No. 1033 # 68user 2000/07/29 (土) 13:00:58
@gongo さん
> 呼び出されるイベントハンドラはあらかじめ決められた
> 関数の形式(XtEventHandler型)でなくてもよろしいのでしょうか。
void repaint(void) としたのは、てきとーに書いただけで、
    void handler(Widget,XtPointer,XEvent*,Boolean*)
が正しいです。まぁ XtEventHandler は
    typedef void (*XtEventHandler)(
        Widget /* widget */,
        XtPointer /* closure */,
        XEvent* /* event */,
        Boolean* /* continue_to_dispatch */
    );
なので、void repaint(void) でも動くはずです。C言語では
呼び出し側が渡した引数を、呼び出された関数側で受けなくても
構わないからです (…ほんとかなぁ。動くかどうかは環境依存かも)。


@ちゃいぱさん
> 「perlでVBのFormat関数みたいのはないですか」
ちなみに、この問いが「perl に strftime のような関数はないのか」
という意味なら、答えは「perl5 標準では、ない」です。

ただし Time::CTime モジュールをインストールすれば strftime
関数が使えるようになります。


@いちさん
> M-x Mew と入力すると起動すると書いてあるのですが、
> これをどこで(どういう場面で)入力すればいいのかが解りません。
emacs を起動して、ESC キーを押して、x を押して、
mew とタイプして Enter です。コマンドラインから
    % emacs -f mew
としても同じことになります。

> Netscape をkill した時に Bus error という表示が出て、
> .netscape フォルダの中に、lock ファイルができてしまいます。
常套手段として、rm -rf ~/.netscape で設定ファイルをクリア
してから、再度 netscape を立ち上げて下さい。preferences.js、
bookmarks.html などのバックアップは忘れずに。

No. 1034 # ちゃいぱ [URL] 2000/07/29 (土) 14:58:38
@68userさん
ありあまる回答をして頂き、感謝いたします。
あがとうございました。
ただ、元々の質問者のレスがなく、ちょっと残念...。

@Netboyさん
理解できました!
関数名を変えれば、結構使えそうですね。
ありがとうございました。

No. 1035 # 68user 2000/07/30 (日) 10:03:27
需要があるかどうかは知らないけど、BBS の全文検索の試運転。
    http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard/namazu.cgi
namazu-2.0.4 でやってますが、replace に正規表現使えるし、
filter いじれば この BBS のデータ形式にも対応できるし、
いい感じ。

まだ自動更新はされません。

@hsj さん
> #68userさんが断言してらっしゃると、
> #自分の記憶に自信があっても、ビビッちゃいます(笑
僕はかなりいいかげんな回答をしてます。
そもそも DNS サーバの設定をしたことがないくらいだし :-)

No. 1036 # 68user 2000/07/30 (日) 23:32:28
> http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard/namazu.cgi
あら、検索すると、データファイル中の remote host が丸見え。
filter で削るように設定したつもりだったんだが。というわけで、
いったん引っ込めます。

No. 1037 # いち 2000/07/31 (月) 16:02:04
68userさん>

御回答ありがとうございます。
仰せのとおり Mew を起動させようとしましたができませんでした。
どうやら、Mew の help があるものの、Mew 自体はインストールされてないみたいです。

そこで、Mew と im をインストールしました。
次に、アーカイブを展開するというように説明に書いてあったのですが、
これって、圧縮されたファイルを解凍するという事ですよね。
そう思って、gzip で圧縮されていたので、gunzip で解凍しようとするのですが、

gzip: mew-1.94.2.tar.gz: unexpected end of file

という表示が出て、うまくいきません。 どうしたらよいのでしょうか?


それと、.netscape/ のことについてですが、
その中にあるファイルの bookmarks.html は何となく解りますが、
preferences.js はどういうファイルなのですか?
その他の、cache/(ディレクトリ)内にある index.db
そして、archive/(ディレクトリ)、cert7.db 、history.dat、
history.list 、key3.db 、plugin-list 、plugin-list.BAK、
registry 、secmodule.db はそれぞれどういったファイルなのでしょうか? 教えて下さい。

それから僕は、ディスク容量を節約するために、cache/ フォルダの中に、
99/ というフォルダを作り、その中に必要なキャッシュファイルを移動し、
他のキャッシュファイルは、全て自動削除するように設定しているのですが、
その 99/ フォルダに入れたキャッシュファイルの効果があるか、良く解らないのです。
(どうやらキャッシュフォルダは 00〜0f、10〜1f までしか作られないみたいなので、
99にする必要は別段ないのですが)
これって、意味ありますか? もしくは、もっといい方法がありましたら教えて下さい。

No. 1038 # B-MAX [E-mail] 2000/07/31 (月) 17:54:57
FTPについての質問なのですが、
FTPでデータを転送するさい、失敗することはありえるのでしょうか
ある場合、正しく転送されたか、チェックすることは可能なのでしょうか?
ネットワーク関係は初心者なもので、よくわからないのですが
FTPはTCPの上位プロトコルなので、
データのチェックはTCPレベルでやっているのでしょうか?
突然の質問、失礼しました。

No. 1039 # gao 2000/08/01 (火) 00:57:00
返答ありがとうございます。

>> % netscape &
>> [2] Bus error netscape(core dumped)
>OS 名と、Netscape をどうやってインストールしたか、
>X のリソース設定 (~/.Xdefaults の中身や xrdb -query の
>結果) を書いて下さい。

~/.Xdefaults の内容は以下のようになっています。
kterm,netscape当りの設定内容のみを書き出してみました。
設定ミスなどがありそうですか?

----------------------------------------------------------------
kterm*VT100.translations: #override \
    Shift <Key>space: begin-conversion(_JAPANESE_CONVERSION)
KTerm*KanjiMode: euc
KTerm*SaveLines: 1000
KTerm*ScrollBar: on
KTerm*IMProtocl: kinput2
KTerm*Modifiers: @im=kinput2


*inputMethod:kinput2
*VT100*translations: #override\
    Shift<Key>space: begin-conversion(_JAPANESE_CONVERSION)
Netscape*useStderrDialog: False
Netscape*international: True
Netscape*inputMethod: kinput2
Netscape*XmTextField.fontList:\
    -*-courier-medium-r-*--14-*-*-*-*-*-iso8859-1;\
    -*-*-medium-*-*--14-*-*-*-*-*-jisx0208.1983-0;\
    -*-*-medium-*-*--14-*-*-*-*-*-jisx0201.1976-0;\
    -*-*-medium-*-*--14-*-*-*-*-*-jisx0212.1990-0:
----------------------------------------------------------------
xrdb -query
↑このコマンドは意味がわからないのですが、何を行うのでしょうか?

No. 1040 # 68user 2000/08/01 (火) 01:07:49
> gzip: mew-1.94.2.tar.gz: unexpected end of file
mew-1.94.2.tar.gz のダウンロードに失敗したんでしょう。
ブラウザで落としたなら、別の HTTP/FTP クライアントを試す。
ftp の ascii モードで落としたのなら、binary モード。

> それと、.netscape/ のことについてですが、
自分でエディタなどを使って覗いてみましたか?

> その 99/ フォルダに入れたキャッシュファイルの効果があるか、
> 良く解らないのです。これって、意味ありますか?
ls -lud 99/ で、最終アクセス時刻が得られます。その結果で
判断できるでしょう。


> FTPでデータを転送するさい、失敗することはありえるのでしょうか
ユーザ認証の失敗とか、コネクションが張れないとか、ascii/binary の
設定ミス以外にビット化けするか、ということですか?

IP データグラムでは、そもそもデータ部のチェックサムが存在しませんので、
ノーチェックです。一方、TCP データグラムはチェックサムがありますが、
「化けてもチェックサムが同じで、検出できない」ということがどれくらいの
確率で起こるのかはわかりません。おそらく論文のネタになっているでしょうね。

No. 1041 # 68user 2000/08/01 (火) 01:12:43
僕の回答を再掲します。
> OS 名と、Netscape をどうやってインストールしたか
ちゃんと読んでますか?

あと、原因の切り分けを行ってください。~/.Xdefaults の
各行をコメントアウト (リソースのコメント開始は `!' )
して動けば、原因はリソースなんでしょう。rm -rf ~/.netscape
して動けば、原因は netscape の設定ファイルがおかしくなって
しまったんでしょう。

No. 1042 # 68user 2000/08/01 (火) 01:14:56
> TCP データグラム
TCP セグメントでした。

No. 1043 # yuji 2000/08/02 (水) 09:15:28
どうも、ご無沙汰しております、yujiです。(^^)
今、指定されたディレクトリ以下のファイル一覧を表示させたい、
と考えているのですが、再帰関数を使った場合、
ファイルハンドルがグローバルのため、値の上書きになって
しまい、うまくいかないようです。ローカルなファイルハンドルというのは、できるんでしょうか?myやlocalで試してはみたのですが。(^^;
なにかよい方法は、ないでしょうか。

また、$home/$fileのカタチで出力する場合、どのようにするのがよいでしょうか?
"$home/$file"とすると、/$で変数ではなく文字として解釈されると
思うのですが。"$home/".$fileとして逃げたりしているんですが。(^^;
こちらのほうでも、別の方法などありましたら、よろしくお願いします。

#!/usr/bin/perl

GetFiles(".");
exit(0);

sub GetFiles(){
local($dir)=@_;

print "In $dir\n";
opendir(DIR,$dir);
while($file=readdir(DIR)){
    if(-d $file && $file ne '.' && $file ne '..'){
    &GetFiles($file);
    }else{
    if($file ne '.' && $file ne '..'){print "$file\n";}
    }
}
close(DIR);
}

No. 1044 # B-MAX [E-mail] 2000/08/02 (水) 09:19:37
@68user様
ご回答、ありがとうございました。
もう少しTCP/IPについて勉強してみます。

No. 1045 # 68user 2000/08/02 (水) 09:52:14
    local(*DIR);
とします。なお、ハンドル DIR だけでなく $DIR も @DIR も %DIR も
全て localize されます。あるいは
    $handle = 'unique string';
    opendir($handle,'.');
とか。あと、こういう疑問が出てくるなら、
    http://www.oreilly.co.jp/BOOK/adperl/
をお勧めしておきます。

> "$home/$file"とすると、/$で変数ではなく文字として解釈される
/$ でも問題ないです。\$ と勘違いされてませんか?

No. 1046 # yuji 2000/08/02 (水) 11:41:15
すばやいお返事、どうもありがとうございました。
おかげさまで、うまくいきました。(^^)
書籍の情報、参考にさせていただきますので。
そうですね。すいません。(^^; >勘違い
スラッシュとバックスラッシュを使っていまして。

FTPで、指定したディレクトリ以下を決まった時間に、
指定したFTPサーバーのディレクトリに、自動的にアップロードするスクリプトを
作成していまして。これで次のステップに進めそうです。(^^)

今後とも、どうぞよろしくお願いします。

#!/usr/bin/perl

GetFiles(".");
exit(0);

sub GetFiles(){
local($dir)=@_;
local(*DIR);
local($file);

print "In $dir\n";#ディレクトリの作成などに。
opendir(DIR,$dir);
while($file=readdir(DIR)){
    if(-d "$dir/$file" && $file ne '.' && $file ne '..'){
    &GetFiles("$dir/$file");
    }else{
    if($file ne '.' && $file ne '..'){print "$file\n";}#ファイルごとの処理
    }
}
close(DIR);
}

No. 1047 # yuji 2000/08/02 (水) 12:18:15
近況報告ですが、回線が専用線になりまして。(^^)
今後は、apache+php+データベースに取り組んでいきたいと考えております。
Xt、おもしろいですよね。以前、ちょっとだけ取り組みました。

ディレクトリには、1個以上のファイルが含まれることが
多いですから、こっちのほうがスマートでしたね。(^^;
それでは、また。

#!/usr/bin/perl
GetFiles(".");
exit(0);

sub GetFiles(){
local($dir)=@_;
local(*DIR);
local($file);

print "In $dir\n";
opendir(DIR,$dir);
while($file=readdir(DIR)){
    if(-d "$dir/$file"){
        if($file ne '.' && $file ne '..'){
        &GetFiles("$dir/$file");
        }
    }else{
    print "$file\n";
    }
}
close(DIR);
}

No. 1048 # いち 2000/08/02 (水) 18:27:43
御回答ありがとうございます。

ちなみに僕の使っているOSはSunOS 5.6で、
Netscape はバージョン4.7です。

HTTP/FTP クライアントについては、
ネットワークプログラミングの基礎知識で今勉強中なのですが、
ftp の ascii モードと binary モード
というのがなんなのか良く解りません。


.netscape/ については less で覗いてみて、
bookmarks.html は、ブックマークに登録してあるもの、
history.list は、
URLを入力する所の右の下向き矢印をクリックすると表れるURL一覧、
preferences.js は、設定ファイルだと思うのですが、
plugin-list 、plugin-list.BAK については解りません。
その他のファイルについては、見ようとすると

"ファイル名" may be a binary file.
See it anyway?

という表示が出てきて、yesと答えても意味の解らないものが出てくるだけでした。


netscapeのキャッシュの事に関しては、
ls -lud 99/ と入力すると、99/ディレクトリにアクセスされていましたが、
その99/ディレクトリの中のファイルに関して、そのコマンドを入力すると、
アクセスされていませんでした。
これって、だめなのでしょうか?


あと、umask というコマンドについてなのですが、
ファイル、ディレクトリ作成時に、
ファイルのパーミッションを -rw-------
ディレクトリのパーミッションを drwx------
としておきたく、umask の値を変更したいのです。

umask が0の時のパーミッションは、
ファイルが -rw-rw-rw- で、
ディレクトリが drwxrwsrwx なのです。
groupの部分に s の表示があるため、umask 2067
としたらうまくいかないので、umask 77 としたら、
ディレクトリのパーミッションは drwx--l--- となりました。
groupの l も消すようにしたいのですが、どうしたらいいですか?

No. 1049 # 68user 2000/08/02 (水) 23:32:28
@いちさん
> ftp の ascii モードと binary モード
> というのがなんなのか良く解りません。
http://X68000.startshop.co.jp/~68user/unix/pickup?ftp のように
どこかの ftp サイトから mew-1.94.2.tar.gz をダウンロードして下さい。
get の前に binary とタイプすればいいです。

> .netscape/ については less で覗いてみて、
ね、自分で調べればそれなりにわかるでしょ。まずは
自力で調べて、それでもわからなければ質問して下さい。

その他については、strings で見ればわかるかもしれません。
それでもわからないものについては、多分僕にもわからないです。

> 99/ディレクトリの中のファイルに関して、そのコマンドを
> 入力すると、アクセスされていませんでした。
> これって、だめなのでしょうか?
ダメなんでしょう。ということは、おそらく
    % strings ~/.netscape/cache/index.db
で、ファイル名が出ないでしょうから、そもそも URL と
キャッシュファイルとのマッピングが出来ていないということです。

> あと、umask というコマンドについてなのですが、
umask 77 で、mkdir でディレクトリを作成したら
drwx--l--- になりますか? SunOS 環境が今手元に
ないので試せませんが、本当ですか?
# l の意味は ls のマニュアルを参照のこと。

@yujiさん
> 近況報告ですが、回線が専用線になりまして。(^^)
実はうちも専用線になったので Postgres をいじって遊ぼうと
思ってたら、仕事のせいで暇が全くなかったりします。

機能仕様書や詳細設計書を書いたり、Word や Excel に
苦しむ生活はもう嫌 (-_-#

No. 1050 # my [E-mail] 2000/08/04 (金) 11:39:12
はじめまして。
私は今プログラマーの仕事をしております。

今回の質問というのはcronについてです。
現在、UNIXを使って「指定した時間にプログラムを実行させる」
ということをしようとしています。
crontabに日時などの情報とコマンドを記述するらしいということは
わかったのですが、どうも思ったようにいきません。
crontabに日時、echoコマンドを記述したところ
mailで返ってきました。
インターネットからの情報ではechoコマンドやエラーが出たときは
mailで返って来るということなので、それはそれでよかったのです。
しかし、いざ実行したいシェルを書きますと、
シェルが起動してくれませんでした。
cronはシェルを起動することもできるんですよね?
シェルはフルパスで指定しましたし、chmodで実行を許可しておきました。
そして、何せシェル単独では動くのです・・・。
cronを使ってシェルを起動させるのに、ほかに何か注意する点はありますか?

お忙しいところすいません。
もし何かわかることがございましたら、お答えいただきたく思います。

それでは、よろしくお願いいたします。

No. 1051 # 68user 2000/08/04 (金) 13:14:22
> ほかに何か注意する点はありますか?
必要な環境変数が設定されているか、例えば PATH は
通っているか、などをチェックしましょう。cron で
env コマンドを実行すればわかるでしょう。

No. 1052 # Syuichi.K [E-mail] 2000/08/06 (日) 05:20:18
この掲示板を観ていて、
ソース類を頻繁に書き込む掲示板では、独自タグでtextareaを表示できるようにすると
1.ドラッグによるテキスト選択がやりやすい(普通の表示だと異様にやりずらいブラウザがあります)
2.1ページのログの縦幅が減る
という利点があると思ったのですがどうでしょうか。

#独自タグは人によって意見が全然違うのでしょうが
##「違うのでしょうが」っていうのは日本語としておかしいのでしょうが

No. 1053 # じょん 2000/08/07 (月) 15:56:49
はじめまして、教えて下さい。

Apache 1.3.12
TurboLinux 6.1
の環境で cgi-bin フォルダがあります。
.cgi のファイルは正しく実行されるのですが、
.html のファイルまで実行しようとする様子で、エラーになってしまいます。
多分、Apache の設定だと思うのですが、資料がなくてわかりません。

ご教授よろしくお願いします 

No. 1054 # has 2000/08/07 (月) 16:27:37
perlでローカルタイムと標準時との間の相互変換をする方法について
質問です。

$t = time;
($sec,$min,$hour,$day,$mon,$year,$wday) = gmtime($t);
または
($sec,$min,$hour,$day,$mon,$year,$wday) = localtime($t);

とすると、現在の時刻に関する情報(秒、分、時、日、年、月、曜日)が
得られますが、この($sec,$min,$hour,$day,$mon,$year,$wday)がわかっているときに
$tを得るにはどうしたらよいのでしょうか。

No. 1055 # 68user 2000/08/07 (月) 17:46:23
@じょんさん
> .html のファイルまで実行しようとする様子で、エラーになってしまいます。
おそらく
    http:// hostname/~foo/cgi-bin/
でなくて、
    http:// hostname/cgi-bin/
の話だろうと思いますが、デフォルトでは httpd.conf で
    ScriptAlias /cgi-bin /usr/local/www/cgi-bin
などとなっているので、全てのファイルが CGI プログラムとして
認識されます。なので、
    Alias /cgi-bin /usr/local/www/cgi-bin
にすればよいです。ただし根本的には /usr/local/www/cgi-bin に
CGI プログラムしか置かないというのが (apache の思想としては)
正しいです。

@Syuichi.K さん
> ソース類を頻繁に書き込む掲示板では
空白の話ですよね。空白を &nbsp; に変換しようかなと考えて
いたのですが、それだと
> 1.ドラッグによるテキスト選択がやりやすい(普通の表示だと
> 異様にやりずらいブラウザがあります)
> 2.1ページのログの縦幅が減る
というのは解消できないのでしょうか? 「ドラッグしづらい」
「縦幅が減る」の意味がちょっとわからないです。

@has
> この($sec,$min,$hour,$day,$mon,$year,$wday)が
> わかっているときに $tを得る
Time::Local モジュールを使います。perldoc Time::Local を
参照のこと。perl4 なら require 'timelocal.pl' です。

ところで、お盆には行けない可能性が大になりました>has
今の状況だと、夏休みを取れるかどうかも怪しいという…。

No. 1056 # has 2000/08/07 (月) 20:39:23
@68user
ありがとうございました。
調べてみますです。

お仕事大変そうですな。
時間のとれたときにでも、
ゆっくりお話ししましょう。

No. 1057 # じょん 2000/08/08 (火) 12:06:08
68user さんありがとうございます。
アドバイスを元に、試行錯誤してうまくいきました
Apache って面倒ですね (^^;)

今後も、よろしくお願いします。 m(_'_)m 

No. 1058 # gongo [E-mail] 2000/08/08 (火) 20:14:01
@68user様
どうも、ご無沙汰しております。Xアプリケーション作成中のgongoです。
前回68user様に教えていただいた通り、イベントハンドラを用いて
線を描くことができました。そこで今度はXDrawLineだけではなく、
他のXlibの関数を用いて絵を描こうと思い実行してみたのですが
問題が生じてしまいました。前回のプログラムからちょこっと直したので
次のようになっております。
http://www.din.or.jp/~gongo/xtshirts.c (プログラム本体)
http://www.din.or.jp/~gongo/color.dat (色設定)
http://www.din.or.jp/~gongo/outline.dat (絵の輪郭のための座標)
http://www.din.or.jp/~gongo/polygon.dat (絵を塗り潰すための座標)
今回やろうとしたのは、
1.絵を描くための窓を白で塗りつぶす(最初のみ)
2.窓に影をつける(見た目を格好よくしたかったため)
3.全ての窓に同じ絵を描く
4.その絵に輪郭をつける
です。で、問題というのはこれらすべてはExposeイベントによって
処理されるようにしたのですが、どうも窓の名前(window1,window2など)
が表示されてしまいます。窓に何も描いていない場合でない限り
窓の名前は表示されないものと思っていたのですが、今回絵を描いても
窓の名前が表示されたりされなかったりします。Exposeを何度も起こして
(上に他の窓を持って来たりして)動作を確認していたのですが
窓の名前が表示されるときもさればそうでないときもあるため
原因がいまいちわかりません。

どうかよろしくお願い致します。

No. 1059 # 68user 2000/08/08 (火) 22:51:30
まず、
    - Window?? というのは Xt のラベル
    - その下の服やらなんやらは Xlib
です。

Xlib の方は Expose が発生すると再描画するように EventHandler を
設定しています。しかし、Xt の方は Xt が勝手に Expose を取得し、
再描画しています。

で、表示される/されないの現象を見るに、
    - Xlib の方は、ウィンドウの一部が露出しただけで常に
        再描画するようになっています。なぜならウィンドウ全体である
        form に Expose イベントハンドラとして、全ての Xlib な画像を
        再描画するように設定されているからです。
    - Xt のウィジェットの方は、自分自身のウィジェットが
        露出しない限り、再描画しません
なので、xtshirts のウィンドウの半分を別のウィンドウで覆い、
その後 xtshirts ウィンドウを露出させると、隠れていなかった
部分のラベルが消えます。これは、隠れていなかった部分の
ウィジェットは再描画しなかったのに、Xlib の方が再描画
してしまったからでしょう。

対策としては、
    - Xlib の方でも本当に関係ある Expose だけを拾うようにする。
    - Xlib の方で Expose を受けたら再描画し、その後 XClearArea
        (だったかなぁ?) で隠れてしまったウィジェットの方に
        Expose イベントを送る
でしょうか。あるいは重ね合わせを簡単に指定できる方法が
あるのかもしれません。

以上、Xt 素人の意見でした。大外しの可能性もありますので、
盲目的に信用しないで下さい。

ちなみに initflag の部分は
    - 結局一度しか実行されない (main だから)
    - コールバックやイベントハンドラは一度設定したら、ずっと
        その設定が残る (再設定しない限り)
なので、意味はないと思います。

No. 1060 # gongo [E-mail] 2000/08/09 (水) 03:23:55
@68user様
本当にありがとうございます!
どうしてあのような状況になったのかだいたい理解できました。

>form に Expose イベントハンドラとして、全ての Xlib な画像を

これについては最初は各ウィジェットごとにExposeイベント処理をしよう
かとも思っていたのですが、アプリケーションの見た目のために
意味もなくつけた影となる窓もXlibを用いて色を塗っていたため
全部のウィジェットについてExposeを設定するよりもformの方が
簡単かなぁと思ってしまったためです。

ご提案してくださった対策法につきましては2つ目の方がちょっと
まだわからないところがあるのでいろいろやってみたいと思います。

基本的にはXtのラベルには出てきてほしくないものなのですが・・・。

No. 1061 # gongo [E-mail] 2000/08/09 (水) 21:13:23
@68user様
Xtのラベルを表示させないようにするのは成功しました。
結局各ウィジェットごとにExposeイベントの処理を行うことにしました。
そこで次に各ウィジェットごとに服の色を変えようかと思い、
DrawOnWidgetの中でdrawgcの属性値を変えようとしたのですが
どうもうまくいきません。1つのGCを各ウィジェットに対して
属性値を変えつつ使い回すのは無理なのでしょうか。
どうしても最初の窓用に設定した色で全て塗りつぶされてしまいます。
プログラムはこちらです↓
http://www.din.or.jp/~gongo/xtshirts.c
http://www.din.or.jp/~gongo/color.dat
http://www.din.or.jp/~gongo/fixedcolor.dat
http://www.din.or.jp/~gongo/polygon.dat
http://www.din.or.jp/~gongo/outline.dat

まだ先の話ですが、いずれは1つの窓をクリックすることで
全ての服の色に影響を与え、再描画するようにしたいと考えております。
どうか宜しくお願い致します。

No. 1062 # 68user 2000/08/09 (水) 21:54:47
たぶん、DrawOnWidget の fscanf で、バッファオーバーランを
起こしています。そのため windownum が上書きされ、値が常に
0になってます。例えば POLNUM の数を増やすと動作しました。

開発初期段階のうちから
    if ( j >= sizeof(polpoints)/sizeof(polpoints[0]) ){
        オーバーラン
    }
というような自動チェックのコードを仕込んでおくこと
をお勧めします。

あと、デバッグは、もうちょっと注意深くやってみましょう。
XChangeGC 周辺で windownum や pixelnum[windownum] の
値を表示させるだけで、おそらく気づいたことでしょうから。

No. 1063 # 68user 2000/08/09 (水) 22:16:39
ちゃうな。POLNUM は正しいのか。というわけで、
    誤: fscanf("%d%*c%d%*c",&polpoints[j].x,&polpoints[j].y);
    正: fscanf("%hd%*c%hd%*c",&polpoints[j].x,&polpoints[j].y);
ですかね。XPoint のメンバ x,y は int でなく
short int です。

No. 1064 # gongo [E-mail] 2000/08/10 (木) 00:16:58
@68user様
お手数おかけ致しまして申し訳ございませんでした。
DrawOnWidgetに入った時点でwindownumがきちんと受け渡されて
表示されていたので、てっきり大丈夫なのだと思いこんでいました。
以後もう少し気をつけてデバック致します。

No. 1065 # masa 2000/08/10 (木) 00:59:15
よく参考にさせてもらってるのですが、発言ははじめてです。
よろしくお願いします。
今環境変数に興味を持っているのですが
UGTOPの「確認くん」で一部の携帯電話で
クライアントの電話番号が取得できる欄が
ありました。この環境変数名(HTTP_???)は何かご存知ですか?
もしかしてCLIENT_IPとかでしょうか?

No. 1066 # 68user 2000/08/10 (木) 01:24:48
> この環境変数名(HTTP_???)は何かご存知ですか?
    http://www.zdnet.co.jp/news/0003/29/ido.html
HTTP_X_UP_SUBNO だそうで。まぁおそらくデータの流れは
    携帯←→センタ←→WWWサーバ
でしょうから (かな?)、今はセンタ側で対応されてて、電話番号は
取れないのかも。

ところで、相変わらず http://www.ugtop.com/ って、Shift-JIS なのに
    Content-Type: text/html; charset=iso-2022-jp を
を出してますな。なので、うちでは化け化け。何か意図があるんだろうか。

No. 1067 # tt1 2000/08/10 (木) 13:29:07
はじめまして
perlで以下のことをやりたいのですが教えてください。

$aaa = 10000000;

これを 10,000,000 というようにしたいのですか?
1000の場合は、1,000 です。
どうすればよいですか?
よろしくお願いします。

No. 1068 # 68user 2000/08/10 (木) 14:00:07
> どうすればよいですか?
どうすればよいと思いますか?

# 考えるのがめんどくさい人はこちら。
#  http://www.din.or.jp/~ohzaki/perl.htm#NumberWithComma

No. 1069 # R-N 2000/08/11 (金) 02:57:41
どうも、おひさしぶりです!
wrapperを使って色々テストしていたのですが、wrapperではエラー表示がなく
実際に実行すると得意の500 Internal Server Errorがでます。
ちょっと変なことをやってるんですが...。
(日付を数値で保存して差をみたかった)

#!/usr/local/bin/perl
$temp0 = 966500000;
$temp1 = localtime($temp0);
$temp2 = localtime(966000000);
print "$temp1/$temp2";

以上がテストした全文です。(属性は755)
この調子だとプログラムに組みこんでもエラーですよね?
日付表示もしたいのでlocaltime($temp0)とかしてみたんですが...。
何処がマズイのでしょうか?

No. 1070 # Syuichi.K [E-mail] 2000/08/11 (金) 05:16:14
> 空白の話
それはどういう不都合なのでしょうか?

ドラッグというのは、マウスでソースを選択する時の事です。

No. 1071 # 68user 2000/08/11 (金) 09:29:41
@R-N さん
> wrapperを使って色々テストしていたのですが、wrapperではエラー表示がなく
> 実際に実行すると得意の500 Internal Server Errorがでます。
Content-type ヘッダを出力していない、ってことかな。

@Syuichi.K さん
> ドラッグというのは、マウスでソースを選択する時の事です。
これはちょっと後ほど。というか、空白はなにかしらの
方法で画面に反映するようにするつもりではいます。

No. 1072 # R-N 2000/08/11 (金) 23:29:12
ぐはっ、そうでした...。
あいかわらず基本がおろそかでもうしわけない...。
ありがとうございました、でなおしてきまする。

No. 1073 # gongo [E-mail] 2000/08/12 (土) 19:07:46
@68user様
どうも、gongoです。
前回発言したときよりさらに進めて、今度は真ん中に表示される服を除く
服が選択されたときに、選択された服の色によって選択されなかった
他の服の色を塗りなおすということをやろうとしています。

そこで、あるウィジェットがマウスでクリックされるとWidgetChoice
という関数に入るようにして、その中でChangeColorという関数を
呼び出すことで色のRGB値を書いたファイルcolor.datを書き直すことに
しました。そして新たな色で再描画するようにExposeイベントを送る
ことにしました(ただし、まだ実験段階なのでlabel1だけ
書き直そうとしています)。

ところが、Exposeイベントを送っても新たなカラーで描き直されません。
XtRealizeWidgetではだめで、XtUnmapWidgetをやってからXtMapWidget
をやるとマウスでクリックした時に一瞬label1がチラッとするので
Exposeイベントは送られているような気がします。しかし、新たな色が
有効になりません。また、XClearWindowをやってみたりもしましたが
これだと服が消えてしまったままで再描画されません。

こういった場合は、DrawOnWidgetと同様のことをChangeColorの後に
書くべきなのでしょうか。できればExposeイベントを意図的に
起こすことで再描画してほしいのですが・・・。

どうか宜しくお願い致します。

No. 1074 # gongo [E-mail] 2000/08/12 (土) 19:12:17
@68user様
失礼しました。プログラムはこちらです↓
http://www.din.or.jp/~gongo/xtshirts.c
http://www.din.or.jp/~gongo/color.dat
http://www.din.or.jp/~gongo/outline.dat
http://www.din.or.jp/~gongo/fixedcolor.dat
http://www.din.or.jp/~gongo/polygon.dat
http://www.din.or.jp/~gongo/oldcolor.dat

宜しくお願い致します。

No. 1075 # gongo [E-mail] 2000/08/14 (月) 02:00:24
@68user様
よくよく考えると、maninに入ってすぐにColor()を呼び出したっきり
だからまずいのでしょうか。そうなるとExpose云々よりもまず
クリックしてcolor.datが書き直された後にColor()を呼び出すべき
なのでしょうか。う〜ん、お盆あけないと確認できません・・・。

No. 1076 # ふくし [E-mail] 2000/08/14 (月) 04:04:54
ここでははじめましてです。どぞよろしく。
早速質問ですみませんが、
・Cygwinで動くApacheのバイナリーパッケージを見かけた方か、
・CygwinでApacheのコンパイルに成功した方か
・Windows用ApacheでCygwinのPerlのスクリプトを動かす方法を知っている方は
いらっしゃいますか?
いつもは会社でFreeBSDでCGIの開発、メンテをしているのですが、
(一般ユーザーで管理者ではなく、UNIXくわしくありません)
夏休み家人のWindows98マシンで作業をしなければならなくなり、
Cygwin、Perl、Meadow(Emacsですな)は入れて快適に使えているのですが、
肝心のApacheがどうしてもインストールできません。
具体的な現象でいうと、makeで「no rule for targat all. stop」とか言われます。
成功した人のページ(男塾の塾長さんらしいです ^^;)のマネをしているのだが、、。
ActivePerlを使うのが常道らしいですが、会社に最終的には持っていくのでUNIX互換にしたいし、
DOS窓とかWindowsのエディターは慣れてないので憂鬱です。
ぶしつけで申し訳ありませんがよろしくお願いします、、。
ああっでもペケロクの部屋なのにPCの質問ですいませんっ
ではでは。

No. 1077 # ふくし [E-mail] 2000/08/14 (月) 13:53:34
すいません、解決しちまいました、、。
pastyというフランス人のサイト(http://persoweb.francenet.fr/~pasty/cygport/)に
B20(というCygwinのバージョン)用のバイナリーがあって、ぼくのはv1.1なんだけど、
動かしてみたら、動いた。
http://localhost/index.htmlに自分が書いたページ置いたら見えます。イエー!

ただ、ここでまた問題がー。
/usr/local/apache/cgi-bin/の下に自作のcgi、hello.cgiを

#!/usr/local/bin/perl

print "Content-type: text/html\n\n";
print "<html><body>聞こえますか</body></html>\n";

とか書いて動かしてみたんですが、奇怪な現象が、、。
ブラウザがページを一生懸命ロードするんですけど、
いつまでたってもロードがおわりません。
で、停止ボタンを押すと

聞こえますか>
================================================
転送を中断しました!

とか表示されて、ページのソースを見ると、

<html><body>聞こえますか</body></html>

と書いてある。ううん、動いてはいるようなんだけどなー。

コマンドラインで hello.cgi を動かしても、

Content-Type: text/html

<html><body>聞こえますか</body></html>

と出てくるし、Content-type のあとの改行を1個減らすと
ちゃんと Internal Server Error になるんですけど。(^^;;;

どなたか同様の経験を克服された方はいらっしゃいますか?
何回も聞いてすいません。
うーん、惜しい。惜しいんだけどなー、、、。

No. 1078 # CAcTus [URL] [E-mail] 2000/08/14 (月) 14:09:19
ホームページ開設のお知らせ・・・
■残暑お見舞い申しあげます。さて、一風変わったサボテンホームページができましたのでご参笑ください。これで子供たちやご婦人方のサボテンファンがひとりでも増えれば幸いです。どうか今後ともいろいろご教示くださいね。

No. 1079 # skel.103M 2000/08/15 (火) 17:58:45
はじめまして、skel.103Mです。いつもこのホームページを参考にさせて
いただいてます。

@ふくし さん
>print "Content-type: text/html\n\n";
print "Content-type: text/html\r\n";

print "Content-type: text/html\n\r";
にすれば動くかも、と思ったりしました。

No. 1080 # 68user 2000/08/16 (水) 21:53:20
IP unreachable な環境にいたので、しばらく書き込め
ませんでした。で、ネット外でいろいろあって、これから
しばらくは書き込まないと思います。ご了承ください。

とりあえずはこの掲示板はそのまま置いておきますが、
一時的に書き込み不可にするかもしれないし、しないかも
しれないです。要は未定ってことです。

Prev< No. 1027〜1080> Next  [最新発言に戻る] [過去ログ一覧]