免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 4560 | 回复: 26
打印 上一主题 下一主题

[未完成]直观的字符界面。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2002-12-06 20:28 |只看该作者 |倒序浏览
[这个贴子最后由自由狼-台风0在 2003/01/15 03:13pm 编辑]

    

论坛更新,本项目所有新的相关内容转向“ http://www.chinaunix.net/forum/viewtopic.php?t=893 ”。

说明:

    还得从我和Linux接触讲起。

    三年前,我第一次接触了Linux,那时红旗刚刚推出1.0,号称“最优秀的操
作系统,完全超越Win9x/NT”。冲着这个响亮的名字,我立刻就买了(D版:->
那个时候,我连Win95如何安装成功还不知道,只知道要双击“setup.exe”图
标。打开光盘,我没有找到“setup.exe”,而那些“….rpm”更没有一个人知
道是怎么回事,于是束之高阁了。后来又去过几次光盘市场,却被“Xterm”和
“Redhat”搞得很迷茫。最终没买新的。

    第二次,是在2000年。那时红旗出了2.0。而服务器版的安装步骤图文并茂
地刊登在了某期的《电脑报》上。第一次亲密接触,说不清怎么样,反正相当不
成功,但是不知道什么因素让我没有放弃对Linux的好奇。同学那半张报纸的复
印件成了大一我保护得最好的一张纸,而“武胜路新华书店”里的不少书也成了
我的囊中物,代价是车费和恶心(我在任何地方坐车,包括在破旧的“中乙发”
货车里跑一夜,都没问题,就是不能坐武汉的公交车)。寒假,回到襄樊,我从
光盘市场花了4块钱,买来了第二张光盘。舅舅的机子成了我的试验品。显卡是
集成的SIS620。传说中Linux对集成显卡支持得特别屎,所以开机即出的图形界
面让我足足高兴了n天(n<=20,因为寒假只有20多天),于是红旗公司从我这里得
到了¥38.00元。但是当时声卡不会驱动,也对*.exe不能在Linux下运行十分吃
惊,因为当时的光盘销售商告诉我绝大多数软件能在任何系统下运行。另外,我
对Linux把图形界面与其他应用程序都放在同一个目录“/usr”里很不习惯,总
是试图把它单独拉出来,又由于对Linux的了解十分有限,加上红旗2.0的BUG(红
旗技术人员在论坛上解决的——“红旗Linux2.0的天大bug”)于是问题频频出
来,而图形界面不再出现,命令又一窍不通,只得重装。几天内重装达10次。

    大二了,有了自己的计算机,毫不犹豫地搞了Win9x和Linux共存,开始了最
长(直到现在)、最痛苦也长进最大的接触。由于命令行给我留下了过于恐怖的印
象,我急切希望有一种能在命令行模式下使用的、比较直观的操作界面。于是我
知道了“mc”。但是我用不惯,也不知道如何批量复制文件。大二开了C语言课
,于是我异想天开地打算自己做,因为我曾经在某个论坛上看到:“Linux下,
如果你想用什么东西却找不到,就自己做一个”。到大二下学期,我又看了不少
书(相对学校教的),终于做好了技术准备。在五一长假里把V0.6.0鼓捣出来了,
能够实现本机的文件夹查看。暑假初期完成了文件复制、移动、删除功能。由于
暑假后期在使用中发现了重大缺陷,而且代码混乱,本学期推倒重来。现在发的
是2003.01.04做好的新版本。
    想用吗?稍隔几行,我会讲。

    另外,一个叫“流金岁月”的人不能不提。有一段时间我曾经想放弃,但是
“流金岁月”希望我把它做完。我是通过电子邮件结识他的。大约是去年六月的
一天,我收到了他的电子邮件,里面有改进后的文件删除控制部分。在老版本里
我用了这段代码,因为它比我当时为了做测试而仓促写出的代码好。在邮件中,
他说会和我经常联系的。“蓝极速”火灾发生后,有人用电子邮件告诉我,他当
天晚上去了那家网吧,并问我有没有再和他联系上。我后悔当时没有学会新浪信
箱的使用方法。我还不会把收件箱的邮件转发到草稿夹。我只会用复制粘贴的办
法把我认为重要的东西以写邮件的方式存入草稿夹。问题就出在这里——因为疏
忽,我没保留他们的邮件地址!很久没有再联系到“流金岁月”了。他可能真的
挂了。

    T_T

    为了使程序简单一点,让C语言初学者容易读,更由于时间和技术的限制,
Ncurses之类的在终端下实现类似窗口界面的图形库我都没有用。

论坛徽章:
0
2 [报告]
发表于 2002-12-06 20:36 |只看该作者

[未完成]直观的字符界面。

[这个贴子最后由自由狼-台风0在 2003/01/15 03:08pm 编辑]

过期了




补充:

    忘了,为了最大限度确保安全,没有ASD.c这个文件.请粗略阅读ASD-FV.c,在中间找到这样一段:

/////=======================================================
/////#######################################################
/////-以下为文件操作部分(在源代码家级不属于本“文件浏览器”)

           /////=======================================================================================================================================================
           /////此处由附带的文挡提供。编译时,请将“cp.txt”(复制)、“mv.txt”(移动)、“ln.txt”(链接)、“rm.txt”(删除)、“ch.txt”(属性)(如果有的话)完整地复制到此处。
           /////此处的文件操作基本都是测试版,欢迎大家提供更好的方案。所有选中并等待操作的文件及其完全路径均在数组Tick[][]里,需要的话尽管用吧。
           /////=======================================================================================================================================================

/////\以上为文件操作部分(在源代码家级不属于本“文件浏览器”)
/////#######################################################
/////=======================================================

把cp.txt,mv.txt,ln.txt,rm.txt的内容添加到这里,然后另存为ASD.c.

    不加改动的ASD-FV.c只是一个文件夹浏览器.如果你看了这些代码,认为有危险,你何以不改动,只试验 文件浏览器 .

论坛徽章:
0
3 [报告]
发表于 2002-12-06 20:41 |只看该作者

[未完成]直观的字符界面。

[这个贴子最后由自由狼-台风0在 2003/01/15 03:08pm 编辑]

过期了



文件名:/root/.A/a
备注:编译脚本
内容如下:
################################################################################

gcc /root/.A/src/ASD.c -o /root/.A/ASD
gcc /root/.A/src/ASD-FV.c -o /root/.A/ASD-FV
gcc /root/.A/src/help-c.c -o /root/.A/base/help-c
gcc /root/.A/src/help-e.c -o /root/.A/base/help-e
gcc /root/.A/src/shell-c.c -o /root/.A/base/shell-c
gcc /root/.A/src/shell-e.c -o /root/.A/base/shell-e
/root/.A/ASD
rm -f /bin/a
ln -s /root/.A/ASD /bin/A
ln -s /root/.A/ASD /bin/a
ln -s /root/.A/ASD-FV /bin/AV
ln -s /root/.A/ASD-FV /bin/av
ln -s /root/.A/src /usr/src/A-SIMPLE-DESK

################################################################################

论坛徽章:
0
4 [报告]
发表于 2002-12-06 20:43 |只看该作者

[未完成]直观的字符界面。

[这个贴子最后由自由狼-台风0在 2003/01/15 03:10pm 编辑]

本文已过期



文件名:/root/.A/src/ASD-FV.c
备注:ASD组件1-本机文件浏览器
内容如下:
################################################################################

/*ASD组件1:本机文件浏览器*/

#include<stdio.h>;
#define X 80
#define Y 22
#define Z 500000
#define P 500

main()
{

//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//定义部分
   ///小文件文件名开始的地方
int N&#59;
   ///当前“窗口”
char Form&#59;
   ///语言
char L&#59;
   ///显示
char a[Y][X]&#59;
   ///用来填充“AFM”的内容
char ash[Z]&#59;
   ///Form1显示模式
char M&#59;
   ///ash[]刷新控制
int fre&#59;
   ///初始路径
char path1[P]=&quot;/root/&quot;&#59;
   ///扩展路径
char path2[P]&#59;
   ///文件序号
int num&#59;
   ///页码
int page&#59;
   ///页码上限
int pgmx&#59;
   ///临时文件
FILE *als&#59;//列表
//FILE *arp&#59;//修正
//FILE *dbg&#59;//监视ash[]&#59;
   ///列表命令
char ls1[50]=&quot;/bin/ls -Al \&quot;?\&quot;>;\&quot;/tmp/asd/als.txt\&quot;&quot;&#59;
char ls2[50]=&quot;/bin/ls -A  \&quot;?\&quot;>;\&quot;/tmp/asd/arp.txt\&quot;&quot;&#59;
   ///调用命令
char ado[P+50]&#59;
   ///目录状态
int open&#59;
   ///目录标记
int d&#59;
   ///链接标记
int l&#59;
   ///文件存在标记
int f&#59;
   ///“剪贴板”
char Tick[10][P]&#59;
   ///“剪贴板”文件个数
int m&#59;
   ///“剪贴板”写入标记
int n&#59;
   ///临时变量
char c1,c2,c3,c4,c5&#59;
char tmp1[P],tmp2[P]&#59;
int i1,i2,i3,i4,i5&#59;
   ///文字
char ac1[9]=&quot;|#控制台 &quot;&#59;char ae1[9]=&quot;|CONSOLE &quot;&#59;
char ac2[15]=&quot;ASD-SIMPLE-DESK&quot;&#59;char ae2[15]=&quot;ASD-SIMPLE-DESK&quot;&#59;
char ac3[48]=&quot;    按“H”键,再按“回车”键,以获取帮助。     &quot;&#59;
char ae3[48]=&quotress key<H>;, then press key<Enter>; to get help.&quot;&#59;
char ac4[13]=&quot;当前路径:   &quot;&#59;char ae4[13]=&quotresent Path:&quot;&#59;
char ac5[9]=&quot;|文件管理&quot;&#59;char ae5[9]=&quot;| A F M |&quot;&#59;
char ac6[9]=&quot;|命 令 行&quot;&#59;char ae6[9]=&quot;|COMMAND|&quot;&#59;
char ac7[9]=&quot;| 菜 单 |&quot;&#59;char ae7[9]=&quot;| MANUE |&quot;&#59;
char ac8[9]=&quot;| 设 置 |&quot;&#59;char ae8[9]=&quot;| SETUP |&quot;&#59;
char ac9[9]=&quot;| 离 开 |&quot;&#59;char ae9[9]=&quot;| EXIT. |&quot;&#59;
char ac10[4]=&quot;序号&quot;&#59;char ae10[4]=&quot;Num &quot;&#59;
char ac11[8]=&quot;文件类别&quot;&#59;char ae11[8]=&quot;Filetype&quot;&#59;
char ac12[12]=&quot;待选文件列表&quot;&#59;char ae12[12]=&quot;Selections  &quot;&#59;
char ac13[12]=&quot;已选中的文件&quot;&#59;char ae13[12]=&quot;Selected    &quot;&#59;
char ac14[16]=&quot;显示详细资料    &quot;&#59;char ae14[16]=&quot;More Information&quot;&#59;
char ac15[9]=&quot;简洁显示 &quot;&#59;char ae15[9]=&quot;Show Less&quot;&#59;
char ac16[6]=&quot;页码:&quot;&#59;char ae16[6]=&quotage: &quot;&#59;
char ac17[8]=&quot;上级目录&quot;&#59;char ae17[8]=&quot;\&quot;CD ..\&quot; &quot;&#59;
char ac18[8]=&quot;向上翻页&quot;&#59;char ae18[8]=&quotageUp  &quot;&#59;
char ac19[8]=&quot;向下翻页&quot;&#59;char ae19[8]=&quotageDown&quot;&#59;
char ac20[8]=&quot;打开目录&quot;&#59;char ae20[8]=&quot;OpenDir &quot;&#59;
char ac21[4]=&quot;撤销&quot;&#59;char ae21[4]=&quot;Undo&quot;&#59;
char ac22[4]=&quot;文件&quot;&#59;char ae22[4]=&quot;file&quot;&#59;char ac23[4]=&quot;目录&quot;&#59;char ae23[4]=&quot;dir &quot;&#59;
char ac24[4]=&quot;链接&quot;&#59;char ae24[4]=&quot;link&quot;&#59;char ac25[4]=&quot;特殊&quot;&#59;char ae25[4]=&quot;spec&quot;&#59;
char ac26[4]=&quot;复制&quot;&#59;char ae26[4]=&quot;Copy&quot;&#59;
char ac27[4]=&quot;移动&quot;&#59;char ae27[4]=&quot;Move&quot;&#59;
char ac28[8]=&quot;新建目录&quot;&#59;char ae28[8]=&quot;MakeDir &quot;&#59;
char ac29[6]=&quot;删除  &quot;&#59;char ae29[6]=&quot;Remove&quot;&#59;
char ac30[6]=&quot;属性  &quot;&#59;char ae30[6]=&quot;Nature&quot;&#59;
char mkdir[10]=&quot;mkdir -p  &quot;&#59;

    ///文件操作命令
char copy[10]=&quot;cp -R     &quot;&#59;
char move[10]=&quot;mv        &quot;&#59;
char link[10]=&quot;ln -s     &quot;&#59;
char remove[10]=&quot;rm -rf    &quot;&#59;

    ///执行命令
char udo[P+50]&#59;

    ///FormA专用
char fac1[50]=&quot;ASD组件1:本机文件浏览器。                        &quot;&#59;
char fae1[50]=&quot;ASD-PART1:Local-File-Viewer.                      &quot;&#59;

char fac2[50]=&quot;版本:0.9.6                                       &quot;&#59;
char fae2[50]=&quot;VERSION:0.9.6                                     &quot;&#59;

char fac3[50]=&quot;使用者:root专用。                                &quot;&#59;
char fae3[50]=&quot;User: \&quot;root\&quot; only.                                &quot;&#59;

char fac4[50]=&quot;源代码:自由狼-台风                               &quot;&#59;
char fae4[50]=&quot;SourceCode:Typhoon.Free.Wolf                      &quot;&#59;

char fac5[50]=&quot;测试:自由狼-台风                                 &quot;&#59;
char fae5[50]=&quot;CHECK:Typhoon.Free.Wolf                           &quot;&#59;

char fac6[50]=&quot;声明:本部分会在“/tmp”下生成临时文件,故要求    &quot;&#59;
char fae6[50]=&quot;ANOUNCE:This part will create a temproary file    &quot;&#59;
char fac7[50]=&quot;      “/tmp”允许写入;                          &quot;&#59;
char fae7[50]=&quot;  in \&quot;/tmp\&quot;,so \&quot;/tmp\&quot; must be writeable&#59;          &quot;&#59;
char fac8[50]=&quot;      本部分调用的系统命令仅为“ls”和“mkdir”, &quot;&#59;
char fae8[50]=&quot;        This part calls system-command \&quot;ls\&quot; and   &quot;&#59;
char fac9[50]=&quot;      所以不会损坏你的文件。                      &quot;&#59;
char fae9[50]=&quot;  \&quot;mkdir\&quot;,so it won't broke your files.except     &quot;&#59;
char fac10[50]=&quot;      如果你的系统有问题则另当别论。              &quot;&#59;
char fae10[50]=&quot;  something wrong with your system.               &quot;&#59;

char fac11[50]=&quot;版权:[Z]                                         &quot;&#59;
char fae11[50]=&quot;CopyRight:[Z]                                     &quot;&#59;
//\定义部分
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//


//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//初始化段
   ///窗口
Form='A'&#59;
   ///Form1 简洁显示
M='L'&#59;
   ///刷新asd[]
fre=1&#59;
   ///目录状态
open=0&#59;
   ///目录标记置0
d=0&#59;
   ///链接判断置零
l=0&#59;
   ///文件存在标记置零
f=0&#59;
   ///“剪贴板”清空
for(i1=0&#59;i1<10&#59;i1++)
for(i2=0&#59;i2<&#59;i2++)
Tick[i1][i2]=0&#59;
m=0&#59;
//\初始化段
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//


//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//语言选择
system(&quot;clear&quot&#59;
printf(&quot;\n\n\n\n\nDirectly press key<Enter>; on your keyboard to run this programe in English.\n&quot&#59;
printf(&quot;\n\n\n\n\n直接在键盘上按“回车”键,本程序将以英文方式运行。\n&quot&#59;
printf(&quot;如果你能看懂这几行中文,并希望以中文方式运行本程序,\n&quot&#59;
printf(&quot;请先按键盘上的“C”键,再按“回车”键。\n&quot&#59;
L=getchar()&#59;
system(&quot;clear&quot&#59;
if(L=='c')
L='C'&#59;
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//


//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//ls特性确定
for(i1=0&#59;i1<&#59;i1++)
tmp1[i1]=0&#59;
system(&quot;mkdir -p /tmp/asd/&quot&#59;
system(&quot;ls -Al /bin/ls >; /tmp/asd/als.txt&quot&#59;
als=fopen(&quot;/tmp/asd/als.txt&quot;,&quot;r&quot&#59;
i1=0&#59;
while((c2=fgetc(als))!=EOF)
{
tmp1[i1]=c2&#59;i1++&#59;
}
for(i1=i1&#59;i1>;0&#59;i1--)
if(tmp1[i1]==' ')
break&#59;
N=i1&#59;
    //printf(&quot;\nChecking...\n&quot&#59;
    //printf(&quot;i1=%d\n&quot;,i1)&#59;
//\ls特性确定
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//


//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//主体循环
do
{

   ///SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS///
   ///SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS///
   ///SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS///
   ///准备界面

      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////清屏
for(i1=0&#59;i1<Y&#59;i1++)
for(i2=0&#59;i2<X&#59;i2++)
a[i1][i2]=' '&#59;
   ///\清屏
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////


      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////公用标准边框

         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         /////第一行、第末行
for(i1=2&#59;i1<X-2&#59;i1++)
a[0][i1]=a[21][i1]='='&#59;
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         /////第一列、地末列
for(i1=1&#59;i1<21&#59;i1++)
a[i1][0]=a[i1][1]=a[i1][X-2]=a[i1][X-1]='|'&#59;
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         /////关节
a[0][0]=a[0][X-2]=a[21][0]=a[21][X-2]=a[6][9]=a[6][X-2]=a[21][9]='<'&#59;
a[0][1]=a[0][X-1]=a[21][1]=a[21][X-1]=a[6][10]=a[6][X-1]=a[21][10]='>;'&#59;
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         /////其他主线
for(i1=11&#59;i1<X-2&#59;i1++)
a[6][i1]='='&#59;
for(i1=7&#59;i1<21&#59;i1++)
a[i1][9]=a[i1][10]='|'&#59;
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         /////支线
for(i1=1&#59;i1<6&#59;i1++)
a[i1][10]='|'&#59;
a[3][10]='>;'&#59;
for(i1=11&#59;i1<X-3&#59;i1++)
a[3][i1]='-'&#59;
for(i1=3&#59;i1<8&#59;i1++)
a[6][i1]=a[9][i1]=a[12][i1]=a[15][i1]=a[18][i1]='-'&#59;
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         /////控制台
            //////“图标”
a[1][4]=a[1][5]=a[1][6]='_'&#59;a[2][3]=a[2][7]='|'&#59;a[2][4]='#'&#59;
if(L=='C')
for(i1=0&#59;i1<9&#59;i1++)
a[3][i1+1]=ac1[i1]&#59;
else
for(i1=0&#59;i1<9&#59;i1++)
a[3][i1+1]=ae1[i1]&#59;
a[4][2]='/'&#59;a[4][3]=a[4][7]='_'&#59;a[4][4]='['&#59;a[4][5]='A'&#59;a[4][6]=']'&#59;a[4][8]='\\'&#59;
            //////标题栏
               ///////第一行
if(L=='C')
for(i1=0&#59;i1<15&#59;i1++)
a[1][i1+37]=ac2[i1]&#59;
else
for(i1=0&#59;i1<15&#59;i1++)
a[1][i1+37]=ae2[i1]&#59;
               ///////第二行
if(L=='C')
for(i1=0&#59;i1<48&#59;i1++)
a[2][i1+21]=ac3[i1]&#59;
else
for(i1=0&#59;i1<48&#59;i1++)
a[2][i1+21]=ae3[i1]&#59;
               ///////第三行
if(L=='C')
for(i1=0&#59;i1<13&#59;i1++)
a[4][i1+11]=ac4[i1]&#59;
else
for(i1=0&#59;i1<13&#59;i1++)
a[4][i1+11]=ae4[i1]&#59;
            //////\标题栏

            //////显示路径
i1=0&#59;
for(i2=0&#59;i2<X-13&#59;i2++)
    if(path1[i2]==0)
        i1=1&#59;
if(i1==1)
    for(i1=11&#59;i1<X-2&#59;i1++)
    {
        if(path1[i1-11]==0)
            break&#59;
        a[5][i1]=path1[i1-11]&#59;
    }
else
{
    for(i1=P-1&#59;i1>;0&#59;i1--)
        if(path1[i1]!=0)
            break&#59;
    i2=X-3&#59;
    for(i1=i1&#59;i1>;0&#59;i1--)
    {
        a[5][i2]=path1[i1]&#59;
        if(i2==11)
            break&#59;
        i2--&#59;
    }
}
            //////\显示路径
            //////控制板
               ///////文件管理
if(L=='C')
for(i1=0&#59;i1<9&#59;i1++)
a[7][i1+1]=ac5[i1]&#59;
else
for(i1=0&#59;i1<9&#59;i1++)
a[7][i1+1]=ae5[i1]&#59;
               ///////命令行
if(L=='C')
for(i1=0&#59;i1<9&#59;i1++)
a[10][i1+1]=ac6[i1]&#59;
else
for(i1=0&#59;i1<9&#59;i1++)
a[10][i1+1]=ae6[i1]&#59;
               ///////定制选单
if(L=='C')
for(i1=0&#59;i1<9&#59;i1++)
a[13][i1+1]=ac7[i1]&#59;
else
for(i1=0&#59;i1<9&#59;i1++)
a[13][i1+1]=ae7[i1]&#59;
               ///////设置项目
if(L=='C')
for(i1=0&#59;i1<9&#59;i1++)
a[16][i1+1]=ac8[i1]&#59;
else
for(i1=0&#59;i1<9&#59;i1++)
a[16][i1+1]=ae8[i1]&#59;
               ///////离开
if(L=='C')
for(i1=0&#59;i1<9&#59;i1++)
a[19][i1+1]=ac9[i1]&#59;
else
for(i1=0&#59;i1<9&#59;i1++)
a[19][i1+1]=ae9[i1]&#59;
               ///////控制键
a[8][4]=a[11][4]=a[14][4]=a[17][4]=a[20][4]='['&#59;
a[8][6]=a[11][6]=a[14][6]=a[17][6]=a[20][6]=']'&#59;
if(Form!='A')
a[8][5]=a[11][5]=a[14][5]=a[17][5]=a[20][5]='_'&#59;
            //////\控制板
         /////\控制台
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////

      ////\标准边框
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////


      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////FormA
if(Form=='A')
{

         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         /////操作键
a[4][5]='_'&#59;
a[8][5]='1'&#59;
a[11][5]='2'&#59;
a[14][5]='3'&#59;
a[17][5]='4'&#59;
a[20][5]='0'&#59;
         /////\操作键
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         /////内容
if(L=='C')
{
  for(i1=0&#59;i1<50&#59;i1++)
    a[7][11+i1]=fac1[i1]&#59;
  for(i1=0&#59;i1<50&#59;i1++)
    a[8][11+i1]=fac2[i1]&#59;
  for(i1=0&#59;i1<50&#59;i1++)
    a[9][11+i1]=fac3[i1]&#59;
  for(i1=0&#59;i1<50&#59;i1++)
    a[10][11+i1]=fac4[i1]&#59;
  for(i1=0&#59;i1<50&#59;i1++)
    a[11][11+i1]=fac5[i1]&#59;
  for(i1=0&#59;i1<50&#59;i1++)
    a[12][11+i1]=fac6[i1]&#59;
  for(i1=0&#59;i1<50&#59;i1++)
    a[13][11+i1]=fac7[i1]&#59;
  for(i1=0&#59;i1<50&#59;i1++)
    a[14][11+i1]=fac8[i1]&#59;
  for(i1=0&#59;i1<50&#59;i1++)
    a[15][11+i1]=fac9[i1]&#59;
  for(i1=0&#59;i1<50&#59;i1++)
    a[16][11+i1]=fac10[i1]&#59;
  for(i1=0&#59;i1<50&#59;i1++)
    a[17][11+i1]=fac11[i1]&#59;
}
else
{
  for(i1=0&#59;i1<50&#59;i1++)
    a[7][11+i1]=fae1[i1]&#59;
  for(i1=0&#59;i1<50&#59;i1++)
    a[8][11+i1]=fae2[i1]&#59;
  for(i1=0&#59;i1<50&#59;i1++)
    a[9][11+i1]=fae3[i1]&#59;
  for(i1=0&#59;i1<50&#59;i1++)
    a[10][11+i1]=fae4[i1]&#59;
  for(i1=0&#59;i1<50&#59;i1++)
    a[11][11+i1]=fae5[i1]&#59;
  for(i1=0&#59;i1<50&#59;i1++)
    a[12][11+i1]=fae6[i1]&#59;
  for(i1=0&#59;i1<50&#59;i1++)
    a[13][11+i1]=fae7[i1]&#59;
  for(i1=0&#59;i1<50&#59;i1++)
    a[14][11+i1]=fae8[i1]&#59;
  for(i1=0&#59;i1<50&#59;i1++)
    a[15][11+i1]=fae9[i1]&#59;
  for(i1=0&#59;i1<50&#59;i1++)
    a[16][11+i1]=fae10[i1]&#59;
  for(i1=0&#59;i1<50&#59;i1++)
    a[17][11+i1]=fae11[i1]&#59;
}
         /////\内容
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////

}
      ////\FormA
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////


      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////Form1
if(Form=='1')
{

         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         /////刷新ash[]
if(fre==1)
{
fre=0&#59;
num=0&#59;pgmx=1&#59;page=1&#59;
            //////归零
for(i1=0&#59;i1<Z&#59;i1++)
ash[i1]=0&#59;
            //////赋值1
for(i1=0&#59;i1<&#59;i1++)
{
if(path1[i1]==0)
{
ash[i1]='\n'&#59;
break&#59;
}
ash[i1]=path1[i1]&#59;
}
ash[i1+1]='*'&#59;ash[i1+2]='\n'&#59;
i3=i1+3&#59;
            //////\赋值1
            //////交换
for(i1=0&#59;i1<&#59;i1++)
path2[i1]=0&#59;
for(i1=0&#59;i1<&#59;i1++)
path2[i1]=path1[i1]&#59;
    //printf(&quot;Checking...\n&quot;)&#59;
    //printf(&quot;#%s#\nl=%d\n&quot;,path2,l)&#59;
    //getchar()&#59;getchar()&#59;
            //////\交换
            //////列表
do
{
system(&quot;mkdir -p \&quot;/tmp/asd/\&quot;&quot;)&#59;
for(i1=0&#59;i1<P+50&#59;i1++)
ado[i1]=0&#59;
for(i1=0&#59;ls1[i1]!='?'&#59;i1++)
ado[i1]=ls1[i1]&#59;
i4=i1&#59;i5=i1&#59;
for(i1=0&#59;path2[i1]!=0&#59;i1++)
ado[i1+i4]=path2[i1]&#59;
i4=i1+i4&#59;
for(i1=i5+1&#59;ls1[i1]!=0&#59;i1++,i4++)
ado[i4]=ls1[i1]&#59;
system(ado)&#59;

d=0&#59;
als=fopen(&quot;/tmp/asd/als.txt&quot;,&quot;r&quot;)&#59;
c2=fgetc(als)&#59;
l=0&#59;
if(c2=='l')
{
l=1&#59;
for(i1=0&#59;i1<P&#59;i1++)//复位
path2[i1]=0&#59;       //path2[]



while((c2=fgetc(als))!=EOF)
if(c2=='>;')
break&#59;
fgetc(als)&#59;
i1=0&#59;
while((c2=fgetc(als))!=EOF)
{
if(c2=='\n')
break&#59;
path2[i1]=c2&#59;i1++&#59;
    //printf(&quot;%c&quot;,path2[i1])&#59;
}
fclose(als)&#59;
    //printf(&quot;\nChecking2...\n&quot;)&#59;
    //printf(&quot;#%s#\nl=%d\n&quot;,path2,l)&#59;
    //getchar()&#59;getchar()&#59;
}
else
{
while((c2=fgetc(als))!='\n')
&#59;
i1=i3&#59;
}
    //printf(&quot;Checing3...\n&quot;)&#59;
    //printf(&quot;#%s#\nl=%d\n&quot;,path2,l)&#59;
    //getchar()&#59;getchar()&#59;
}
while(l==1)&#59;
            //////\列表
            //////继续创建数组
while((c2=fgetc(als))!=EOF)
{
               ///////序号和页码
if(num==10)
{
num=0&#59;pgmx++&#59;
ash[i1]='*'&#59;i1++&#59;
ash[i1]='\n'&#59;i1++&#59;
}
               ///////\序号和页码
if(c2=='\n')
{
               ///////添加“?”
ash[i1]='?'&#59;//末尾“?”

i2=i1&#59;               //退回
do                   //本行
i2--&#59;                //的开
while(ash[i2]!='\n')&#59;//头

while(ash[i2+N]!=' ')//文件头//历经
i2++&#59;                //部定位//考验

ash[i2+N]='?'&#59;//开头“?”

i2=i1&#59;               //退回
do                   //本行
i2--&#59;                //的开
while(ash[i2]!='\n')&#59;//头

do                  //寻找链接
i2++&#59;               //的真实位
while(ash[i2]!='>;')&#59;//置

ash[i2+1]=ash[i2-2]='?'&#59;//中间“?”

i1++&#59;
               ///////\添加“?”
num++&#59;//序号
}
ash[i1]=c2&#59;
i1++&#59;
}

fclose(als)&#59;
            //////\继续创建数组
            /*////ash[]监视记录
    dbg=fopen(&quot;/root/123/log.txt&quot;,&quot;w&quot;)&#59;
    printf(&quot;Logging...\n&quot;)&#59;
    getchar()&#59;getchar()&#59;
    for(i1=0&#59;i1<Z&#59;i1++)
    fputc(ash[i1],dbg)&#59;
    fclose(dbg)&#59;
            /*////\ash[]监视记录
}
         ////\刷新ash[]
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         /////简洁模式
if(M=='L')
{
            //////边框
for(i1=0&#59;i1<5&#59;i1++)
a[6][i1+6]=a[9][i1+6]='='&#59;
a[7][10]=a[8][9]=a[8][10]=' '&#59;
a[9][9]='<'&#59;a[9][10]='>;'&#59;

for(i1=0&#59;i1<10&#59;i1++)
a[i1+9][(X-1)/2+12]='|'&#59;
            //////\边框
            //////基本控制键
a[19][23]=a[19][35]=a[20][11]=a[20][23]=a[20][35]='['&#59;
a[19][24]='E'&#59;a[19][36]='_'&#59;a[20][12]='S'&#59;a[20][24]='D'&#59;
a[20][36]='_'&#59;
a[19][25]=a[19][37]=a[20][13]=a[20][25]=a[20][37]=']'&#59;
a[8][(X-1)/2-7]='['&#59;a[8][(X-1)/2-7+1]='M'&#59;a[8][(X-1)/2-7+2]=']'&#59;
if(page==1)
a[19][24]='_'&#59;
if(page==pgmx)
a[20][24]='_'&#59;
if(open==0)
a[19][36]='F'&#59;
if(open==1||Tick[0][0]!=0)//要扩展
a[20][36]='G'&#59;
            //////\基本控制键
            //////序号键
for(i1=9&#59;i1<19&#59;i1++)
{
a[i1][11]='['&#59;a[i1][12]='_'&#59;a[i1][13]=']'&#59;
}
            //////\序号键
            //////显示页码
if(page<9999)
{
a[19][17]=page/1000+'0'&#59;
a[19][18]=page/100+'0'&#59;
a[19][19]=page/10+'0'&#59;
a[19][20]=page%10+'0'&#59;
}
else
a[19][17]=a[19][18]=a[19][19]=a[19][20]='-'&#59;
            //////\显示页码
            //////提示文字
if(L=='C')
{
for(i1=0&#59;i1<4&#59;i1++)
a[7][11+i1]=ac10[i1]&#59;//序号
for(i1=0&#59;i1<8&#59;i1++)
a[7][16+i1]=ac11[i1]&#59;//文件类别
for(i1=0&#59;i1<12&#59;i1++)
a[7][25+i1]=ac12[i1]&#59;//待选文件列表
for(i1=0&#59;i1<12&#59;i1++)
a[7][(X-1)/2+13+i1]=ac13[i1]&#59;//已选中的文件
for(i1=0&#59;i1<6&#59;i1++)
a[19][11+i1]=ac16[i1]&#59;//页码:
for(i1=0&#59;i1<8&#59;i1++)
a[20][14+i1]=ac17[i1]&#59;//上级目录
for(i1=0&#59;i1<8&#59;i1++)
a[19][26+i1]=ac18[i1]&#59;//向上翻页
for(i1=0&#59;i1<8&#59;i1++)
a[20][26+i1]=ac19[i1]&#59;//向下翻页
for(i1=0&#59;i1<8&#59;i1++)
a[19][38+i1]=ac20[i1]&#59;//打开目录
for(i1=0&#59;i1<4&#59;i1++)
a[20][38+i1]=ac21[i1]&#59;//撤销
for(i1=0&#59;i1<16&#59;i1++)
a[8][(X-1)/2-7+3+i1]=ac14[i1]&#59;//显示详细资料
}
else
{
a[7][9]=' '&#59;//计划外的小修补
for(i1=0&#59;i1<4&#59;i1++)
a[7][11+i1]=ae10[i1]&#59;//Num
for(i1=0&#59;i1<8&#59;i1++)
a[7][16+i1]=ae11[i1]&#59;//Filetype
for(i1=0&#59;i1<12&#59;i1++)
a[7][25+i1]=ae12[i1]&#59;//SELECTIONS
for(i1=0&#59;i1<12&#59;i1++)
a[7][(X-1)/2+13+i1]=ae13[i1]&#59;//SELECTED
for(i1=0&#59;i1<6&#59;i1++)
a[19][11+i1]=ae16[i1]&#59;//Page:
for(i1=0&#59;i1<8&#59;i1++)
a[20][14+i1]=ae17[i1]&#59;//CD..
for(i1=0&#59;i1<8&#59;i1++)
a[19][26+i1]=ae18[i1]&#59;//PageUp
for(i1=0&#59;i1<8&#59;i1++)
a[20][26+i1]=ae19[i1]&#59;//PageDown
for(i1=0&#59;i1<8&#59;i1++)
a[19][38+i1]=ae20[i1]&#59;//OpenDir
for(i1=0&#59;i1<4&#59;i1++)
a[20][38+i1]=ae21[i1]&#59;//Undo
for(i1=0&#59;i1<16&#59;i1++)
a[8][(X-1)/2-7+3+i1]=ae14[i1]&#59;//More information
}
            //////\提示文字
            //////基本内容
               ///////填写序号
if(page==pgmx)
for(i1=1&#59;i1<num+1&#59;i1++)
{
a[8+i1][12]=i1+'0'&#59;
if(i1==10)
a[8+i1][12]='0'&#59;
}
else
{
for(i1=0&#59;i1<9&#59;i1++)
a[9+i1][12]=i1+'1'&#59;
a[9+i1][12]='0'&#59;
}
               ///////\填写序号
               ///////页码定位
i3=i4=0&#59;
do
{
if(ash[i3]=='*')
i4++&#59;
i3++&#59;
}
while(i4<page)&#59;
i3++&#59;//必须有,影响“文件类别”判断
               ///////\页码定位
               ///////填写主要部分
for(i1=9&#59;i1<19&#59;i1++)
{
                  ////////文件类别
if(ash[i3]=='-')
{
if(L=='C')
  for(i4=0&#59;i4<4&#59;i4++)
   a[i1][16+i4]=ac22[i4]&#59;
else
  for(i4=0&#59;i4<4&#59;i4++)
   a[i1][16+i4]=ae22[i4]&#59;
if(open==1)
  a[i1][12]='_'&#59;
}
else if(ash[i3]=='d')
if(L=='C')
  for(i4=0&#59;i4<4&#59;i4++)
   a[i1][16+i4]=ac23[i4]&#59;
else
  for(i4=0&#59;i4<4&#59;i4++)
   a[i1][16+i4]=ae23[i4]&#59;
else if(ash[i3]=='l')
if(L=='C')
  for(i4=0&#59;i4<4&#59;i4++)
   a[i1][16+i4]=ac24[i4]&#59;
else
  for(i4=0&#59;i4<4&#59;i4++)
   a[i1][16+i4]=ae24[i4]&#59;
else if(ash[i3]==0)
break&#59;
else
{
if(L=='C')
  for(i4=0&#59;i4<4&#59;i4++)
   a[i1][16+i4]=ac24[i4]&#59;
else
  for(i4=0&#59;i4<4&#59;i4++)
   a[i1][16+i4]=ae24[i4]&#59;
if(open==1)
  a[i1][12]='_'&#59;
}
                  ////////\文件类别
                  ////////到达文件名
do
i3++&#59;
while(ash[i3]!='?')&#59;
i3++&#59;
                  ////////\到达文件名
                  ////////待选文件列表
for(i2=25&#59;i2<(X-1)/2+11&#59;i2++)
{
if(ash[i3]=='?')
break&#59;
a[i1][i2]=ash[i3]&#59;
i3++&#59;
}
                  ////////\待选文件列表
                  ////////善后
do
i3++&#59;
while(ash[i3]!='\n'&amp;&amp;ash[i3]!=0)&#59;
i3++&#59;
if(ash[i3]==0)
break&#59;
                  ////////\善后
}
               ///////\填写主要部分
               ///////填写选中部分
for(i1=9&#59;i1<19&#59;i1++)
{
                  ////////初始化tmp1[]
for(i3=0&#59;i3<P&#59;i3++)
tmp1[i3]=0&#59;
                  ////////填写tmp1[]
for(i2=0&#59;i2<P&#59;i2++)
if(Tick[i1-9][i2]=='?')
break&#59;
i2++&#59;
for(i2=i2&#59;i2<P&#59;i2++)
if(Tick[i1-9][i2]=='?')
break&#59;
for(i2=i2&#59;i2>;0&#59;i2--)
if(Tick[i1-9][i2]=='/')
break&#59;
i2++&#59;
i3=i2&#59;

    //system(&quot;clear&quot;)&#59;
    //printf(&quot;\nChecking...\n&quot;)&#59;
    //printf(&quot;i3=%d&quot;,i3)&#59;
    //getchar()&#59;getchar()&#59;
    //system(&quot;clear&quot;)&#59;

for(i2=0&#59;i3<P&#59;i2++,i3++)
{
if(Tick[i1-9][i3]=='?')
break&#59;
tmp1[i2]=Tick[i1-9][i3]&#59;
}
                  ////////填写显示区域
for(i2=(X-1)/2+14&#59;i2<X-2&#59;i2++)
{
if(tmp1[i2-((X-1)/2+14)]==0)
break&#59;
a[i1][i2]=tmp1[i2-((X-1)/2+14)]&#59;
}
                  ////////\填写显示区域
}
               ///////\填写选中部分
            //////\基本内容

            //////文件操作控制键
a[19][47]=a[19][55]=a[19][63]=a[20][43]=a[20][55]=a[20][65]='['&#59;
a[19][48]=a[19][56]=a[19][64]=a[20][44]=a[20][56]=a[20][66]='_'&#59;
a[19][49]=a[19][57]=a[19][65]=a[20][45]=a[20][57]=a[20][67]=']'&#59;
              ///////新建目录提示
a[20][44]='N'&#59;
if(L=='C')
for(i1=0&#59;i1<8&#59;i1++)
a[20][46+i1]=ac28[i1]&#59;
else
for(i1=0&#59;i1<8&#59;i1++)
a[20][46+i1]=ae28[i1]&#59;










              ///////复制提示
if(open==0&amp;&amp;Tick[0][0]!=0)
a[19][48]='J'&#59;
if(L=='C')
for(i1=0&#59;i1<4&#59;i1++)
a[19][50+i1]=ac26[i1]&#59;
else
for(i1=0&#59;i1<4&#59;i1++)
a[19][50+i1]=ae26[i1]&#59;
              ///////移动提示
if(open==0&amp;&amp;Tick[0][0]!=0)
a[19][56]='K'&#59;
if(L=='C')
for(i1=0&#59;i1<4&#59;i1++)
a[19][58+i1]=ac27[i1]&#59;
else
for(i1=0&#59;i1<4&#59;i1++)
a[19][58+i1]=ae27[i1]&#59;
              ///////链接提示
if(open==0&amp;&amp;Tick[0][0]!=0)
a[19][64]='L'&#59;
if(L=='C')
for(i1=0&#59;i1<4&#59;i1++)
a[19][66+i1]=ac24[i1]&#59;
else
for(i1=0&#59;i1<4&#59;i1++)
a[19][66+i1]=ae24[i1]&#59;
              ///////删除提示
if(open==0&amp;&amp;Tick[0][0]!=0)
a[20][56]='X'&#59;
if(L=='C')
for(i1=0&#59;i1<6&#59;i1++)
a[20][58+i1]=ac29[i1]&#59;
else
for(i1=0&#59;i1<6&#59;i1++)
a[20][58+i1]=ae29[i1]&#59;
              ///////属性提示
if(open==0&amp;&amp;Tick[0][0]!=0)
a[20][66]='P'&#59;
if(L=='C')
for(i1=0&#59;i1<6&#59;i1++)
a[20][68+i1]=ac30[i1]&#59;
else
for(i1=0&#59;i1<6&#59;i1++)
a[20][68+i1]=ae30[i1]&#59;
            //////文件操作控制键

}
         /////\简洁模式
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         /////详细模式
else
{
            //////边框
for(i1=11&#59;i1<X-2&#59;i1++)
a[1][i1]=a[2][i1]=a[3][i1]=' '&#59;
a[3][0]=a[3][1]=a[3][10]=a[3][X-2]=a[3][X-1]='='&#59;
for(i1=4&#59;i1<Y&#59;i1++)
for(i2=0&#59;i2<X&#59;i2++)
a[i1][i2]=' '&#59;
            //////\边框
            //////控制键
a[1][23]=a[1][35]=a[2][11]=a[2][23]=a[2][35]='['&#59;
a[1][24]='E'&#59;a[1][36]='_'&#59;a[2][12]='S'&#59;a[2][24]='D'&#59;
a[2][36]='_'&#59;
a[1][25]=a[1][37]=a[2][13]=a[2][25]=a[2][37]=']'&#59;
a[1][47]='['&#59;a[1][48]='M'&#59;a[1][49]=']'&#59;
if(page==1)
a[1][24]='_'&#59;
if(page==pgmx)
a[2][24]='_'&#59;
if(open==0)
a[1][36]='F'&#59;
if(open==1||Tick[0][0]!=0)//要扩展
a[2][36]='G'&#59;
            //////\控制键
            //////显示路径
for(i1=11&#59;i1<X-2&#59;i1++)
if(path1[i1-11]!=0)
a[3][i1]=path1[i1-11]&#59;
            //////显示页码
if(page<9999)
{
a[1][17]=page/1000+'0'&#59;
a[1][18]=page/100+'0'&#59;
a[1][19]=page/10+'0'&#59;
a[1][20]=page%10+'0'&#59;
}
else
a[1][17]=a[1][18]=a[1][19]=a[1][20]='-'&#59;
            //////\显示页码
            //////提示文字
if(L=='C')
{
for(i1=0&#59;i1<6&#59;i1++)
a[1][11+i1]=ac16[i1]&#59;//页码:
for(i1=0&#59;i1<8&#59;i1++)
a[2][14+i1]=ac17[i1]&#59;//上级目录
for(i1=0&#59;i1<8&#59;i1++)
a[1][26+i1]=ac18[i1]&#59;//向上翻页
for(i1=0&#59;i1<8&#59;i1++)
a[2][26+i1]=ac19[i1]&#59;//向下翻页
for(i1=0&#59;i1<8&#59;i1++)
a[1][38+i1]=ac20[i1]&#59;//打开目录
for(i1=0&#59;i1<8&#59;i1++)
a[2][38+i1]=ac21[i1]&#59;//取消操作
for(i1=0&#59;i1<9&#59;i1++)
a[1][50+i1]=ac15[i1]&#59;//简洁显示
}
else
{
for(i1=0&#59;i1<6&#59;i1++)
a[1][11+i1]=ae16[i1]&#59;//Page:
for(i1=0&#59;i1<8&#59;i1++)
a[2][14+i1]=ae17[i1]&#59;//CD..
for(i1=0&#59;i1<8&#59;i1++)
a[1][26+i1]=ae18[i1]&#59;//PageUp
for(i1=0&#59;i1<8&#59;i1++)
a[2][26+i1]=ae19[i1]&#59;//PageDown
for(i1=0&#59;i1<8&#59;i1++)
a[1][38+i1]=ae20[i1]&#59;//OpenDir
for(i1=0&#59;i1<8&#59;i1++)
a[2][38+i1]=ae21[i1]&#59;//Don't-Do
for(i1=0&#59;i1<9&#59;i1++)
a[1][50+i1]=ae15[i1]&#59;//Show Less
}
            //////\提示文字
            //////显示内容
               ///////页码定位
i3=i4=0&#59;
do
{
if(ash[i3]=='*')
i4++&#59;
i3++&#59;
}
while(i4<page)&#59;
i3++&#59;//必须有,影响“文件类别”判断
               ///////\页码定位
               ///////填写显示区域
for(i1=4,i2=0&#59;i2<X&#59;i2++)
{
if(ash[i3]=='*'||ash[i3]==0)
break&#59;
if(ash[i3]=='\n'||i2==X-1)
{
i1++&#59;i2=0-1&#59;
}
else if(ash[i3]=='?')
a[i1][i2]='\&quot;'&#59;
else
a[i1][i2]=ash[i3]&#59;
i3++&#59;
}
               ///////\填写显示区域
            //////\显示内容
}
         /////\详细模式
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////

}
      ////\Form1
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////


      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////-->;Form2
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////


      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////-->;Form3
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////

   ///\准备界面
   ///EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE///
   ///EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE///
   ///EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE///


   ///SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS///
   ///SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS///
   ///SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS///
   ///显示界面
a[0][2]='='&#59;//强化

system(&quot;clear&quot;)&#59;
for(i1=0&#59;i1<Y&#59;i1++)
{
for(i2=0&#59;i2<X&#59;i2++)
{
printf(&quot;%c&quot;,a[i1][i2])&#59;
}
printf(&quot;\n&quot;)&#59;
}
   ///EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE///
   ///EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE///
   ///EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE///


   ///SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS///
   ///SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS///
   ///SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS///
   ///取得字符
c1=getchar()&#59;
   ///EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE///
   ///EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE///
   ///EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE///


   ///SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS///
   ///SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS///
   ///SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS///
   ///输入解释

      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////For FormA
if(Form=='A')
{

         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
n=0&#59;
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         /////“文件浏览器”版权
if((c1=='Z'||c1=='z')&amp;&amp;n==1)
    if(L=='C')
    {

system(&quot;clear&quot;)&#59;
printf(&quot;版权:\n&quot;)&#59;
printf(&quot;________________________________________\n&quot;)&#59;
printf(&quot;\n&quot;)&#59;
printf(&quot;任何人或单位,只要认为值得,均可复制、分发程序的这个部分,但\n&quot;)&#59;
printf(&quot;是必须满足以下条件:\n\n&quot;)&#59;
printf(&quot;  01    分发物必须包括程序“这个部分”(即“本机文件浏览器”)\n&quot;)&#59;
printf(&quot;      的代码;\n\n&quot;)&#59;
printf(&quot;  02    允许修改“这个部分”,并再次发行,但是必须在屏幕上明\n&quot;)&#59;
printf(&quot;      显的位置显示“修改:某人”字样;\n\n&quot;)&#59;
printf(&quot;  03    “这个部分”未经过实质修改的部分不得在分发时收取任何\n&quot;)&#59;
printf(&quot;      费用,未经修改的部分的代码也必须一起分发。\n\n&quot;)&#59;
printf(&quot;________________________________________\n&quot;)&#59;
printf(&quot;\n&quot;)&#59;
printf(&quot;按回车键回主界面。\n&quot;)&#59;
getchar()&#59;getchar()&#59;
system(&quot;clear&quot;)&#59;

    }
    else
    {

system(&quot;clear&quot;)&#59;
printf(&quot;CopyRight:\n&quot;)&#59;
printf(&quot;________________________________________\n&quot;)&#59;
printf(&quot;\n&quot;)&#59;
printf(&quot;  Any person or company can copy and send out THIS PART of this\n&quot;)&#59;
printf(&quot;programe,if you accept the things below:\n\n&quot;)&#59;
printf(&quot;  01    The things sent out must include the SourceCode of \&quot;THIS\n&quot;)&#59;
printf(&quot;      PART\&quot;(the \&quot;Local-File-Exploer\&quot;)&#59;\n\n&quot;)&#59;
printf(&quot;  02    You can modify \&quot;THIS PART\&quot; befor send out,but you must\n&quot;)&#59;
printf(&quot;      print the name who modified it on main user-interface.\n\n&quot;)&#59;
printf(&quot;  03    You musn't collect money by sending it out if you haven't\n&quot;)&#59;
printf(&quot;      make natural modify,and the un-modified part of \&quot;THIS PART\&quot;\n&quot;)&#59;
printf(&quot;      must be included in the things sent out.\n&quot;)&#59;
printf(&quot;________________________________________\n&quot;)&#59;
printf(&quot;\n&quot;)&#59;
printf(&quot;Press key<Enter>; to go back to the main user-interface.\n&quot;)&#59;
getchar()&#59;getchar()&#59;
system(&quot;clear&quot;)&#59;

    }
         /////\“文件浏览器”版权
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         /////文件管理
if(c1=='1')
Form='1'&#59;
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         /////文件管理
if(c1=='1')
Form='1'&#59;
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         /////命令
if(c1=='2')
Form='2'&#59;
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         ///菜单
if(c1=='3')
Form='3'&#59;
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         ///设置
if(c1=='4')
Form='4'&#59;
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////

}
      ////\For FormA
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////


      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////For Form1
if(Form=='1')
{
         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         /////控制台
if(c1=='A'||c1=='a')
Form='A'&#59;
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         ////显示模式
if((c1=='M'||c1=='m')&amp;&amp;M=='L')
M='M'&#59;
else if((c1=='M'||c1=='m')&amp;&amp;M=='M')
M='L'&#59;
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         ////上级目录
if(c1=='S'||c1=='s')
if(path1[1]!=0)
{
for(i1=P-1&#59;i1>;0&#59;i1--)
if(path1[i1]!=0)
break&#59;
do                    //末尾
{                     //是否
path1[i1]=0&#59;          //有
i1--&#59;                 //“/”
}                     // 均可
while(path1[i1]!='/')&#59;//适应
fre=1&#59;
}
         ////\上级目录
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         ////翻页
if(c1=='E'||c1=='e')
if(page>;1)
page--&#59;
if(c1=='D'||c1=='d')
if(page<pgmx)
page++&#59;
         ////\翻页
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         ////打开目录
if(c1=='F'||c1=='f')
open=1&#59;
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         ////取消操作
if(c1=='G'||c1=='g')
if(open==1)//要扩展
open=0&#59;
else if(m>;0)
{
m--&#59;
for(i1=0&#59;i1<P&#59;i1++)
Tick[m][i1]=0&#59;
}
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         ////如果是数字键
if(c1<='9'&amp;&amp;c1>;='0'&amp;&amp;n==1)
{
            /////页码定位
i3=i4=0&#59;
do
{
if(ash[i3]=='*')
i4++&#59;
i3++&#59;
}
while(i4<page)&#59;
i3++&#59;
            /////\页码定位
            /////序号定位
i5=0&#59;
if(c1=='0')
i4=10&#59;
else
i4=c1-'0'&#59;
i5=i4&#59;
    /*system(&quot;clear&quot;)&#59;
    printf(&quot;Checking...\n&quot;)&#59;
    printf(&quot;num=%d,i5=%d\n&quot;,num,i5)&#59;
    getchar()&#59;getchar()&#59;
    system(&quot;clear&quot;)&#59;*/
i4--&#59;
while(i4!=0)
{
if(ash[i3]==0)
break&#59;
if(ash[i3]=='\n')
i4--&#59;
i3++&#59;
}
            /////\序号定位
            /////性质标记
if(ash[i3]=='d')
d=1&#59;
if(ash[i3]=='l')
l=1&#59;
if(page<pgmx||(page==pgmx&amp;&amp;i5<=num))
f=1&#59;
else
f=0&#59;
    //system(&quot;clear&quot;)&#59;
    //printf(&quot;Checking...\n&quot;)&#59;
    //printf(&quot;open=%d  d=%d  l=%d  f=%d\n&quot;,open,d,l,f)&#59;
    //getchar()&#59;getchar()&#59;
            /////\性质标记

            /////如果打开目录
if(open==1&amp;&amp;f==1)
{
if(d==1||l==1)
{
               //////原路径末尾处理
i1=0&#59;
do
i1++&#59;
while(path1[i1]!=0)&#59;
if(path1[i1-1]!='/')
{
path1[i1]='/'&#59;
i1++&#59;
}
    //printf(&quot;\nChecking...\n&quot;)&#59;//性
    //printf(&quot;%s\n&quot;,path1)&#59;     //能
    //printf(&quot;\nEnded.\n&quot;)&#59;     //可
    //getchar()&#59;                //靠
    //getchar()&#59;                //。
               ///////\原有路径尾部调整
               ///////添加新的部分
i3=i3&#59;
do
i3++&#59;
while(ash[i3]!='?')&#59;
i3++&#59;
for(i1=i1,i3=i3&#59;ash[i3]!='?'&#59;i1++,i3++)
path1[i1]=ash[i3]&#59;
               ///////\添加新的部分
               //////新路径末尾处理
if(d==1)
{
i1=0&#59;
do
i1++&#59;
while(path1[i1]!=0)&#59;
if(path1[i1-1]!='/')
{
path1[i1]='/'&#59;
i1++&#59;
}
}
               //////\新路径末尾处理
    //printf(&quot;\nChecking...\n&quot;)&#59;//性
    //printf(&quot;%s\n&quot;,path1)&#59;     //能
    //printf(&quot;\nEnded.\n&quot;)&#59;     //可
    //getchar()&#59;                //靠
    //getchar()&#59;                //。
fre=1&#59;open=0&#59;
}
}
            /////\如果打开目录
    //printf(&quot;Checking...\n&quot;)&#59;
    //printf(&quot;open=%d  d=%d  l=%d\n&quot;,open,d,l)&#59;
    //getchar()&#59;getchar()&#59;
            /////否则(即不是路径)
else if(f==1)
{
i2=m&#59;   //“剪贴
if(m<10)//板”标
m++&#59;    //记跳变
               ///////把文件属性装进“剪贴板”
i3=i3&#59;i1=0&#59;
do
{
Tick[i2][i1]=ash[i3]&#59;
i1++&#59;i3++&#59;
}
while(ash[i3]!='?')&#59;
Tick[i2][i1]='?'&#59;
i1++&#59;i3++&#59;
               ///////把文件属性路径装进“剪贴板”
               //////原路径末尾处理
i4=0&#59;
do
i4++&#59;
while(path1[i4]!=0)&#59;
if(path1[i4-1]!='/')
{
path1[i4]='/'&#59;
i4++&#59;
}
               ///////\原有路径尾部调整
               ///////把路径装进“剪贴板”
i1=i1&#59;i4=0&#59;
if(i2<10)
while(path1[i4]!=0)
{
Tick[i2][i1]=path1[i4]&#59;
i1++&#59;i4++&#59;
}
               ///////\把路径装进“剪贴板”
               ///////把文件名装入“剪贴板”
i3=i3&#59;
for(i1=i1,i3=i3&#59;ash[i3]!='\n'&#59;i1++,i3++)
Tick[i2][i1]=ash[i3]&#59;
               ///////\把文件名装入“剪贴板”
}
            /////\否则(即不是路径)
    //printf(&quot;Checking...\n&quot;)&#59;
    //printf(&quot;open=%d  d=%d  l=%d\n&quot;,open,d,l)&#59;
    /*system(&quot;clear&quot;)&#59;
    printf(&quot;Checking...\n&quot;)&#59;
    for(i1=0&#59;i1<10&#59;i1++)
    {
    printf(&quot;\n&quot;)&#59;
    for(i2=0&#59;i2<P&#59;i2++)
    printf(&quot;%c&quot;,Tick[i1][i2])&#59;
    }
    printf(&quot;\n&quot;)&#59;
    getchar()&#59;getchar()&#59;
    system(&quot;clear&quot;)&#59;*/
d=l=f=0&#59;
}
         /////\如果是数字键
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
         /////新建目录
if((c1=='N'||c1=='n')&amp;&amp;n==1)
{
              //////交互提示
system(&quot;clear&quot;)&#59;

if(L=='C')
{
printf(&quot;请输入新目录的名称,然后按回车键。\n&quot;)&#59;
printf(&quot;名称中不要包含这些字符:“>;”、“\&quot;”、“?”和“*”。\n&quot;)&#59;
printf(&quot;如果不想新建目录,请直接按回车键。\n\n&quot;)&#59;
}
else
{
printf(&quot;Please enter the name of new directory,then press key<Enter>;.\n\n&quot;)&#59;
printf(&quot;DO NOT include such charaters:\'>;\',\'\&quot;\',\'?\'and\'*\'.\n&quot;)&#59;
printf(&quot;Directly press to go back without making new directory.\n\n&quot;)&#59;
}
getchar()&#59;
              //////\交互提示
for(i1=0&#59;i1<P&#59;i1++)
tmp2[i1]=0&#59;
for(i1=0&#59;i1<P&#59;i1++)
{
    c3=getchar()&#59;
    if(c3=='\n')
        break&#59;
    tmp2[i1]=c3&#59;
}
c3=0&#59;

for(i1=0&#59;i1<P+50&#59;i1++)
ado[i1]=0&#59;

for(i1=0&#59;i1<10&#59;i1++)
ado[i1]=mkdir[i1]&#59;
ado[10]='\&quot;'&#59;
i1++&#59;

if(tmp2[0]=='/')//绝对路径
for(i1=i1&#59;tmp2[i1-11]!=0&#59;i1++)
ado[i1]=tmp2[i1-11]&#59;
else//相对路径
{
    for(i1=i1&#59;i1-11<P&#59;i1++)
    {
        ado[i1]=path1[i1-11]&#59;
        if(ado[i1]==0)
        {
            if(ado[i1-1]!='/')
            {
                ado[i1]='/'&#59;
                i1++&#59;
            }
            break&#59;
        }
    }
    i2=i1&#59;

    if(tmp2[0]=='.'&amp;&amp;tmp2[1]=='/')
        for(i1=i1&#59;tmp2[i1-i2+2]!=0&#59;i1++)
            ado[i1]=tmp2[i1-i2+2]&#59;
    else
        for(i1=i1&#59;tmp2[i1-i2]!=0&#59;i1++)
            ado[i1]=tmp2[i1-i2]&#59;

}
ado[i1]='\&quot;'&#59;

//printf(&quot;Checking...\n%s\n&quot;,ado)&#59;
//getchar()&#59;

system(ado)&#59;
fre=1&#59;

system(&quot;clear&quot;)&#59;
}
         /////\新建目录
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////


         /////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS/////
if(n==1)
{
/////=======================================================
/////#######################################################
/////-以下为文件操作部分(在源代码家级不属于本“文件浏览器”)

            /////=======================================================================================================================================================
            /////此处由附带的文挡提供。编译时,请将“cp.txt”(复制)、“mv.txt”(移动)、“ln.txt”(链接)、“rm.txt”(删除)、“ch.txt”(属性)(如果有的话)完整地复制到此处。
            /////此处的文件操作基本都是测试版,欢迎大家提供更好的方案。所有选中并等待操作的文件及其完全路径均在数组Tick[][]里,需要的话尽管用吧。
            /////=======================================================================================================================================================

/////\以上为文件操作部分(在源代码家级不属于本“文件浏览器”)
/////#######################################################
/////=======================================================
for(i1=0&#59;i1<9&#59;i1++)//监视数组
if(Tick[i1][0]==0) //Tick[][]
{                  //里面剩余
m=i1&#59;              //的文件名
break&#59;             //记录。
}                  //

}
         /////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/////

}
      ////\For Form1
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////


      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////For Form2
if(Form=='2')
{
system(&quot;clear&quot;)&#59;

if(L=='C')
system(&quot;/root/.A/base/shell-c&quot;)&#59;
else
system(&quot;/root/.A/base/shell-e&quot;)&#59;
Form='A'&#59;
}
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////


      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////For Form3
if(Form=='3')
{
system(&quot;clear&quot;)&#59;

if(L=='C')
system(&quot;/root/.A/base/menue-c&quot;)&#59;
else
system(&quot;/root/.A/base/menue-e&quot;)&#59;
Form='A'&#59;
}
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////


      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////For Form4
if(Form=='4')
{
system(&quot;clear&quot;)&#59;

if(L=='C')
system(&quot;/root/.A/base/setup-c&quot;)&#59;
else
system(&quot;/root/.A/base/setup-e&quot;)&#59;
Form='A'&#59;
}
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////


      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////帮助
if(c1=='H'||c1=='h')
  if(L=='C')
    system(&quot;/root/.A/base/help-c&quot;)&#59;
  else
    system(&quot;/root/.A/base/help-e&quot;)&#59;
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////

      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
      ////SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS////
n=1&#59;//不可去行
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////
      ////EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE////

   ///EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE///
   ///EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE///
   ///EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE///

}
while(Form!='A'||c1!='0')&#59;
//\主体循环
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//


//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS//
//结束语句
system(&quot;clear&quot;)&#59;
system(&quot;rm -rf /tmp/asd/&quot;)&#59;
system(&quot;clear&quot;)&#59;
//\结束语句

//再见
system(&quot;clear&quot;)&#59;
if(L=='C')
printf(&quot;程序结束,谢谢支持。\n按“回车”键返回提示符。\n&quot;)&#59;
else
printf(&quot;This programe has finished, Thanks for useing.\nPress key<Enter>;.\n&quot;)&#59;
getchar()&#59;getchar()&#59;
system(&quot;clear&quot;)&#59;
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//

}

################################################################################

论坛徽章:
0
5 [报告]
发表于 2002-12-06 20:52 |只看该作者

[未完成]直观的字符界面。

[这个贴子最后由自由狼-台风0在 2002/12/07 12:09pm 编辑]

文件名:/root/.A/src/help-c.c
备注:ASD组件2c-中文帮助
     初级测试版
内容如下:
################################################################################

#include<stdio.h>;
main()
{
    char c1=0&#59;
    char Form='M'&#59;
    while(c1!='0')
    {
        if(Form=='M')
        {
            system(&quot;clear&quot&#59;
            printf(&quot;这一部分将帮助你使用[ASD-SIMPLE-DESK]\n&quot&#59;
            printf(&quot;____________________________________________________________\n&quot&#59;
            printf(&quot;\n&quot&#59;
            printf(&quot;基本操作方法:\n&quot&#59;
            printf(&quot;______________________________\n\n&quot&#59;
            printf(&quot;    一些常用命令已经被包装到本程序的选项之中。\n&quot&#59;
            printf(&quot;    每个选项附近(比如左边或者下边)会有中括号“[ ]”。\n&quot&#59;
            printf(&quot;    在键盘上找到其对应的按键,按下,再按“回车键”,\n&quot&#59;
            printf(&quot;    程序就会有相应的动作。\n&quot&#59;
            printf(&quot;    “[_]”表示本选项暂时不可用。\n\n&quot;)&#59;
            printf(&quot;        [1] 介绍\n\n&quot;)&#59;
            printf(&quot;       [2] 疑问\n\n&quot;)&#59;
            printf(&quot;      [3] 版本\n\n&quot;)&#59;
            printf(&quot;     [4] 关于\n\n&quot;)&#59;
            printf(&quot;    [0] 退出“帮助”\n&quot;)&#59;
            printf(&quot;____________________________________________________________\n&quot;)&#59;
        }
        if(Form=='1')
        {
            system(&quot;clear&quot;)&#59;
            printf(&quot;介绍:\n&quot;)&#59;
            printf(&quot;________________________________________\n\n&quot;)&#59;
printf(&quot;    你刚刚接触Linux 吗?你的显卡支持你手头的X-Window吗?你是否因为好奇而对系统动&quot;)&#59;
printf(&quot;手动脚?是否因此或其他原因而导致X-Window失效?或者你用Linux 架设了一部繁忙的服务&quot;)&#59;
printf(&quot;器,可是不到万不得已,估计你不会让图形界面浪费你宝贵的系统资源;偏偏你又对文件操&quot;)&#59;
printf(&quot;的命令比较生疏?此时,面对陌生的、黑屏白字的命令行,你是否多少感到一些茫然?\n&quot;)&#59;
printf(&quot;    这个程序就是要在字符模式下为你提供一个比较友好的操作界面。试一下,它不难上  &quot;)&#59;
printf(&quot;手。也顺便适应一下字符界面的视觉效果。毕竟Linux 的力量主要体现在字符界面下。\n&quot;)&#59;
printf(&quot;    尽管比较直观,但是不建议你长期使用这个程序,那样对你的提高无益。真正的高手不&quot;)&#59;
printf(&quot;屑于使用这种东西。直接在命令行下运行各种命令,开始确实有困难,但是熟练以后,相信&quot;)&#59;
printf(&quot;你也会喜欢命令行的灵活方便。\n&quot;)&#59;
printf(&quot;    偶的现在的水平决定了这个程序没有多少技术含量。如果你研究过它的代码,相信你会&quot;)&#59;
printf(&quot;发现它在文件列表方面十分笨拙——调用“ls”命令进行列表,结果定向到一个(尽了最大 &quot;)&#59;
printf(&quot;努力,从最初的4个和前两个版本的3个减少到现在的1个)临时文件,然后从里面提取信息,&quot;)&#59;
printf(&quot;因为我既不知道什么函数能实现这种功能,也不知道怎样把一个程序默认显示在监视器上的&quot;)&#59;
printf(&quot;把内容直接定向到另一个程序的某个数组里。如果你知道,请告诉我。估计程序里还会有不&quot;)&#59;
printf(&quot;少的“臭虫”。如果发现,也请告诉我。\n\n&quot;)&#59;
            printf(&quot;________________________________________\n\n&quot;)&#59;
            printf(&quot;按“回车键”返回上级菜单\n&quot;)&#59;
            getchar()&#59;
            Form='M'&#59;
        }
        c1=getchar()&#59;
        if(c1=='1')
            Form='1'&#59;
    }
}

################################################################################

论坛徽章:
0
6 [报告]
发表于 2002-12-06 21:12 |只看该作者

[未完成]直观的字符界面。

文件名:/root/.A/src/help-e.c
备注:ASD组件2e-英文帮助
     基本测试版
内容如下:
################################################################################

#include<stdio.h>;
main()
{
    char c1=0&#59;
    char Form='M'&#59;
    while(c1!='0')
    {
        if(Form=='M')
        {
            system(&quot;clear&quot&#59;
            printf(&quot;THIS PART WILL HELP YOU USE [ASD-SIMPLE-DESK]\n&quot&#59;
            printf(&quot;____________________________________________________________\n&quot&#59;
            printf(&quot;\n&quot&#59;
            printf(&quot;Way of operating:\n&quot&#59;
            printf(&quot;______________________________\n\n&quot&#59;
            printf(&quot;    Some of the commands have been packed in the selections.\n&quot&#59;
            printf(&quot;    You can see a \&quot;[ ]\&quot; below or on the left side of a selection.\n&quot&#59;
            printf(&quot;    Press the key with the certain charater, then press key<Enter>;,\n&quot&#59;
            printf(&quot;    and the programe will do it.\n&quot&#59;
            printf(&quot;    \&quot;[_]\&quot;means this selection is dissabled at present.\n\n&quot;)&#59;
            printf(&quot;    [1] Introduce\n\n&quot;)&#59;
            printf(&quot;     [2] How to\n\n&quot;)&#59;
            printf(&quot;    [3] Version\n\n&quot;)&#59;
            printf(&quot;     [4] About\n\n&quot;)&#59;
            printf(&quot;    [0] Leave this \&quot;HELP\&quot;\n&quot;)&#59;
            printf(&quot;____________________________________________________________\n&quot;)&#59;
        }
        if(Form=='1')
        {
            system(&quot;clear&quot;)&#59;
            printf(&quot;INTRODUCE:\n&quot;)&#59;
            printf(&quot;________________________________________\n\n&quot;)&#59;
printf(&quot;Are you a fresh hand to LINUX?Can X-Window run well on your vedio-card?Had or   &quot;)&#59;
printf(&quot;have your X-Window been broken?Or you have a busy server which LINUX runs on?   &quot;)&#59;
printf(&quot;Certainly you did not want the GUI waste your resource while you didn't need it &quot;)&#59;
printf(&quot;in deed&#59;but you may not familiar to COMMANDS?Face the COMMAND-LINE,the black    &quot;)&#59;
printf(&quot;screen and white charaters,are you sure you know what to do?\n&quot;)&#59;
printf(&quot;    This programe was designed to show you a friendly user-interface under the  &quot;)&#59;
printf(&quot;text mode.Try to use text mode more,after all,the power of LINUX is there.\n&quot;)&#59;
printf(&quot;    We do not suggest you use this programe for long.That won't be good to you. &quot;)&#59;
printf(&quot;Try to use the true command line,you'll find someting intresting.\n&quot;)&#59;
printf(&quot;    Sure,this programe has its own fault.It isn't a high-tech-production.If you &quot;)&#59;
printf(&quot;have researched its SOURCE-CODE,you'll find it's stupid at \&quot;list a directory\&quot;.  &quot;)&#59;
printf(&quot;Depend on my tech-level,it has to call \&quot;ls\&quot; to list a directory into a temprory &quot;)&#59;
printf(&quot;file,then get infomations from the file as I don't have a better way.If you     &quot;)&#59;
printf(&quot;know,please tell me.And I suppose that there were still some BUGs in this       &quot;)&#59;
printf(&quot;programe,if you find them,please tell me.\n\n&quot;)&#59;
            printf(&quot;________________________________________\n\n&quot;)&#59;
            printf(&quotress key<Enter>; to the title of HELP\n&quot;)&#59;
            getchar()&#59;
            Form='M'&#59;
        }
        c1=getchar()&#59;
        if(c1=='1')
            Form='1'&#59;
    }
}

################################################################################

论坛徽章:
0
7 [报告]
发表于 2002-12-06 21:26 |只看该作者

[未完成]直观的字符界面。

[这个贴子最后由自由狼-台风0在 2002/12/06 09:51pm 编辑]

文件名:/root/.A/doc/cp.txt
备注:ASD组件3-文件复制
     一般测试版
内容如下:
################################################################################

            /////复制
if(M=='L'&amp;&amp;(c1=='J'||c1=='j')&amp;&amp;open==0&amp;&amp;Tick[0][0]!=0)
{
system(&quot;clear&quot&#59;
if(L=='C')
{
printf(&quot;ASD组件3:文件操作----复制\n版本:0.8.0\n\n&quot&#59;
printf(&quot;不支持强制覆盖\n\n不对可能造成的损害进行担保。\n&quot&#59;
printf(&quot;源代码:自由狼-台风\n&quot&#59;
printf(&quot;测试:自由狼-台风\n&quot&#59;

printf(&quot;________________________________________\n\n&quot&#59;
printf(&quot;  [1]复制到当前目录\n&quot&#59;
if(Tick[1][0]==0)
printf(&quot;  [2]复制到当前目录并改名\n&quot&#59;
printf(&quot;  [0]取消\n&quot&#59;
printf(&quot;  [Z]关于\n&quot&#59;
printf(&quot;________________________________________\n\n&quot;)&#59;
}
else
{
printf(&quot;ASD-PART3:Operate-Copy\nVersion:0.8.0\n\n&quot;)&#59;
printf(&quot;Replace by force is not supported\n\n&quot;)&#59;
printf(&quot;SourceCode:Typhoon.Free.Wolf\n&quot;)&#59;
printf(&quot;Check:Typhoon.Free.Wolf\n&quot;)&#59;

printf(&quot;________________________________________\n\n&quot;)&#59;
printf(&quot;  [1]Copy to current directory\n&quot;)&#59;
if(Tick[1][0]==0)
printf(&quot;  [2]Copy to current directory and rename\n&quot;)&#59;
printf(&quot;  [0]Cancle\n&quot;)&#59;
printf(&quot;  [Z]About\n&quot;)&#59;
printf(&quot;________________________________________\n\n&quot;)&#59;
}

getchar()&#59;
c3=getchar()&#59;
if(c3=='Z'||c3=='z')
    if(L=='C')
    {

system(&quot;clear&quot;)&#59;
printf(&quot;版权:\n&quot;)&#59;
printf(&quot;________________________________________\n&quot;)&#59;
printf(&quot;\n&quot;)&#59;
printf(&quot;任何人或单位,只要认为值得,均可复制、分发程序的这个部分,但\n&quot;)&#59;
printf(&quot;是必须满足以下条件:\n\n&quot;)&#59;
printf(&quot;  01    分发物必须包括程序“这个部分”(即“文件操作----复制”)\n&quot;)&#59;
printf(&quot;      的代码;\n\n&quot;)&#59;
printf(&quot;  02    允许修改“这个部分”,并再次发行,但是必须在屏幕上明\n&quot;)&#59;
printf(&quot;      显的位置显示“修改:某人”字样;\n\n&quot;)&#59;
printf(&quot;  03    “这个部分”未经过实质修改的部分不得在分发时收取任何\n&quot;)&#59;
printf(&quot;      费用,未经修改的部分的代码也必须一起分发。\n\n&quot;)&#59;
printf(&quot;________________________________________\n&quot;)&#59;
printf(&quot;\n&quot;)&#59;
printf(&quot;按回车键返回。\n&quot;)&#59;
getchar()&#59;getchar()&#59;
system(&quot;clear&quot;)&#59;

    }
    else
    {

system(&quot;clear&quot;)&#59;
printf(&quot;CopyRight:\n&quot;)&#59;
printf(&quot;________________________________________\n&quot;)&#59;
printf(&quot;\n&quot;)&#59;
printf(&quot;  Any person or company can copy and send out THIS PART of this\n&quot;)&#59;
printf(&quot;programe,if you accept the things below:\n\n&quot;)&#59;
printf(&quot;  01    The things sent out must include the SourceCode of \&quot;THIS\n&quot;)&#59;
printf(&quot;      PART\&quot;(the \&quot;Operate-Copy\&quot;)&#59;\n\n&quot;)&#59;
printf(&quot;  02    You can modify \&quot;THIS PART\&quot; befor send out,but you must\n&quot;)&#59;
printf(&quot;      print the name who modified it on main user-interface.\n\n&quot;)&#59;
printf(&quot;  03    You musn't collect money by sending it out if you haven't\n&quot;)&#59;
printf(&quot;      make natural modify,and the un-modified part of \&quot;THIS PART\&quot;\n&quot;)&#59;
printf(&quot;      must be included in the things sent out.\n&quot;)&#59;
printf(&quot;________________________________________\n&quot;)&#59;
printf(&quot;\n&quot;)&#59;
printf(&quotress key<Enter>; to go back.\n&quot;)&#59;
getchar()&#59;getchar()&#59;
system(&quot;clear&quot;)&#59;

    }
else if(c3=='1')
{
    for(i1=0&#59;i1<m&#59;i1++)
    {
        for(i2=0&#59;i2<+50&#59;i2++)//调命令
        udo[i2]=0&#59;
        for(i2=0&#59;i2<10&#59;i2++)
        udo[i2]=copy[i2]&#59;

        for(i3=0&#59;Tick[i1][i3]!='?'&#59;i3++)//源文件
        &#59;
        udo[i2]='\&quot;'&#59;
        i2++&#59;i3++&#59;
        for(i2=i2,i3=i3&#59;Tick[i1][i3]!='?'&#59;i2++,i3++)
            udo[i2]=Tick[i1][i3]&#59;
        udo[i2]='\&quot;'&#59;
        i2++&#59;
        udo[i2]=' '&#59;
        i2++&#59;

        udo[i2]='\&quot;'&#59;//目的地
        i2++&#59;
        i3=i2&#59;
        for(i2=i2&#59;i2-i3<-50&#59;i2++)
        {
            udo[i2]=path1[i2-i3]&#59;//路径继承
            if(udo[i2]==0)
            {
                if(udo[i2-1]!='/')
                {
                    udo[i2]='/'&#59;
                    i2++&#59;
                }
                break&#59;
            }
        }
        udo[i2]='\&quot;'&#59;

printf(&quot;udo=%s\n&quot;,udo)&#59;

        system(udo)&#59;
    }
if(L=='C')
printf(&quot;\n   复制到当前目录完成\n&quot;)&#59;
else
printf(&quot;\n   Copied to current dictory\n&quot;)&#59;
}
else if(c3=='2'&amp;&amp;Tick[1][0]==0)
{
if(L=='C')
printf(&quot;请输入新的名称,然后按“回车键”:\n&quot;)&#59;
else
printf(&quotlease enter new name,then press key<Enter>;:\n&quot;)&#59;

    for(i2=0&#59;i2<+50&#59;i2++)//调命令
    udo[i2]=0&#59;
    for(i2=0&#59;i2<10&#59;i2++)
    udo[i2]=copy[i2]&#59;

    for(i3=0&#59;Tick[0][i3]!='?'&#59;i3++)//源文件
    &#59;
    udo[i2]='\&quot;'&#59;
    i2++&#59;i3++&#59;

    for(i2=i2,i3=i3&#59;Tick[0][i3]!='?'&#59;i2++,i3++)
        udo[i2]=Tick[0][i3]&#59;
    udo[i2]='\&quot;'&#59;
    i2++&#59;
    udo[i2]=' '&#59;
    i2++&#59;

    udo[i2]='\&quot;'&#59;//目的地
    i2++&#59;
    i3=i2&#59;
    for(i2=i2&#59;i2-i3<-50&#59;i2++)
    {
        udo[i2]=path1[i2-i3]&#59;//路径继承
        if(udo[i2]==0)
        {
            if(udo[i2-1]!='/')
            {
                udo[i2]='/'&#59;
                i2++&#59;
            }
            break&#59;
        }
    }
    i3=i2&#59;

    getchar()&#59;c1=getchar()&#59;
    for(i1=0&#59;i1<&#59;i1++)//新的名称
    {
        if(c1=='\n')
        break&#59;
        udo[i2]=c1&#59;
        i2++&#59;
        c1=getchar()&#59;
    }
    udo[i2]='\&quot;'&#59;

system(udo)&#59;
printf(&quot;udo=%s\n&quot;,udo)&#59;

if(L=='C')
printf(&quot;\n   复制到当前目录并且改名完成\n&quot;)&#59;
else
printf(&quot;\n   Copied to this dictory and renamed\n&quot;)&#59;
}
fre=1&#59;
system(&quot;clear&quot;)&#59;
}
            /////\复制

################################################################################

论坛徽章:
0
8 [报告]
发表于 2002-12-06 21:29 |只看该作者

[未完成]直观的字符界面。

[这个贴子最后由自由狼-台风0在 2002/12/06 09:33pm 编辑]

文件名:/root/.A/doc/mv.txt
备注:ASD组件4-文件移动
     一般测试版
内容如下:
################################################################################

            /////移动
if(M=='L'&amp;&amp;(c1=='K'||c1=='k')&amp;&amp;open==0&amp;&amp;Tick[0][0]!=0)
{
system(&quot;clear&quot&#59;
if(L=='C')
{
printf(&quot;ASD组件4:文件操作----移动\n版本:0.8.0\n\n&quot&#59;
printf(&quot;不支持强制覆盖\n\n不对可能造成的损害进行担保。\n&quot&#59;
printf(&quot;源代码:自由狼-台风\n&quot&#59;
printf(&quot;测试:自由狼-台风\n&quot&#59;

printf(&quot;________________________________________\n\n&quot&#59;
printf(&quot;  [1]移动到当前目录\n&quot&#59;
if(Tick[1][0]==0)
printf(&quot;  [2]移动到当前目录并改名\n&quot&#59;
printf(&quot;  [0]取消\n&quot&#59;
printf(&quot;  [Z]关于\n&quot&#59;
printf(&quot;________________________________________\n\n&quot;)&#59;
}
else
{
printf(&quot;ASD-PART4:Operate-Move\nVersion:0.8.0\n\n&quot;)&#59;
printf(&quot;Replace by force is not supported\n\n&quot;)&#59;
printf(&quot;SourceCode:Typhoon.Free.Wolf\n&quot;)&#59;
printf(&quot;Check:Typhoon.Free.Wolf\n&quot;)&#59;

printf(&quot;________________________________________\n\n&quot;)&#59;
printf(&quot;  [1]Move to current directory\n&quot;)&#59;
if(Tick[1][0]==0)
printf(&quot;  [2]Move to current directory and rename\n&quot;)&#59;
printf(&quot;  [0]Cancle\n&quot;)&#59;
printf(&quot;  [Z]About\n&quot;)&#59;
printf(&quot;________________________________________\n\n&quot;)&#59;
}

getchar()&#59;
c3=getchar()&#59;
if(c3=='Z'||c3=='z')
    if(L=='C')
    {

system(&quot;clear&quot;)&#59;
printf(&quot;版权:\n&quot;)&#59;
printf(&quot;________________________________________\n&quot;)&#59;
printf(&quot;\n&quot;)&#59;
printf(&quot;任何人或单位,只要认为值得,均可复制、分发程序的这个部分,但\n&quot;)&#59;
printf(&quot;是必须满足以下条件:\n\n&quot;)&#59;
printf(&quot;  01    分发物必须包括程序“这个部分”(即“文件操作----复制”)\n&quot;)&#59;
printf(&quot;      的代码;\n\n&quot;)&#59;
printf(&quot;  02    允许修改“这个部分”,并再次发行,但是必须在屏幕上明\n&quot;)&#59;
printf(&quot;      显的位置显示“修改:某人”字样;\n\n&quot;)&#59;
printf(&quot;  03    “这个部分”未经过实质修改的部分不得在分发时收取任何\n&quot;)&#59;
printf(&quot;      费用,未经修改的部分的代码也必须一起分发。\n\n&quot;)&#59;
printf(&quot;________________________________________\n&quot;)&#59;
printf(&quot;\n&quot;)&#59;
printf(&quot;按回车键返回。\n&quot;)&#59;
getchar()&#59;getchar()&#59;
system(&quot;clear&quot;)&#59;

    }
    else
    {

system(&quot;clear&quot;)&#59;
printf(&quot;CopyRight:\n&quot;)&#59;
printf(&quot;________________________________________\n&quot;)&#59;
printf(&quot;\n&quot;)&#59;
printf(&quot;  Any person or company can copy and send out THIS PART of this\n&quot;)&#59;
printf(&quot;programe,if you accept the things below:\n\n&quot;)&#59;
printf(&quot;  01    The things sent out must include the SourceCode of \&quot;THIS\n&quot;)&#59;
printf(&quot;      PART\&quot;(the \&quot;Operate-Copy\&quot;)&#59;\n\n&quot;)&#59;
printf(&quot;  02    You can modify \&quot;THIS PART\&quot; befor send out,but you must\n&quot;)&#59;
printf(&quot;      print the name who modified it on main user-interface.\n\n&quot;)&#59;
printf(&quot;  03    You musn't collect money by sending it out if you haven't\n&quot;)&#59;
printf(&quot;      make natural modify,and the un-modified part of \&quot;THIS PART\&quot;\n&quot;)&#59;
printf(&quot;      must be included in the things sent out.\n&quot;)&#59;
printf(&quot;________________________________________\n&quot;)&#59;
printf(&quot;\n&quot;)&#59;
printf(&quotress key<Enter>; to go back.\n&quot;)&#59;
getchar()&#59;getchar()&#59;
system(&quot;clear&quot;)&#59;

    }
else if(c3=='1')
{
    for(i1=0&#59;i1<m&#59;i1++)
    {
        for(i2=0&#59;i2<+50&#59;i2++)//调命令
        udo[i2]=0&#59;
        for(i2=0&#59;i2<10&#59;i2++)
        udo[i2]=move[i2]&#59;

        for(i3=0&#59;Tick[i1][i3]!='?'&#59;i3++)//源文件
        &#59;
        udo[i2]='\&quot;'&#59;
        i2++&#59;i3++&#59;
        for(i2=i2,i3=i3&#59;Tick[i1][i3]!='?'&#59;i2++,i3++)
            udo[i2]=Tick[i1][i3]&#59;
        udo[i2]='\&quot;'&#59;
        i2++&#59;
        udo[i2]=' '&#59;
        i2++&#59;

        udo[i2]='\&quot;'&#59;//目的地
        i2++&#59;
        i3=i2&#59;
        for(i2=i2&#59;i2-i3<-50&#59;i2++)
        {
            udo[i2]=path1[i2-i3]&#59;//路径继承
            if(udo[i2]==0)
            {
                if(udo[i2-1]!='/')
                {
                    udo[i2]='/'&#59;
                    i2++&#59;
                }
                break&#59;
            }
        }
        udo[i2]='\&quot;'&#59;

printf(&quot;udo=%s\n&quot;,udo)&#59;

        system(udo)&#59;
    }
if(L=='C')
printf(&quot;\n   移动到当前目录完成\n&quot;)&#59;
else
printf(&quot;\n   Moved to current dictory\n&quot;)&#59;
}
else if(c3=='2'&amp;&amp;Tick[1][0]==0)
{
if(L=='C')
printf(&quot;请输入新的名称,然后按“回车键”:\n&quot;)&#59;
else
printf(&quotlease enter new name,then press key<Enter>;:\n&quot;)&#59;

    for(i2=0&#59;i2<+50&#59;i2++)//调命令
    udo[i2]=0&#59;
    for(i2=0&#59;i2<10&#59;i2++)
    udo[i2]=move[i2]&#59;

    for(i3=0&#59;Tick[0][i3]!='?'&#59;i3++)//源文件
    &#59;
    udo[i2]='\&quot;'&#59;
    i2++&#59;i3++&#59;

    for(i2=i2,i3=i3&#59;Tick[0][i3]!='?'&#59;i2++,i3++)
        udo[i2]=Tick[0][i3]&#59;
    udo[i2]='\&quot;'&#59;
    i2++&#59;
    udo[i2]=' '&#59;
    i2++&#59;

    udo[i2]='\&quot;'&#59;//目的地
    i2++&#59;
    i3=i2&#59;
    for(i2=i2&#59;i2-i3<-50&#59;i2++)
    {
        udo[i2]=path1[i2-i3]&#59;//路径继承
        if(udo[i2]==0)
        {
            if(udo[i2-1]!='/')
            {
                udo[i2]='/'&#59;
                i2++&#59;
            }
            break&#59;
        }
    }
    i3=i2&#59;

    getchar()&#59;c1=getchar()&#59;
    for(i1=0&#59;i1<&#59;i1++)//新的名称
    {
        if(c1=='\n')
        break&#59;
        udo[i2]=c1&#59;
        i2++&#59;
        c1=getchar()&#59;
    }
    udo[i2]='\&quot;'&#59;

system(udo)&#59;
printf(&quot;udo=%s\n&quot;,udo)&#59;

if(L=='C')
printf(&quot;\n   移动到当前目录并且改名完成\n&quot;)&#59;
else
printf(&quot;\n   Moved to this dictory and renamed\n&quot;)&#59;
}
fre=1&#59;
system(&quot;clear&quot;)&#59;
}
             /////\移动

################################################################################

论坛徽章:
0
9 [报告]
发表于 2002-12-06 21:33 |只看该作者

[未完成]直观的字符界面。

[这个贴子最后由自由狼-台风0在 2002/12/06 09:38pm 编辑]

文件名:/root/.A/doc/ln.txt
备注:ASD组件5-符号链接
     一般测试版
内容如下:
################################################################################

            /////链接
if(M=='L'&amp;&amp;(c1=='L'||c1=='l')&amp;&amp;open==0&amp;&amp;Tick[0][0]!=0)
{
system(&quot;clear&quot&#59;
if(L=='C')
{
printf(&quot;ASD组件5:文件操作----链接\n版本:0.8.0\n\n&quot&#59;
printf(&quot;不支持强制覆盖\n\n不对可能造成的损害进行担保。\n&quot&#59;
printf(&quot;源代码:自由狼-台风\n&quot&#59;
printf(&quot;测试:自由狼-台风\n&quot&#59;

printf(&quot;________________________________________\n\n&quot&#59;
printf(&quot;  [1]链接到当前目录\n&quot&#59;
if(Tick[1][0]==0)
printf(&quot;  [2]链接到当前目录并改名\n&quot&#59;
printf(&quot;  [0]取消\n&quot&#59;
printf(&quot;  [Z]关于\n&quot&#59;
printf(&quot;________________________________________\n\n&quot;)&#59;
}
else
{
printf(&quot;ASD-PART5:Operate-Link\nVersion:0.8.0\n\n&quot;)&#59;
printf(&quot;Replace by force is not supported\n\n&quot;)&#59;
printf(&quot;SourceCode:Typhoon.Free.Wolf\n&quot;)&#59;
printf(&quot;Check:Typhoon.Free.Wolf\n&quot;)&#59;

printf(&quot;________________________________________\n\n&quot;)&#59;
printf(&quot;  [1]Link to current directory\n&quot;)&#59;
if(Tick[1][0]==0)
printf(&quot;  [2]Link to current directory and rename\n&quot;)&#59;
printf(&quot;  [0]Cancle\n&quot;)&#59;
printf(&quot;  [Z]About\n&quot;)&#59;
printf(&quot;________________________________________\n\n&quot;)&#59;
}

getchar()&#59;
c3=getchar()&#59;
if(c3=='Z'||c3=='z')
    if(L=='C')
    {

system(&quot;clear&quot;)&#59;
printf(&quot;版权:\n&quot;)&#59;
printf(&quot;________________________________________\n&quot;)&#59;
printf(&quot;\n&quot;)&#59;
printf(&quot;任何人或单位,只要认为值得,均可复制、分发程序的这个部分,但\n&quot;)&#59;
printf(&quot;是必须满足以下条件:\n\n&quot;)&#59;
printf(&quot;  01    分发物必须包括程序“这个部分”(即“文件操作----复制”)\n&quot;)&#59;
printf(&quot;      的代码;\n\n&quot;)&#59;
printf(&quot;  02    允许修改“这个部分”,并再次发行,但是必须在屏幕上明\n&quot;)&#59;
printf(&quot;      显的位置显示“修改:某人”字样;\n\n&quot;)&#59;
printf(&quot;  03    “这个部分”未经过实质修改的部分不得在分发时收取任何\n&quot;)&#59;
printf(&quot;      费用,未经修改的部分的代码也必须一起分发。\n\n&quot;)&#59;
printf(&quot;________________________________________\n&quot;)&#59;
printf(&quot;\n&quot;)&#59;
printf(&quot;按回车键返回。\n&quot;)&#59;
getchar()&#59;getchar()&#59;
system(&quot;clear&quot;)&#59;

    }
    else
    {

system(&quot;clear&quot;)&#59;
printf(&quot;CopyRight:\n&quot;)&#59;
printf(&quot;________________________________________\n&quot;)&#59;
printf(&quot;\n&quot;)&#59;
printf(&quot;  Any person or company can copy and send out THIS PART of this\n&quot;)&#59;
printf(&quot;programe,if you accept the things below:\n\n&quot;)&#59;
printf(&quot;  01    The things sent out must include the SourceCode of \&quot;THIS\n&quot;)&#59;
printf(&quot;      PART\&quot;(the \&quot;Operate-Copy\&quot;)&#59;\n\n&quot;)&#59;
printf(&quot;  02    You can modify \&quot;THIS PART\&quot; befor send out,but you must\n&quot;)&#59;
printf(&quot;      print the name who modified it on main user-interface.\n\n&quot;)&#59;
printf(&quot;  03    You musn't collect money by sending it out if you haven't\n&quot;)&#59;
printf(&quot;      make natural modify,and the un-modified part of \&quot;THIS PART\&quot;\n&quot;)&#59;
printf(&quot;      must be included in the things sent out.\n&quot;)&#59;
printf(&quot;________________________________________\n&quot;)&#59;
printf(&quot;\n&quot;)&#59;
printf(&quotress key<Enter>; to go back.\n&quot;)&#59;
getchar()&#59;getchar()&#59;
system(&quot;clear&quot;)&#59;

    }
else if(c3=='1')
{
    for(i1=0&#59;i1<m&#59;i1++)
    {
        for(i2=0&#59;i2<+50&#59;i2++)//调命令
        udo[i2]=0&#59;
        for(i2=0&#59;i2<10&#59;i2++)
        udo[i2]=link[i2]&#59;

        for(i3=0&#59;Tick[i1][i3]!='?'&#59;i3++)//源文件
        &#59;
        udo[i2]='\&quot;'&#59;
        i2++&#59;i3++&#59;
        for(i2=i2,i3=i3&#59;Tick[i1][i3]!='?'&#59;i2++,i3++)
            udo[i2]=Tick[i1][i3]&#59;
        udo[i2]='\&quot;'&#59;
        i2++&#59;
        udo[i2]=' '&#59;
        i2++&#59;

        udo[i2]='\&quot;'&#59;//目的地
        i2++&#59;
        i3=i2&#59;
        for(i2=i2&#59;i2-i3<-50&#59;i2++)
        {
            udo[i2]=path1[i2-i3]&#59;//路径继承
            if(udo[i2]==0)
            {
                if(udo[i2-1]!='/')
                {
                    udo[i2]='/'&#59;
                    i2++&#59;
                }
                break&#59;
            }
        }
        udo[i2]='\&quot;'&#59;

printf(&quot;udo=%s\n&quot;,udo)&#59;

        system(udo)&#59;
    }
if(L=='C')
printf(&quot;\n   链接到当前目录完成\n&quot;)&#59;
else
printf(&quot;\n   Linked to current dictory\n&quot;)&#59;
}
else if(c3=='2'&amp;&amp;Tick[1][0]==0)
{
if(L=='C')
printf(&quot;请输入新的名称,然后按“回车键”:\n&quot;)&#59;
else
printf(&quotlease enter new name,then press key<Enter>;:\n&quot;)&#59;

    for(i2=0&#59;i2<+50&#59;i2++)//调命令
    udo[i2]=0&#59;
    for(i2=0&#59;i2<10&#59;i2++)
    udo[i2]=link[i2]&#59;

    for(i3=0&#59;Tick[0][i3]!='?'&#59;i3++)//源文件
    &#59;
    udo[i2]='\&quot;'&#59;
    i2++&#59;i3++&#59;

    for(i2=i2,i3=i3&#59;Tick[0][i3]!='?'&#59;i2++,i3++)
        udo[i2]=Tick[0][i3]&#59;
    udo[i2]='\&quot;'&#59;
    i2++&#59;
    udo[i2]=' '&#59;
    i2++&#59;

    udo[i2]='\&quot;'&#59;//目的地
    i2++&#59;
    i3=i2&#59;
    for(i2=i2&#59;i2-i3<-50&#59;i2++)
    {
        udo[i2]=path1[i2-i3]&#59;//路径继承
        if(udo[i2]==0)
        {
            if(udo[i2-1]!='/')
            {
                udo[i2]='/'&#59;
                i2++&#59;
            }
            break&#59;
        }
    }
    i3=i2&#59;

    getchar()&#59;c1=getchar()&#59;
    for(i1=0&#59;i1<&#59;i1++)//新的名称
    {
        if(c1=='\n')
        break&#59;
        udo[i2]=c1&#59;
        i2++&#59;
        c1=getchar()&#59;
    }
    udo[i2]='\&quot;'&#59;

system(udo)&#59;
printf(&quot;udo=%s\n&quot;,udo)&#59;

if(L=='C')
printf(&quot;\n   链接到当前目录并且改名完成\n&quot;)&#59;
else
printf(&quot;\n   Linked to this dictory and renamed\n&quot;)&#59;
}
fre=1&#59;
system(&quot;clear&quot;)&#59;
}
            /////\链接

################################################################################

论坛徽章:
0
10 [报告]
发表于 2002-12-06 21:37 |只看该作者

[未完成]直观的字符界面。

[这个贴子最后由自由狼-台风0在 2002/12/06 09:50pm 编辑]

文件名:/root/.A/doc/rm.txt
备注:ASD组件6-文件删除
    一般测试版
内容如下:
################################################################################

            /////删除
if((c1=='X'||c1=='x')&amp;&amp;open==0&amp;&amp;Tick[0][0]!=0)
{
system(&quot;clear&quot&#59;
if(L=='C')
{
printf(&quot;ASD组件6:文件操作----删除\n版本:0.8.0\n\n&quot&#59;
printf(&quot;不支持强制覆盖\n\n不对可能造成的损害进行担保。\n&quot&#59;
printf(&quot;源代码:自由狼-台风\n&quot&#59;
printf(&quot;测试:自由狼-台风\n&quot&#59;
printf(&quot;铁了心要删除?后悔药可不好吃哦。\n&quot&#59;
printf(&quot;  [Z]关于\n&quot&#59;
}
else
{
printf(&quot;ASD-PART6:Operate-Remove\nVersion:0.8.0\n\n&quot&#59;
printf(&quot;Replace by force is not supported\n\n&quot&#59;
printf(&quot;SourceCode:Typhoon.Free.Wolf\n&quot&#59;
printf(&quot;Check:Typhoon.Free.Wolf\n&quot;)&#59;
printf(&quot;Are you sure to delete?It will be hard to recover.\n&quot;)&#59;
printf(&quot;  [Z]About\n&quot;)&#59;
}
printf(&quot;----------------------------------------\n&quot;)&#59;
for(i1=0&#59;i1<m&#59;i1++)
    for(i2=0&#59;i2<X&#59;i2++)
        if(Tick[i1][i2]==0)
        {
            printf(&quot;\n&quot;)&#59;
            break&#59;
        }
        else if(Tick[i1][i2]=='?')
            printf(&quot;\&quot;&quot;)&#59;
        else
            printf(&quot;%c&quot;,Tick[i1][i2])&#59;
printf(&quot;----------------------------------------\n&quot;)&#59;
if(c3=='Z'||c3=='z')
    if(L=='C')
    {

system(&quot;clear&quot;)&#59;
printf(&quot;版权:\n&quot;)&#59;
printf(&quot;________________________________________\n&quot;)&#59;
printf(&quot;\n&quot;)&#59;
printf(&quot;任何人或单位,只要认为值得,均可复制、分发程序的这个部分,但\n&quot;)&#59;
printf(&quot;是必须满足以下条件:\n\n&quot;)&#59;
printf(&quot;  01    分发物必须包括程序“这个部分”(即“文件操作----复制”)\n&quot;)&#59;
printf(&quot;      的代码;\n\n&quot;)&#59;
printf(&quot;  02    允许修改“这个部分”,并再次发行,但是必须在屏幕上明\n&quot;)&#59;
printf(&quot;      显的位置显示“修改:某人”字样;\n\n&quot;)&#59;
printf(&quot;  03    “这个部分”未经过实质修改的部分不得在分发时收取任何\n&quot;)&#59;
printf(&quot;      费用,未经修改的部分的代码也必须一起分发。\n\n&quot;)&#59;
printf(&quot;________________________________________\n&quot;)&#59;
printf(&quot;\n&quot;)&#59;
printf(&quot;按回车键返回。\n&quot;)&#59;
getchar()&#59;getchar()&#59;
system(&quot;clear&quot;)&#59;

    }
    else
    {

system(&quot;clear&quot;)&#59;
printf(&quot;CopyRight:\n&quot;)&#59;
printf(&quot;________________________________________\n&quot;)&#59;
printf(&quot;\n&quot;)&#59;
printf(&quot;  Any person or company can copy and send out THIS PART of this\n&quot;)&#59;
printf(&quot;programe,if you accept the things below:\n\n&quot;)&#59;
printf(&quot;  01    The things sent out must include the SourceCode of \&quot;THIS\n&quot;)&#59;
printf(&quot;      PART\&quot;(the \&quot;Operate-Copy\&quot;)&#59;\n\n&quot;)&#59;
printf(&quot;  02    You can modify \&quot;THIS PART\&quot; befor send out,but you must\n&quot;)&#59;
printf(&quot;      print the name who modified it on main user-interface.\n\n&quot;)&#59;
printf(&quot;  03    You musn't collect money by sending it out if you haven't\n&quot;)&#59;
printf(&quot;      make natural modify,and the un-modified part of \&quot;THIS PART\&quot;\n&quot;)&#59;
printf(&quot;      must be included in the things sent out.\n&quot;)&#59;
printf(&quot;________________________________________\n&quot;)&#59;
printf(&quot;\n&quot;)&#59;
printf(&quotress key<Enter>; to go back.\n&quot;)&#59;
getchar()&#59;getchar()&#59;
system(&quot;clear&quot;)&#59;

    }
else if(L=='C')
{
printf(&quot;\n->;按大写“Y”键,然后按“回车”键删除。\n->;其他键保留。\n&quot;)&#59;
}
else
{
printf(&quot;->ress key<Y>; in big mode,then press key<Enter>; to cofirm.\n->;Other key to keep.\n&quot;)&#59;
}
getchar()&#59;
c3=getchar()&#59;
system(&quot;clear&quot;)&#59;
if(c3=='Y')
{
printf(&quot;Removing...\n&quot;)&#59;

for(i1=0&#59;i1<m&#59;i1++)//着手删除
{
    for(i2=0&#59;i2<+50&#59;i2++)
        udo[i2]=0&#59;
    for(i2=0&#59;i2<10&#59;i2++)
        udo[i2]=remove[i2]&#59;
    for(i3=0&#59;Tick[i1][i3]!='?'&#59;i3++)
        &#59;
    udo[i2]='\&quot;'&#59;
    i2++&#59;i3++&#59;
    for(i2=i2,i3=i3&#59;Tick[i1][i3]!='?'&#59;i2++,i3++)
        udo[i2]=Tick[i1][i3]&#59;
    udo[i2]='\&quot;'&#59;

    system(udo)&#59;

//printf(&quot;%s\n&quot;,udo)&#59;

}

printf(&quot;Removed!\n&quot;)&#59;
//getchar()&#59;
//getchar()&#59;

for(i1=0&#59;i1<m&#59;i1++)//清除
for(i2=0&#59;i2<&#59;i2++)//“剪贴
Tick[i1][i2]=0&#59;    //板”

fre=1&#59;m=0&#59;

}
system(&quot;clear&quot;)&#59;
c3=0&#59;
}
            /////\删除

################################################################################
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP