找回密碼
 入住家園
樓主: 芳草

【转载】钱玄同、陈独秀:中国今后之文字问题

[複製鏈接]
發表於 2005-12-25 13:47:59 | 顯示全部樓層
回复fhb13
引用:
--------------------------------------------------------------------------------
原文由fhb13 发表:
首先请你不要用政府要人和一些文学大腕来压人
--------------------------------------------------------------------------------
你好象看不懂,我说的话,我只是说这两个人是很严肃的讨论文字人物。并非戏说或者闲聊。

引用:
--------------------------------------------------------------------------------
原文由fhb13发表:
输入法使中国软件产业停顿了20?
本人搞程序那么久还没听哪个前辈提起过。
--------------------------------------------------------------------------------

  “乱码奔腾20年”是国人共识,你是研究软件还不知道奇怪,如果一个软件开发者不知道软件的市场情况,那怎么研究软件。
  我想一个有志者,首先考虑的是自己学习和奋斗的方向。比如王永民他先知道电脑无法快速录入汉字,他才想研究五笔字形的;如果把时间和精力都用在汉字输入法上了,没用在其他的电脑软件研究上,那不是浪费又是什么。
  我真不知道,中国在近20多年,有什么其他电脑软件问世,可是印度却成为仅次于美国的软件强国,我们不是落后还能是前进吗。
  我还知道因为汉字输入的字库不够大把GB2312-80扩大5次。我也知道wps,cced,被比.盖弄的没后劲了。
希望你把你学的电脑软件开发知识用在汉字信息处理上,看到你的更多电脑软件问世。

引用:
--------------------------------------------------------------------------------
原文由fhb13发表:
把你的新文字也贴出来看看,我看过很多新文字都感觉到该文字的作者眼光都一致的非常短浅,希望你不是。
--------------------------------------------------------------------------------

我的拼音文字是按文字的三要素编码的可以和汉字一一对应,并多次在网站上多次发表,和很多人的想法不一样。
晚一点我会发表的,但愿你是软件和文字的行家里手,给予批评指正。
發表於 2005-12-25 13:50:53 | 顯示全部樓層
楼上的应该去问DBA,而不是问程序员。
这个软件是给数据库用户使用的,而不是给程序员使用的。
程序员调用数据库不是用VFP,是用嵌入型的DML。
该嵌入语句是直接通过宿主语言的预编译器进行编译,生成直接访问数据库的代码来完成对数据库的访问。
而不是通过学习VFP来访问数据库的,这个数据库程序是给你们这些非程序员的计算机用户所使用的。

至于你说的两个错误是编写改程序的程序员自己定义的,只好去看看这方面的说明。
第一个有可能是该文件不存在。
第二个有可能是由于数据库的完整性约束而导致的错误。

这里再说下不是什么应用软件的错误消息拿去问程序员都可以搞清楚的。
没有任何一个程序员回去背所有软件的错误消息对应的说明文字。
以后不要再拿这些软件的错误消息问程序员了,除非这个软件是他编写的除外。
發表於 2005-12-25 14:31:04 | 顯示全部樓層
原文由 汤光大 发表:
“乱码奔腾20年”是国人共识,你是研究软件还不知道奇怪,如果一个软件开发者不知道软件的市场情况,那怎么研究软件。
这个我知道,但是他和软件开发有什么联系?
你以为软件开发就为了作一个文本编辑器?
你玩的网络游戏就不要开发了?
你用来播放MP3的软件就不用开发了?
3D动画设计程序不用开发了?
乱码影响面几乎波及不到程序设计这个领域
而且对文本编辑软件来说乱码并不是不要处理的
只要再其中选定一个编码或是自己创造一个编码使其成为改软件的标准码就好了
至于输入法和程序设计是两码事
输入法只是用程序设计语言编写出来的一个软件而已
而不是程序设计语言的本身
对软件开发起到影响作用的是程序设计方法
而且汉字编码和程序设计完全撤不到一块
  我想一个有志者,首先考虑的是自己学习和奋斗的方向。比如王永民他先知道电脑无法快速录入汉字,他才想研究五笔字形的;如果把时间和精力都用在汉字输入法上了,没用在其他的电脑软件研究上,那不是浪费又是什么。
你去问问现在的程序员98%都用拼音输入
现在编写一个程序就编写菜单的时候要输入几个中文字符
其他时候99.99%的时间都花在代码的编写和研究上的
你以为一个Windows系统的几百万行代码都是用输入法输入的?
  我真不知道,中国在近20多年,有什么其他电脑软件问世,可是印度却成为仅次于美国的软件强国,我们不是落后还能是前进吗。
印度那是代码工厂而不是软件强国
你哪里能看到一款出色的印度软件
他们都是帮别人填写代码而已
只能说印度是一个软件出口大国
而不能说是一个软件强国
至于说中国软件业的落后主要和政府的态度有关
印度政府非常重视软件行业进行了大力的扶持
也就搞出了一个出口大国的名称
但是中国呢
政府不重视
但是还有很多重量级的自主软件诞生
你下面说的wps难道不是其中之一吗
印度有像wps一样有影响力的自主软件吗
中国和印度走的不是一条路
只要政府重视软件业
中国的软件成就不是印度能比的
印度到时候只能是帮我们填写一些代码而已
  我还知道因为汉字输入的字库不够大把GB2312-80扩大5次。我也知道wps,cced,被比.盖弄的没后劲了。
希望你把你学的电脑软件开发知识用在汉字信息处理上,看到你的更多电脑软件问世。
你难道不知道最近wps又出来一个版本吗?
现在出来的这个wps的性能可完全和Word不相上下啊。
还有我不会把我的电脑软件开发知识放在汉字信息处理上
去研究汉字处理的事情是那些搜索网站之类的地方干的事情不是程序员做的
再次申明下程序员编写程序几乎和汉字处理撤不上关系
發表於 2005-12-25 14:50:12 | 顯示全部樓層
给出一个代码的例子
我用汇编语言作一个例子
因为汇编代码是最麻烦的代码
也就是说相同的功能,用汇编编出来的代码最长
这个代码是用来调用数据库的,上面哪个问我VFP的也看看程序员是怎么调用数据库的
还有看看一个程序设计里面和汉字有什么联系,联系有多大。

.386
.model flat,stdcall
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\odbc32.inc
include \masm32\include\comctl32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\odbc32.lib
includelib \masm32\lib\comctl32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib

IDD_MAINDLG equ 101
IDR_MAINMENU equ 102
IDC_DATALIST equ 1000
IDM_CONNECT equ 40001
IDM_DISCONNECT equ 40002
IDM_QUERY equ 40003
IDC_NAME equ 1000
IDC_OK equ 1001
IDC_CANCEL equ 1002
IDM_CUSTOMQUERY equ 40004
IDD_QUERYDLG equ 102

DlgProc proto hDlg:WORD, uMsg:WORD, wParam:WORD, lParam:WORD
QueryProc proto hDlg:WORD, uMsg:WORD, wParam:WORD, lParam:WORD
SwitchMenuState proto WORD
ODBCConnect proto WORD
ODBCDisconnect proto WORD
RunQuery proto WORD

.data?
hInstance dd ?
hEnv dd ?
hConn dd ?
hStmt dd ?
Conn db 256 dup(?)
StrLen dd ?
hMenu dd ?
hList dd ?
TheName db 26 dup(?)
TheSurname db 26 dup(?)
TelNo db 21 dup(?)
NameLength dd ?
SurnameLength dd ?
TelNoLength dd ?
SearchName db 26 dup(?)
ProgPath db 256 dup(?)
ConnectString db 1024 dup(?)

.data
SQLStatement db "select * from main",0
WhereStatement db " where name=?",0
strConnect db "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=",0
DBName db "数据库文件.mdb",0
ConnectCaption db "完成连接",0
Disconnect db "断开连接",0
AppName db "ODBC测试",0
AllocEnvFail db "环境句柄分配失败",0
AllocConnFail db "连接句柄分配失败",0
SetAttrFail db "不能获取ODBC版本",0
NoData db "你必须在文本框中设计一个名字",0
ExecuteFail db "执行SQL语句失败",0
ConnFail db "连接尝试失败",0
AllocStmtFail db "语句句柄分配失败",0
Heading1 db "名字",0
Heading2 db "姓氏",0
Heading3 db "电话号码",0

.code
start:
invoke GetModuleHandle, NULL
mov hInstance,eax
call GetProgramPath
invoke DialogBoxParam, hInstance, IDD_MAINDLG,0,addr DlgProc,0
invoke ExitProcess,eax
invoke InitCommonControls
DlgProc proc hDlg:WORD, uMsg:WORD, wParam:WORD, lParam:WORD
.if uMsg==WM_INITDIALOG
invoke GetMenu, hDlg
mov hMenu,eax
invoke GetDlgItem, hDlg, IDC_DATALIST
mov hList,eax
call InsertColumn
.elseif uMsg==WM_CLOSE
invoke GetMenuState, hMenu, IDM_CONNECT,MF_BYCOMMAND
.if eax==MF_GRAYED
invoke ODBCDisconnect, hDlg
.endif
invoke EndDialog,hDlg, 0
.elseif uMsg==WM_COMMAND
.if lParam==0
mov eax,wParam
.if ax==IDM_CONNECT
invoke ODBCConnect,hDlg
.elseif ax==IDM_DISCONNECT
invoke ODBCDisconnect,hDlg
.elseif ax==IDM_QUERY
invoke RunQuery,hDlg
.elseif ax==IDM_CUSTOMQUERY
invoke DialogBoxParam, hInstance, IDD_QUERYDLG,hDlg, addr QueryProc, 0
.endif
.endif
.else
mov eax,FALSE
ret
.endif
mov eax,TRUE
ret
DlgProc endp

GetProgramPath proc
invoke GetModuleFileName, NULL,addr ProgPath,sizeof ProgPath
std
mov edi,offset ProgPath
add edi,sizeof ProgPath-1
mov al,""
mov ecx,sizeof ProgPath
repne scasb
cld
mov byte ptr [edi+2],0
ret
GetProgramPath endp

SwitchMenuState proc Flag:WORD
.if Flag==TRUE
invoke EnableMenuItem, hMenu, IDM_CONNECT, MF_GRAYED
invoke EnableMenuItem, hMenu, IDM_DISCONNECT, MF_ENABLED
invoke EnableMenuItem, hMenu, IDM_QUERY, MF_ENABLED
invoke EnableMenuItem, hMenu, IDM_CUSTOMQUERY, MF_ENABLED
.else
invoke EnableMenuItem, hMenu, IDM_CONNECT, MF_ENABLED
invoke EnableMenuItem, hMenu, IDM_DISCONNECT, MF_GRAYED
invoke EnableMenuItem, hMenu, IDM_QUERY, MF_GRAYED
invoke EnableMenuItem, hMenu, IDM_CUSTOMQUERY, MF_GRAYED
.endif
ret
SwitchMenuState endp

ODBCConnect proc hDlg:WORD
invoke SQLAllocHandle, SQL_HANDLE_ENV, SQL_NULL_HANDLE, addr hEnv
.if ax==SQL_SUCCESS || ax==SQL_SUCCESS_WITH_INFO
invoke SQLSetEnvAttr, hEnv,SQL_ATTR_ODBC_VERSION, SQL_OV_ODBC3,0
.if ax==SQL_SUCCESS || ax==SQL_SUCCESS_WITH_INFO
invoke SQLAllocHandle, SQL_HANDLE_DBC, hEnv, addr hConn
.if ax==SQL_SUCCESS || ax==SQL_SUCCESS_WITH_INFO
invoke lstrcpy,addr ConnectString,addr strConnect
invoke lstrcat,addr ConnectString, addr ProgPath
invoke lstrcat, addr ConnectString,addr DBName
invoke SQLDriverConnect, hConn, hDlg, addr ConnectString, sizeof ConnectString, addr Conn, sizeof Conn,addr StrLen, SQL_DRIVER_COMPLETE
.if ax==SQL_SUCCESS || ax==SQL_SUCCESS_WITH_INFO
invoke SwitchMenuState,TRUE
invoke MessageBox,hDlg, addr Conn,addr ConnectCaption,MB_OK+MB_ICONINFORMATION
.else
invoke SQLFreeHandle, SQL_HANDLE_DBC, hConn
invoke SQLFreeHandle, SQL_HANDLE_ENV, hEnv
invoke MessageBox, hDlg, addr ConnFail, addr AppName, MB_OK+MB_ICONERROR
.endif
.else
invoke SQLFreeHandle, SQL_HANDLE_ENV, hEnv
invoke MessageBox, hDlg, addr AllocConnFail, addr AppName, MB_OK+MB_ICONERROR
.endif
.else
invoke SQLFreeHandle, SQL_HANDLE_ENV, hEnv
invoke MessageBox, hDlg, addr SetAttrFail, addr AppName, MB_OK+MB_ICONERROR
.endif
.else
invoke MessageBox, hDlg, addr AllocEnvFail, addr AppName, MB_OK+MB_ICONERROR
.endif
ret
ODBCConnect endp

ODBCDisconnect proc hDlg:WORD
invoke SQLDisconnect, hConn
invoke SQLFreeHandle, SQL_HANDLE_DBC, hConn
invoke SQLFreeHandle, SQL_HANDLE_ENV, hEnv
invoke SwitchMenuState, FALSE
invoke ShowWindow,hList, SW_HIDE
invoke MessageBox,hDlg,addr Disconnect, addr AppName,MB_OK+MB_ICONINFORMATION
ret
ODBCDisconnect endp

InsertColumn proc
LOCAL lvcV_COLUMN
mov lvc.imask,LVCF_TEXT+LVCF_WIDTH
mov lvc.pszText,offset Heading1
mov lvc.lx,150
invoke SendMessage,hList, LVM_INSERTCOLUMN,0,addr lvc
mov lvc.pszText,offset Heading2
invoke SendMessage,hList, LVM_INSERTCOLUMN, 1 ,addr lvc
mov lvc.pszText,offset Heading3
invoke SendMessage,hList, LVM_INSERTCOLUMN, 3 ,addr lvc
ret
InsertColumn endp

FillData proc
LOCAL lviV_ITEM
LOCAL rowWORD

invoke SQLBindCol, hStmt,1,SQL_C_CHAR, addr TheName, sizeof TheName,addr NameLength
invoke SQLBindCol, hStmt,2,SQL_C_CHAR, addr TheSurname, sizeof TheSurname,addr SurnameLength
invoke SQLBindCol, hStmt,3,SQL_C_CHAR, addr TelNo, sizeof TelNo,addr TelNoLength
mov row,0
.while TRUE
mov byte ptr ds:[TheName],0
mov byte ptr ds:[TheSurname],0
mov byte ptr ds:[TelNo],0
invoke SQLFetch, hStmt
.if ax==SQL_SUCCESS || ax==SQL_SUCCESS_WITH_INFO
mov lvi.imask,LVIF_TEXT+LVIF_PARAM
push row
pop lvi.iItem
mov lvi.iSubItem,0
mov lvi.pszText, offset TheName
push row
pop lvi.lParam
invoke SendMessage,hList, LVM_INSERTITEM,0, addr lvi
mov lvi.imask,LVIF_TEXT
inc lvi.iSubItem
mov lvi.pszText,offset TheSurname
invoke SendMessage,hList,LVM_SETITEM, 0,addr lvi
inc lvi.iSubItem
mov lvi.pszText,offset TelNo
invoke SendMessage,hList,LVM_SETITEM, 0,addr lvi
inc row
.else
.break
.endif
.endw
ret
FillData endp

RunQuery proc hDlg:WORD
invoke ShowWindow, hList, SW_SHOW
invoke SendMessage, hList, LVM_DELETEALLITEMS,0,0
invoke SQLAllocHandle, SQL_HANDLE_STMT, hConn, addr hStmt
.if ax==SQL_SUCCESS || ax==SQL_SUCCESS_WITH_INFO
invoke SQLExecDirect, hStmt, addr SQLStatement, sizeof SQLStatement
.if ax==SQL_SUCCESS || ax==SQL_SUCCESS_WITH_INFO
invoke FillData
.else
invoke ShowWindow, hList, SW_HIDE
invoke MessageBox,hDlg,addr ExecuteFail, addr AppName, MB_OK+MB_ICONERROR
.endif
invoke SQLCloseCursor, hStmt
invoke SQLFreeHandle, SQL_HANDLE_STMT, hStmt
.else
invoke ShowWindow, hList, SW_HIDE
invoke MessageBox,hDlg,addr AllocStmtFail, addr AppName, MB_OK+MB_ICONERROR
.endif
ret
RunQuery endp
QueryProc proc hDlg:WORD, uMsg:WORD, wParam:WORD, lParam:WORD
.if uMsg==WM_CLOSE
invoke SQLFreeHandle, SQL_HANDLE_STMT, hStmt
invoke EndDialog, hDlg,0
.elseif uMsg==WM_INITDIALOG
invoke ShowWindow, hList, SW_SHOW
invoke SQLAllocHandle, SQL_HANDLE_STMT, hConn, addr hStmt
.if ax==SQL_SUCCESS || ax==SQL_SUCCESS_WITH_INFO
invoke lstrcpy, addr Conn, addr SQLStatement
invoke lstrcat, addr Conn, addr WhereStatement
invoke SQLBindParameter,hStmt, 1, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR,25,0, addr SearchName,25,addr StrLen
invoke SQLPrepare, hStmt, addr Conn, sizeof Conn
.else
invoke ShowWindow, hList, SW_HIDE
invoke MessageBox,hDlg,addr AllocStmtFail, addr AppName, MB_OK+MB_ICONERROR
invoke EndDialog, hDlg,0
.endif
.elseif uMsg==WM_COMMAND
mov eax, wParam
shr eax,16
.if ax==BN_CLICKED
mov eax,wParam
.if ax==IDC_OK
invoke GetDlgItemText, hDlg, IDC_NAME, addr SearchName, 25
.if ax==0
invoke MessageBox, hDlg,addr NoData, addr AppName, MB_OK+MB_ICONERROR
invoke GetDlgItem, hDlg, IDC_NAME
invoke SetFocus, eax
.else
invoke lstrlen,addr SearchName
mov StrLen,eax
invoke SendMessage, hList, LVM_DELETEALLITEMS,0,0
invoke SQLExecute, hStmt
invoke FillData
invoke SQLCloseCursor, hStmt
.endif
.else
invoke SQLFreeHandle, SQL_HANDLE_STMT, hStmt
invoke EndDialog, hDlg,0
.endif
.endif
.else
mov eax,FALSE
ret
.endif
mov eax,TRUE
ret
QueryProc endp
end start
 樓主| 發表於 2005-12-25 23:41:24 | 顯示全部樓層
FHB13回帖辛苦了。但我还是不明白,我觉得能用VFP编程的也就是也就是与程序有关了,不知你们之间还分得那么细。你是用的什么汇编语言?上面这一大段代码应用于什么程序?DML是软件还是语言?相比而言,VFP还算是好入门的吧?如果你对这个东西很熟悉,真想请教你一些问题:如何把VFP里的运行的程序连编成可执行文件或应用程序?这两者有什么区别吗?
發表於 2005-12-26 13:01:11 | 顯示全部樓層
原文由 芳草 发表:
 FHB13回帖辛苦了。但我还是不明白,我觉得能用VFP编程的也就是也就是与程序有关了,不知你们之间还分得那么细。
是分的很细,光计算机语言就要好几种。
你说VFP能编程就和程序有关这也没什么错,但是和一般意义上的编程是两码事。
一个是编写软件
一个是编写脚本
脚本离不开软件
而我上面的代码编译出来的可是一个完完整整的程序
可以不用装其他任何软件在任意一台Windows操作系统的机器上直接运行
你是用的什么汇编语言?
看了上面的程序你应该知道我懂的汇编。
至于还有什么就没必要说了
上面这一大段代码应用于什么程序?
上面一大段代码已经是程序了,他不应用于任何程序。
他的功能是和VFP一样是访问数据库
VFP说白了也就是用C++编译出来的软件
具体功能的实现和我发出来的程序代码一个原理
DML是软件还是语言?相比而言,VFP还算是好入门的吧?
DML是什么语言我举个例子吧
VFP底层就是通过DML语言来对数据库进行操作的
VFP比DML当然好入门了
因为他把复杂的DML给封装起来了
但是VFP没法实现所有的DML功能这点是肯定的
而且灵活性比DML差
就看他多了一层的封装也知道性能没直接调用DML的好了
如果你对这个东西很熟悉,真想请教你一些问题:如何把VFP里的运行的程序连编成可执行文件或应用程序?这两者有什么区别吗?
好像不可能吧
再说一遍
VFP是用计算机的C++语言编写出来的软件
具体实现方法和我上面的程序代码一样
只是我的代码是简化了的,取消了很多功能。
VFP说白了也就是一个软件
怎么能拿来和计算机程序设计语言比?
 樓主| 發表於 2005-12-26 16:18:35 | 顯示全部樓層
果然后生可畏,高手!谢谢FHB13详细回答了我的一些疑问。但我没接触过DML,上面一段代码如何运行?象网页代码一样?我稍知道一些网页代码、动画代码和VFP代码,可以在网页和动画和VFP里运行,那么你的代码应该是用什么封装的呢?如果可以在网页里运行,又得到什么结果呢?
VFP里编辑好的程序在VFP软件里运行,但通过连编可以变成脱离VFP软件而单独运行的应用程序,也可以发给朋友们玩,不必要他们安装VFP。比如说一些谜语、成语、脑筋急转弯、数学测试题等小软件都是用VFP编的,它可以用帮助文件或其它图标作ICON,点击它就成了表格式的界面,然后可以直接操作,得到所需要的结果。很多人能连编成功,可我没有编写好主程序或是连编过程中有失误,所以想请教你们这些计算机专业人才,望能得到帮助。
如果学习DML语言,环境的要求?
望能不厌其烦再给我解释一二?谢谢!
發表於 2005-12-26 18:27:24 | 顯示全部樓層
我说简单一点吧

我贴的那些代码和网页代码等其他代码不同
那个代码叫源代码,多了一个源
因为他被编写完成后将被编译成机器码
机器码就是010101之类的东西,计算机可以直接执行的代码

我贴的那些源代码只是一个骨架
VFP这个软件无非是在我这个骨架上再继续编写源代码
加入更多的功能,而编译出来的软件

其实能生成可执行文件的软件不能都说他是程序设计软件
比如压缩包他也可以生成自解压包,那是一个可执行文件
动画程序flash也可以生成可执行文件
但是他们都不是程序设计语言
因为他们生成的是可执行文件是这样的
他们把需要查看文件的最小代码写到他们可以生成的可执行文件里面
同时把需要的数据也写到可执行文件里面
比如flash他把简单的播放程序写到自己生成的可执行文件前面
把要播放动画数据放在后面
等你点击那个可执行文件的时候只是执行了已经写好了的播放器去播放在可执行文件指定位置的数据而已
VFP也是这个道理
那不是编程,那是打包

一个计算机语言,如C语言上可以编写一个操作系统(Windows就是C语言编出来的,Windows的源代码和我发的代码一个样子)
下可以编写一个诸如VFP的软件出来

DML是关系数据库定义的数据操控语句
DML也是一个大类里面包括了很多语言
其中最有名的是SQL你应该知道吧
如果要学SQL建议你按一个数据库系统
微软的SQL 2000 或是甲骨文的Oracle都可以
VFP只能作一些简单的SQL调用学不到什么的
VFP主要是给初级用户用的
SQL2000 和 Oracle是给企业级用户使用的
比如网站就不会去用VFP
因为VFP的功能太弱了不能用来假设网站用
 樓主| 發表於 2005-12-26 19:19:21 | 顯示全部樓層
感谢释疑,初步明白了一点。你说的“简单”,我看来是很深奥的,慢慢消化吧。

这两句话是否缺字?

1:一个计算机语言,如C语言上可以编写一个操作系统(Windows就是C语言编出来的,Windows的源代码和我发的代码一个样子)
下可以编写一个诸如VFP的软件出来

2:因为VFP的功能太弱了不能用来假设网站用(建设?)

如果安装了SQL2000,是否可以运行你那段代码?本软件的语言与VFP毫无共同点罗?ASP是DWL的另一个语言分支?

要是学业或工作很忙就不要回帖了,估计我是不容易真明白的。。。

再次感谢!
發表於 2005-12-26 19:24:47 | 顯示全部樓層
估计:
下可以编写一个诸如VFP的软件出来》》也可以编写一个诸如VFP的软件出来

因为VFP的功能太弱了不能用来假设网站用》》因为VFP的功能太弱了不能用来架设网站用
您需要登錄後才可以回帖 登錄 | 入住家園

本版積分規則

手機版|小黑屋|吳語書院

GMT+8, 2026-9-4 21:26 , Processed in 0.022816 second(s), 13 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回復 返回頂部 返回列表