作者Dopin (bbs.ats.idv.tw)
看板PttSuggest
標題Re: [建議]增加隨機選簽名檔的功能
時間Thu Jul 17 11:27:56 2003
※ 引述《dustree (藍色雙魚)》之銘言:
: 有時候想換簽名檔 但選又很麻煩
: 可不可以多一項開關
: 打開的話 每次寫完文章後
: 系統直接從已經編輯好的簽名檔裡隨機選出後加入
: 很久以前的藍波快信和銀版快信裡有這種功能
: 如果能再加入儲存目前閱讀文章簽名檔的功能的話 更讚~
// ATS 的簽名檔程式 提供參考 當然是不可能完全相容 但原理大同小異
// src/maple/edit.c
static void addsig() {
char ch, records, sign_exist[9], fpath[STRLEN], buf[ANSILINELEN+1];
static char msg[] = "請選擇簽名檔 (1-9, N 不加, 0 亂數, Enter 同前次) : ";
int i;
FILE *fs;
if(anonymous == 1) return;
if(!currutmp->userlevel) return;
for(ch = 0 ; ch < 9 ; ch++) sign_exist[ch] = 0;
i = showsignature(fpath, 'A', 0);
ch = buf[0] = 0;
getdata(0, 0, msg, buf, 2, LCECHO, 0);
if(!buf[0]) {
ch = 1;
goto Check_LAST;
}
if(buf[0] == 'n') {
cuser.backup_char[0] = 0;
goto UPDATE_SIG;
}
if(buf[0] == '0') {
for(records = 0 , ch = 0 ; ch < 9 ; ch++) {
fpath[i] = ch + '1';
if((fs = fopen(fpath, "r")) != NULL) {
++records;
sign_exist[records-1] = ch;
fclose(fs);
}
}
if(records) {
srandom(file_seed(BBSCODE "/fpindex"));
buf[0]= '1'+ sign_exist[random() % records];
fpath[i] = buf[0];
}
else {
pressanykey("簽名檔 1~9 皆不存在 !! 無法引入 ...");
buf[0] = 0;
}
}
ch = buf[0];
Check_LAST:
if(ch == 1) {
if(cuser.backup_char[0]) ch = cuser.backup_char[0];
else ch = 0;
}
cuser.backup_char[0] = 0;
if(ch >= '1' && ch <= '9') {
fpath[i] = ch;
if(fs = fopen(fpath, "r")) {
insert_string("\n--\n");
for(i = 0; i < MAXSIGLINES && fgets(buf, sizeof(buf), fs); i++)
insert_string(buf);
fclose(fs);
cuser.backup_char[0] = ch;
}
}
UPDATE_SIG:
item_update_passwd('l');
xuser.backup_char[0] = cuser.backup_char[0];
item_update_passwd('u');
}
--
修改原因 -> 我發完後就發現 這裡可以選隨機簽名檔呀 QQ;;;
--
※ 發信站: 批踢踢實業坊(ptt.csie.ntu.edu.tw)
◆ From: 210.68.39.15
※ 編輯: Dopin 來自: 210.68.39.15 (07/17 11:29)
※ 編輯: Dopin 來自: 210.68.39.15 (07/18 00:26)