⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pointerii.pb

📁 利用春节七天在家里写的PureBasic示例代码.基本按照C教程的章节编排.适合入门学习使用.还请大家多多提出宝贵意见 Email:haihong5995037@163.com QQ:254082
💻 PB
字号:
;//////////////////////////////////
; Amlinger
;                   by 2008 02 11
;描述:指针 结构使用
;目标:指针在结构中的功能
;//////////////////////////////////
;下面的代码摘抄 大家有兴趣看看吧
;因为上一节已经讲了 指针的用法
;下面我也不知道要怎么讲好
;理解了 指针变量与变量名的区别后再往下看.
;应该是很容易的
;Global       定义一个全局变量
;功能:在程序代码中,任意子过程或者函数更改此变量,在本程序中将发生全局变量
;例如:
; Global VarChange

; Procedure Hi()
;  VarChange=1000
;  Debug VarChange
;EndProcedure
;
;Start:
;     Hi()
;     VarChange=VarChange+1000
;     Debug VarChange
;

;Shared       定义一个共享变量
;在一个函数中使用这个关键字,可以改变变量的属性,设置为全局访问
;例如:
VarChange1.l
Procedure Hi()
;在函数中想让这个变量变成全局访问的就可以用这个
Shared VarChange1
 Debug VarChange1
 VarChange1=1000
EndProcedure
; 
Start:
;VarChange1此时值为 500
    VarChange1=VarChange1+500
    Hi()
;如不在函数中使用Shared 关键字改变VarChange 属性 此时VarChange的值应为500
;因为在Hi()函数中使用了Shared关键字,所以这里的结果Hi()函数中重设的值 所以此时值为1000 
    VarChange1=VarChange1+100
    Debug VarChange1

;Protected    定义一个保护变量
;将一个全局属性的变量,改变成只在一个局部有效的关键字
;例如:
Global VarChange2
Procedure Hai()
;如果这个函数中也有同名的变量而此变量又不能在全局引起变量就用下面这种方法
Protected VarChange2
 VarChange2=1000
 Debug VarChange2
EndProcedure

Start2:
VarChange2=10
Debug VarChange2
;如果不在Hai()函数中使用 Protected 关键字 VarChange2将在 Hai()函数中引起全局范围内变化
Hai()
;此时示发生变化
Debug VarChange2

;1. 定义结构
Structure TestStruktur
  Wert1.l
  Wert2.l
EndStructure
;2. 定义结构变量
Variable.TestStruktur
;3. 初始化结构变量元素值
Variable\Wert1 = 5

;4. 指向结构变量Variable
*Pointer.TestStruktur=@Variable
;5. 访问Variable 元素2 并赋值
*Pointer\Wert2 = 4
;6. 输出 Variable 元素值
 Debug *Pointer\Wert1
 Debug *Pointer\Wert2
 
;7. 保存*Pointer 内存地址
 PointerWert.l = *Pointer
;8. 输出各个变量的内存地址指向 
Debug *Pointer
Debug PointerWert
Debug @Variable
; 
;;对多个参数利用结构传递的方法 多用于回调函数中
;例如: 只有一个地址参数的函数,如何同时传递多个参数
;
;
Structure P
  P1.s
  P2.s
  P3.s
  P4.d
EndStructure

Procedure MpProc(handle)
;描述:传递多个参数
;参数表:
;handle 地址句柄 
;Ex: MpProc($12345678)
  *Pointer.P=handle
  Debug *Pointer\P1
  Debug *Pointer\P2
  Debug *Pointer\P3
  Debug *Pointer\P4
EndProcedure

Var.P
Var\P1="参数1"
Var\P2="参数2"
Var\P3="参数3"
Var\P4=$00FF00FF
MpProc(@Var)








; IDE Options = PureBasic 4.10 (Windows - x86)
; CursorPosition = 67
; FirstLine = 46
; Folding = -

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -