zoukankan      html  css  js  c++  java
  • Shell-02-if

    2.Shell-02-if

    1.介绍if

    • 1.什么是if
      • 判断,if是模仿人类的判断来进行的,true、false两种结果。

    2.if基础语法

    • 单条件

    • # 伪代码
      if [ 如果你有房 ];then
      		那么我就嫁给你
      fi
      
      if [ $1 -eq $2 ];then		#如果$1等于$2 那么输出ok
      	echo "ok"
      fi
      
    • 双条件

    • #伪代码
      
      if [ 如果你有房 ];then
      		那么就嫁			#true 真	条件成立
      else
      		再见				#false 假 条件不成立
      fi
      
      if [ $1 -eq $2 ];then		
      		echo "ok"				#如果$1等于$2 那么输出ok
      else
      		echo "Error"		#如果$1不等于$2 那么输出error
      fi
      
    • 多条件

    • #伪代码
      if [ 如果你有房 ];then
      		就嫁
      elif [ 如果你有车 ];then
      		就嫁
      elif [ 如果有钱 ];then
      		就嫁
      else
      		GG
      fi
      
    • 1.单分支,判断当前用户是不是root执行,如果不是那么返回“ERROR”

    • [root@web01 shell-if]# cat if-03.sh
      #!/bin/bash
      ##############################################################
      # File Name: if-03.sh
      # Author: xiaolai
      ##############################################################
      
      if [ $USER != "root" ];then
          echo "ERROR!"
          exit
      fi
      
    • 2.双分支,判断当前登录用户是管理员还是普通用户,如果是管理员输出”hey admin“ 如果是普通用户输出”hey guest“

    • [root@web01 shell-if]# cat if-04.sh
      #!/bin/bash
      ##############################################################
      # File Name: if-04.sh
      # Author: xiaolai
      ##############################################################
      
      if [ $USER == "root" ];then
          echo "hey admin"
      else
          echo "hey guest"
      fi
      
    • 3.多分支,根据输入一个用户名称,判断输入的用户是否存在当前系统,如不存在则再次判断用户是否在/home下拥有家目录,如果都没有则提示不存在。

    • 1.read 提示用户交互,然后输入一个用户名称,这个输入的用户名称需要存储到一个变量中。
      2.grep 过滤/etc/passwd 中是否存在这个用户
      3.判断/home下是否有该用户的家目录
      4.else,提示用户不存在。
      
      [root@web01 shell-if]# cat if-05.sh
      #!/bin/bash
      ##############################################################
      # File Name: if-05.sh
      # Author: xiaolai
      ##############################################################
      
      read -p "请输入你要查询的用户: " users
      
      if grep "$users" /etc/passwd &>/dev/null;then
          echo "$users 存在系统中"
      
      elif ls -d /home/$users &>/dev/null; then
          echo "$users 用户不存在该系统,但用户家目录存在"
      
      else
          echo "$users 不存在该系统中,也不存在家目录"
      fi
      
    • 4.通过脚本传入两个参数,进行整数关系比较。比如: if.sh [ 1 2 | 2 2 | 2 3 ],请使用双分支和多分支两种方式实现。

    • [root@web01 shell-if]# cat if-06.sh
      #!/bin/bash
      ##############################################################
      # File Name: if-06.sh
      # Author: xiaolai
      ##############################################################
      
      if [ $1 -eq $2 ];then           #判断$1与$2是否相等
          echo "$1 = $2"
      else
          if [ $1 -gt $2 ];then       #判断$1 是否大于 $2
                  echo "$1 > $2"
              else                    # $1 小于 $2
                  echo "$1 < $2"
          fi
      fi
      
      
      
      # 多分支
      [root@web01 shell-if]# cat if-07.sh
      #!/bin/bash
      ##############################################################
      # File Name: if-06.sh
      # Author: xiaolai
      ##############################################################
      
      if [ $1 -eq $2 ];then       #判断$1与$2是否相等
          echo "$1 = $2"
      elif [ $1 -gt $2 ];then     #判断$1 是否大于 $2
          echo "$1 > $2"
      else                        #$1 小于 $2
           echo "$1 < $2"
      fi
      

    3.基于文件进行判断

    • 1.备份文件至/backup/system/filename-2020-06-04,如果该目录不存在则自动创建。

    • 1.需要用户交互的输入需要备份的文件
      2.判断目录是否存在。如果不存在则创建
      3.执行cp命令完成备份操作。
      [root@oldboy ~]# cat if-8.sh 
      #!/bin/bash
      
      Dest=/backup/system
      Date=$(date +%F)
      
      read -p "请输入你要备份的文件:" src_file
      
      #判断目录是否存在,如果目录不存在则创建该目录
      if [ ! -d $Dest ]
      then 
          mkdir -p $Dest
      fi
      
      #执行备份操作
      
      cp -rp ${src_file} $Dest/filename_${Date}
      
      
    • 2.继需求1,判断备份的文件是否存在,如果不存在则提示”No such file or directory“,然后退出。

    • [root@web01 shell-if]# cat if-08.sh
      #!/bin/bash
      Dest=/backup/system
      Date=$(date +%F)
      
      read -p "请输入你要备份的文件: " Src_File
      
      #判断用户输入的文件是否存在
      if [ ! -f ${Src_File} ];then
          echo "${Src_File} No such file or directory"
          exit
      fi
      
      #判断目录是否存在,如果目录不存在则创建该目录
      if [ ! -d $Dest ];then
          mkdir -p $Dest
      fi
      
      # 执行备份操作
      cp -rp ${Src_File} $Dest/filename_${Date}
      
    • 3.继需求1、2,判断备份的文件是否为空,如果为空则提示"This is file empty",然后退出。

    • [root@web01 shell-if]# cat if-08.sh
      #!/bin/bash
      Dest=/backup/system
      Date=$(date +%F)
      
      read -p "请输入你要备份的文件: " Src_File
      
      #判断用户输入的文件是否存在
      if [ ! -f ${Src_File} ];then
          echo "${Src_File} No such file or directory"
          exit
      fi
      
      #判断用户备份的文件是否为空
      if [ ! -s ${Src_File} ];then
          echo "${Src_File} This is file empty"
          exit
      fi
      
      #判断目录是否存在,如果目录不存在则创建该目录
      if [ ! -d $Dest ];then
          mkdir -p $Dest
      fi
      
      # 执行备份操作
      cp -rp ${Src_File} $Dest/filename_${Date}
      

    4.基于整数判断

    1.用户执行脚本,sh status.sh nginx,则检查nginx服务的运行状态。(仅支持传递一个参数)

    1.控制用户仅能传递一个参数  $#
    2.检查服务的运行状态,systemctl status nginx
    
    
    [root@web01 shell-if]# cat if-09.sh
    #!/bin/bash
    if [ $# -eq 1 ];then
        #检查服务的状态
        systemctl status $1 &>/dev/null
        #判断服务运行的结果
        if [ $? -eq 0 ];then
            echo "$1 服务正在运行"
        else
            echo "$1 服务没有运行"
        fi
    else
        echo "USAGE: sh $0 service_name"
        exit
    fi
    

    2.查看磁盘/当前使用状态,如果使用率超过30%则报警发邮件

    1.如何查看 /分区的磁盘使用状态
    2.提取 /分区使用状态百分比
    3.将已使用的百分比与我们设定的阈值30%进行比对
    	超过百分之30则发邮件报警 ( 写到一个文件中 用户:时间:磁盘的状态情况 )
    	没有超过百分之30则不处理
    
    [root@web01 shell-if]# cat if-10.sh
    #!/bin/bash
    #1.提取磁盘使用的百分比
    Disk_Use=$(df -h  | grep '/$' |awk '{print $5}')
    Date=$(date +%F-%T)
    
    #2.判断磁盘使用百分比是否超过30,如果超过,则写入一个文件中。
    if [ ${Disk_Use%\%} -ge 30 ];then
            echo "${USER}:${Date}: Disk Is Use ${Disk_Use}" >> /tmp/disk_use.txt
    fi
    

    5.基于字符进行判断

        [root@web01 shell-if]# cat if-11.sh
        #!/bin/bash
       read -p "请输入一个字符: " action
      
        if [ -z $action ];then
            echo "请不要直接回车..."
            exit
        fi
        
        echo "你输入的是: $action"
    

    额外补充一个:多条件比对

    if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
            umask 002
        else
            umask 022
        fi
        
        if [ $UID -gt 199 -a "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
            umask 002			#真  (必须两个条件都为真)
        else
            umask 022			#假	(只要有一个条件不为真)
        fi
        
        真真为真
        真假为假
    
    **提示学生输入自己的成绩。
    1.如果分数大于0小于59提示补考。
    2.如果分数大于60小于70提示良好。
    3.如果分数大于71小于85提示好。
    4.如果分数大于86小于100提示优秀。*
    
    [root@web01 shell-if]# cat if-12.sh
    #!/bin/bash
    read -p "请输入你的成绩: " Cj
    
    if [ -z $Cj ];then
        echo "请输入正确的成绩分数.."
        exit
    fi
    
    if [ $Cj -ge 0 ] && [ $Cj -le 59 ];then
        echo "你需要补考"
    elif [ $Cj -ge 60 ] && [ $Cj -le 70 ];then
        echo "成绩良好"
    elif [ $Cj -ge 71 ] && [ $Cj -le 85 ];then
        echo "成绩挺好"
    elif [ $Cj -ge 86 ] && [ $Cj -le 100 ];then
        echo "成绩优秀"
    else
        echo "成绩的分数范围是0-100"
        exit
    fi
    
    #注意,该脚本存在一个缺陷:如果输入非数字,则会出现语法错误。 (问题:怎么才能让别人输入的必须是数字呢?)
    
      #控制用户输入的是纯数字
      
      if [[ ! $Cj =~ ^[0-9]+$ ]];then
          echo "请输入纯数字,,"
          exit
      fi
    

    编写一个创建用户的脚本。 (oldxu10)
    1.提示用户输入要创建用户的前缀,必须是英文。 oldxu
    2.提示用户输入后缀,必须是数字。 10
    3.如果前缀和后缀都没有问题,则进行用户创建。【如果该用户已经创建,需要提示已创建,没有创建才进行创建操作。】

    1.交互:read
    2.判断用户输入的前缀是否是全英文
    3.判断用户输入的后缀是否是全数字
    4.判断  前缀+后缀  是否存在系统中
    	存在: 提示该用户已存在系统中
    	否则: 创建该用户
    	
    
    [root@web01 shell-if]# cat if-13.sh
    #!/bin/bash
    
    read -p "请输入你要在该系统中创建的用户前缀[英文] " qz
    if [[ ! $qz =~ ^[a-Z]+$ ]];then
        echo ""
        echo "------------------------------"
        echo "用户的前缀需要输入纯英文...."
        exit
    fi
    
    read -p "请输入你要在该系统中创建的用户后缀[数字] " hz
    if [[ ! $hz =~ ^[0-9]+$ ]];then
        echo ""
        echo "------------------------------"
        echo "用户的后缀需要输入纯数字..."
        exit
    fi
    
    users=${qz}${hz}
    
    id $users &>/dev/null		#0表示用户存在系统   1表示用户不存在系统
    if [ $? -ne 0 ];then
        useradd $users
        echo "$users 创建成功"
    else
        echo "$users 已经存在"
    fi
    

    6.shell-if练习题

    需求1:判断一个机器是否存活,能ping通就算存活。
    	1.是传递一个IP去 探测
    			1.read 交互传递
    			2.直接脚本后面跟上IP地址  ( 传参 )
    	
    [root@web01 shell-if]# cat  if-14.sh
    #!/bin/bash
    if [ $# -ne 1 ];then
        echo "请传递一个IP地址"
        exit
    fi
    
    ping -c2 $1 &>/dev/null
    if [ $? -eq 0 ];then
        echo -e "33[32m $1 地址通 33[0m"
    else
        echo -e "33[31m $1 地址不通  33[0m"
    fi
    	
    	
    	2.准备一个ip.txt文件  ( 很多的IP地址 )  ( "了解" --后面讲解的内容  for )
    
    [root@web01 shell-if]# cat if-15.sh
    #!/bin/bash
    
    for ip in $(cat ip.txt)												#每次获取一行内容复制给ip变量
    do
        ping -c2 $ip &>/dev/null
        if [ $? -eq 0 ];then
            echo -e "33[32m $ip 地址通 33[0m"
        else
            echo -e "33[31m $ip 地址不通  33[0m"
        fi
    done
    
    
    需求2:监控内存小于500M和磁盘容量小于10G,则发邮件报警
    	1.提取内存还剩多少可用					free -m | awk '/^Mem/ {print $NF}'
    	2.提取磁盘/ 容量,还剩多少可用		df -h | awk '//$/ {print $4}'
    	3.if 并且关系    
    	
    [root@web01 shell-if]# cat if-16.sh
    #!/bin/bash
    
    
    Free=$(free -m | awk '/^Mem/ {print $NF}')
    Disk=$(df -h | awk '//$/ {print $4}')
    
    if [ $Free -lt 500 -a ${Disk%G} -lt 10 ];then			#内存低于500M并且磁盘/分区可用不足10G 
            echo "报警"
        else
            echo "当前状态良好"
            echo "内存可用大小为: ${Free}M 磁盘可用空间是: ${Disk}"
    fi
    	
    需求3:检测本机当前用户是否为管理员,如果是则使用 yum 安装 vsftpd 如果不是,则提示您非管理员。
    
    	1.如何判断自己是不是管理员root
    			$USER  = root
    			$UID   = 0
    			
    [root@web01 shell-if]# cat if-17.sh
    #!/bin/bash
    
    
    #if [ $USER == "root" ];then         #这种方式不够严谨(因为不是每台 机器的root都是超级管理员)
    if [ $UID -eq 0 ];then             #这种方式较为严谨(UID为0一定是超级管理员)
        yum install vsftpd -y
        if  [ $? -eq 0 ];then
            echo -e "33[32m vsftpd服务已经安装完毕 33[0m"
        else
            echo "vsftpd服务在安装过程中出现意外"
        fi
    else
        echo "你不是管理员用户,没有权限执行"
    fi
    
    
    需求4:根据相同的系统不同版本,配置不同的yum源
    	centos
    		6			6系统配置6的源
    		7			7系统配置7的源
    	保证脚本的通用,在6或7系统执行时,不需要修改脚本。
    
    	1.首先判断当前系统是什么版本。
    	2.根据不同的版本配置不同源即可。
    
    [root@web01 shell-if]# cat if-18.sh
    #!/bin/bash
    
    
    system_status=$(cat /etc/redhat-release | awk '{print $(NF-1)}')
    if [ ${system_status%%.*} -eq 7 ];then
        echo "执行安装centos7的源"
    
    elif [ ${system_status%%.*} -eq 6 ];then
        echo "执行安装centos6的源"
    else
        echo "没有识别出操作系统版本"
        exit
    fi
    	
    		
    需求5:安装不同版本的PHP,使用echo输出即可,不用真的安装。
    	1.你得给我提供几个可以安装的版本把?
    	2.还需要交互输入我的选择:
    	3.程序根据用户的选择来进行判断,进而安装不同的php版本。
    	
    [root@web01 shell-if]# cat if-19.sh
    #!/bin/bash
    
    
    cat <<EOF
    ##############################
    1) Install PHP 5.1
    2) Install PHP 5.5
    3) Install PHP 7.1
    4) Install PHP 7.2
    ##############################
    EOF
    read -p "请输入你需要安装的php版本 [ 1 | 2 | 3 | 4 ]: " number
    
    if [[ ! $number =~ ^[0-9]+$ ]];then
        echo "请填写对应的序号,不要随意填写"
        exit
    fi
    
    if [ $number -eq 1 ];then
        sleep 3
        echo -e "33[32m Install php5.1 Is Done...... 33[0m"
    elif [ $number -eq 2 ];then
        echo "Install php5.5 Is Done......"
    elif [ $number -eq 3 ];then
        echo "Install php7.1 Is Done......"
    elif [ $number -eq 4 ];then
        echo "Install php7.2 Is Done......"
    fi
    
    需求6:
    1.如果姑娘小于18岁,打印“未成年” 
    2.如果姑娘大于18岁小于25岁,打印“表白”
    3.如果姑娘大于25岁小于45岁,打印“阿姨好”。
    4.如果姑娘大于45岁,打印“奶奶好”
    
    需求7:写一个脚本,提示用户输入身高,如果身高达到180以上全票,120以下免票,其余不能进。
    	1.需要交互
    	2.判断超过180则提示全票
    	3.判断低于120 则免票
    	4.其余全部 提示拒绝。
    
    [root@web01 shell-if]# cat if-20.sh
    #!/bin/bash
    
    
    read -p "请输入你的身高: " Action
    if [[ ! $Action =~ ^[0-9]+$ ]];then
        echo "请输入纯整数"
        exit
    fi
    
    ##############################
    if [ $Action -ge 180 ];then					#大于180
        echo "你需要购买全票"
    else
        if [ $Action -lt 120 ];then			#低于120
            echo "你可以免票通过"
        else
            echo "不好意思,你不能进"			#既不大于180 也不低于120 
            exit
        fi
    fi
    
    需求8:使用root用户清空/var/log/messages日志,并每次执行保留最近100行
    	1.必须是root
    	2.备份一下文件 message 最后100行 message.bak
    	3.将message.bak > message
    	4.删除message.bak
    	
    	
    	[root@web01 shell-if]# cat  if-21.sh
    #!/bin/bash
    
    
    Log_Path=/var/log/messages
    #必须是超级管理员
    if [ $UID -ne 0 ];then
        echo "Permission Denied..."
        exit
    fi
    
    if [ -f $Log_Path ];then
        #提取文件的最后100行
        tail -100 $Log_Path > ${Log_Path}.bak
    
        #清空message文件,并重定向之前最后100行内容
        cat ${Log_Path}.bak > $Log_Path
    
        #删除.bak文件
        rm  -f  ${Log_Path}.bak
        echo "Clean Log Done......."
    
    else
        echo "$Log_Path No such file or directory"
        exit
    fi
    	
    
    需求9:判断nginx服务是否正常启动,可以通过systemctl、ps、netstat、curl多种方式。
    	systemctl
    	1.systemctl status nginx
    	2.查看状态返回结果   3 表示没启动   0 表示启动
    
    [root@web01 shell-if]# cat if-22.sh
    #!/bin/bash
    
    
    systemctl status nginx &>/dev/null
    
    if  [ $?  -eq 0 ];then
        echo "Nginx 正在运行中...."
    else
        systemctl restart nginx &>/dev/null
        if [ $? -eq 0 ];then
            echo "nginx重启启动成功..."
        else
            echo "nginx重启启动失败..."
        fi
    fi
    
    
    需求10:写一个Nginx安装脚本,加入判断,当上一步执行成功在执行下一步,否则退出脚本
    1.检查网络
    2.检查 yum源  (省略)
    3.yum安装软件
    ...........
    4.启动nginx
    
    [root@web01 shell-if]# cat if-23.sh
    #!/bin/bash
    
    
    #1.测试网络
    ping -c2 www.baidu.com &>/dev/null
    if [ $? -ne 0 ];then
        echo "网络故障..."
        exit
    fi
    
    #2.执行yum操作
    rpm -q nginx &>/dev/null
    rc=$?
    
    if [ $rc -eq 0 ];then
            echo "nginx已经存在系统"
        else
            yum install nginx -y
    fi
    
    
    
    需求11:在每月第一天备份并压缩/etc目录的所有内容,存放到/opt/bak目录,存放的形式2019_04_10_etc.tar.gz,脚本名称为fileback,存放在/root的家目录下。
    	1.定时任务  (每月第一天)
    	2.备份的源 /etc/ 需要打包压缩命名为2019_04_10_etc.tar.gz
    	3.存储的 路径  /opt/bak
    
    [root@web01 shell-if]# cat if-24.sh
    #!/bin/bash
    
    
    Src=/etc
    Dest=/opt/bak
    Date=$(date +%F)
    
    #1.确定存储的目录存在
    if [ ! -d $Dest ];then
        mkdir -p $Dest
    fi
    
    #2.打包/etc直接存储至  $Dest目录中
    cd /  && 
    tar czf $Dest/${Date}_etc.tar.gz etc/
    
    #3.检查一下
    if [ ! -f $Dest/${Date}_etc.tar.gz ];then
        echo "备份失败......."
    fi
    
    
    需求12:输入三个数并进行升序排序
    	1.控制传递的参数是3个
    	2.对传递的参数进行升降排序
    	
    [root@web01 shell-if]# cat if-25.sh
    #!/bin/bash
    
    if [ $# -ne 3 ];then
        echo "必须传递三个参数"
        exit
    fi
    
    echo "$1 $2 $3" | xargs -n1 | sort -n	
    	
    
    需求13:提示用户输入年份后判断该年是否为闰年 能整除4, 并且不能被100整除则为 闰年
    
    	1.提示用户输入年份,read交互操作:  ( 闰年、平年 )
    	2.闰年计算公式:
    				1.公式1: 年份 / 4 = 整数 并且 年份 / 100 = 余数
    				2.公式2: 年份 /400 =整除就是闰年
    				
    [root@web01 shell-if]# cat if-26.sh
    #!/bin/bash
    
    read -p "请输入你想查询的年份: " Action
    
    if [ $(($Action%4)) -eq 0  -a $(($Action%100)) -ne 0 ] || [ $(($Action%400)) -eq 0 ];then
        echo "$Action 是闰年"
    else
        echo "$Action 是平年"
    fi
    
    需求14:根据用户输入密码位数,生成随机密码(包含数字、大小写字母、特殊符号)
      1.怎么生成随机数 mkpasswd -l 8
      2.控制输入的长度,最少8位
      
    [root@web01 shell-if]# cat if-27.sh
    #!/bin/bash
    
    read -p "请输入你要生成的随机密码位数: " Action
    
    #让用户必须输入数字
    if [[ ! $Action =~ ^[0-9]+$ ]];then
        echo "请输入整数,,,,"
        exit
    fi
    
    #判断用户需要生成的字符长度必须高于7
    if [ $Action -ge 7 ];then
        pw=$(mkpasswd -l $Action)
        echo "你生成的随机密码是 $Action 位,密码如下: $pw"
    else
        echo "随机的密码的复杂度必须满足7位以上"
        exit
    fi
    

    备份mysql,手动输入你需要备份的库名称,以备份wordpress为例: mysqldump -uroot -poldxu.com -B wordpress > /opt/word.sql

    1.给用户看一下目前有哪些数据库

    2.提示用户输入 他需要备份 的 数据库名称

    3.判断保存的目录是否存在

    3.执行备份命令

    [root@db01 ~]# cat backup_mysql.sh
    #!/usr/bin/bash
    
    Path=/backup/mysql
    Date=$(date +%F)
    
    #判断备份的目录是否存在,如果不存在则执行创建操作 ( || 前者命令执行成功,后者命令不执行。前者命令执行不成功,后者命令执行。)
    [ -d $Path ] || mkdir -p $Path
    
    mysql -uroot -poldxu.com -e "show databases;"			#非交互式展示所有的库
    read -p "请输入你要备份的库名称: " dbname
    
    # 如果 dbname变量 为空则执行else下面的内容,如果  dbname 不为空这执行then下面的语句。
    if [ ! -z $dbname ];then
    	mysqldump -uroot -poldxu.com -B $dbname > $Path/${dbname}-${Date}.sql
    else
    	echo "请输入正确的库名称..."
    	exit
    fi
    

    增加判断:如果用户填写的库名称不存在,则不让其进行备份操作。

    [root@db01 ~]# cat backup_mysql.sh
    #!/usr/bin/bash
    
    Path=/backup/mysql
    Date=$(date +%F)
    [ -d $Path ] || mkdir -p $Path
    
    mysql -uroot -poldxu.com -e "show databases;"
    read -p "请输入你要备份的库名称: " dbname
    
    if [ ! -z $dbname ];then
    	database_name=$(mysql -uroot -poldxu.com -e "show databases;" | grep -w "$dbname" | wc -l)
    	if [ $database_name -eq 1 ];then
    		mysqldump -uroot -poldxu.com -B $dbname > $Path/${dbname}-${Date}.sql
    	else
    		echo "你输入 $dbname 库名称不对,请重新选择并输入"
    		exit
    	fi
    
    else
    	echo "请输入正确的库名称..."
    	exit
    fi
    
  • 相关阅读:
    程序中的对话框应用(2)- ”另存为“对话框
    程序中的对话框应用(1)- ”打开“对话框
    Delphi常见报错
    用户界面设计(7)- 窗体上的状态栏应用(StatusBar)
    用户界面设计(6)- 窗体上的工具栏应用(ToolBar)
    用户界面设计(5)- 窗体上菜单的应用
    用户界面设计(4)- 窗体的控制
    用户界面设计(3)- 窗体的主要方法
    Delphi的类和对象(十二)- (TObject、TPersistent、TComponent、TControl、TWinControl、TCustomControl、TGraphicControl、TInterfacedObject)简单介绍
    安装 Visual Stuidio 2010 失败
  • 原文地址:https://www.cnblogs.com/lailaoban/p/14789316.html
Copyright © 2011-2022 走看看