1. 程式人生 > >Delphi整理六(資料與記錄)

Delphi整理六(資料與記錄)

陣列與記錄

靜態陣列:

定義的時候就分配儲存單元,確定陣列元素的個數和型別的陣列。
宣告格式:

<型別識別符號>=array[<下標型別> of<基型別>];

1)<型別表示符>是使用者定義的陣列型別的名稱。
2)<下標型別>必須是整數、字元、布林、子界、列舉型別(順序型別)
3)<基型別>就是元素的型別,可以是任何型別,陣列的每個元素型別是一致的。
4)陣列元素的格式就是下標的個數

type
xuehao=1..50;
score=array[xuehao] of integer;
acolor=(red,blue,green);
yanse=array
[acolor] of integer; var s1,s2:score; c1,c2:yanse;

一起定義,更簡潔

var a1,a2:array[1..30] of real;
low():陣列最小下標(1)
high():陣列的最大下標(green)
length()表示陣列元素的個數

二維靜態陣列

type
<陣列型別名>=array[<下標型別1>] of array[<下標型別2>] of <元素型別>;

一般來說,習慣把二維陣列定義為如下形式:

type
<陣列型別名>=array[<下標型別1>,<下標型別2>]
of <元素型別>;

例如,

type
aa=array[1..5,2..8] of integer;
var
a1,a2:aa;

動態陣列

一維動態陣列的定義:

type
<陣列型別名稱>=array of<基型別>

或者直接將型別和變數定義在一起

var
<變數名>:array of<基型別>
setLength(a,20):

宣告陣列a有20個元素,a[0]~a[19]

多維動態陣列

語法格式:

type
<陣列型別名稱>=array of array of<基型別>

var
<變數名>:array of array of <基型別>
setLength(a,4,6);

a有24個元素

字串型別

<字串型別名>=string;
var
<字串變數>:<字串型別名>;

或者

<字串變數>:string;

允許在定義字串的時候宣告字串中字元的個數:

<字串型別名>=string[<長度>];
var
<字串變數名>:<字串型別名>;

或者

var
<字串變數名>:string[<長度>];

例如,

type
xingming=string[10];
var
xml:xingming;
or
xml:string[10];

特別:xml的長度為10,
第一個位置是存放長度的s[0]=#5
ord(s[0])可以得到字串長度。
123頁

記錄型別

記錄型別的定義格式為:

type
<記錄型別名>=record
<欄位1>:<型別1>;
<欄位2>:<型別2>;
...
end;

例,

type
  student=record
  xh:string[2];
  xm:string[8];
  yw:integer;
end;
var
st:array[1..20] of student;
s1,s2:student;

記錄型別的訪問與with語句

with  <變數名>  do;

用法:(接上面的定義例子)

with s1 do
begin
xingming:='張三';
yuwen:=90
end

with語句的巢狀(就近原則)

with s2,s1 do
begin
  ...
end

結果為s1的資訊值

相關推薦

Delphi整理資料記錄

陣列與記錄 靜態陣列: 定義的時候就分配儲存單元,確定陣列元素的個數和型別的陣列。 宣告格式: <型別識別符號>=array[<下標型別> of<基型別>]; 1)<型別表示符>是使用者定義的陣列型別

python資料探勘入門實踐--------轉換器資料處理流水線

y=MinMaxScaler().fit_transform(x)  y與x為同型矩陣,y每列值的值域為0到1 sklearn.preprocessing.Normalizer 每條資料各特徵值的和為1 sklearn.preprocessing.StandardScaler 各特

JAVA學習筆記整理類集框架

public class SetTest { public static void main(String[] args) { // hashSet Set hashSet = new HashSet(); hashSet.add("A"); hashSet.add("A"

Delphi整理function and procedure

過程與函式 過程(procedure) and 函式(function)———-實現面向物件的重要手段 通用過程的定義 Procedure<過程名>[(<形參表>)]; [區域性宣告]; begin <語句序列>;

微信小程式資料請求 表單的建立 提交 接收

好了 開始正題了,本節小小研究了下 微信小程式的表單建立與提交 先看看效果 1. 表單頁面 <view id="adduser">     <form bindsubmit="formSubmit" bindreset="formReset"> &

十進制、十進制、二進制之間的轉換僅作記錄

-- 比較 其中 com 類型 次數 doc 然而 如果 二進制和十六進制的互相轉換比較重要。不過這二者的轉換卻不用計算,每個C,C++程序員都能做到看見二進制數,直接就能轉換為十六進制數,反之亦然。 我們也一樣,只要學完這一小節,就能做到。 首先我們來看一個二進制數:11

Java的位運算符詳解實例——&、非~、或|、異或^僅作記錄

out 位運算符 異或運算 pri stat 運算 data 操作 amp 位運算符主要針對二進制,它包括了:“與”、“非”、“或”、“異或”。從表面上看似乎有點像邏輯運算符,但邏輯運算符是針對兩個關系運算符來進行邏輯運算,而位運算符主要針對兩個二進制數的位進行邏輯運算。下

NLP文字標註工具平臺資料標註公司

最近在做NLP相關專案,包括句法分析、情感分析等,有大量資料需要標註。我評估了幾個文字標註工具,也接觸了幾家資料標註公司和平臺,總結如下,供各位參考。 文字標註平臺(標註外包公司) 資料標註公司的工作比較多樣,文字資料標註是最基礎的,另外語音、圖片、視訊標註也都可以做。目前這個行業良莠不齊,有的平臺技術實

QT學習記錄1訊號

使用,學習QT的背景 剛入職新公司,工作是嵌入式軟體,工作內容包括使用QT進行一些軟體的開發等,以前沒有接觸過QT,特意建立第一篇部落格,用作QT的學習過程記錄 入職後,公司前輩要求使用QT寫一個軟體,接收硬體裝置傳回的資料並顯示,同時軟體可以對裝置的工作方式進行設定,使用TCP通訊協議。

Python資料分析-PandasSeriesDataFrame

Pandas介紹:   pandas是一個強大的Python資料分析的工具包,是基於NumPy構建的。 Pandas的主要功能:   1)具備對其功能的資料結構DataFrame、Series   2)整合時間序列功能   3)提供豐富的數學運算和操作   4)靈活處理缺失資料 pyhton裡面安裝、引

資料結構佇列 java實現

棧的相關定義 package StackDef; import java.util.Arrays; import java.util.EmptyStackException; /** * 通過陣列模擬棧 * @author tian * */ public cla

後端DTO資料傳輸物件DO資料庫資料來源物件解耦的好處

我們在後端的開發中經常會將DO物件傳到Service層直接作為DTO傳給前端,這樣做其實會有很多弊端。 (一)DO物件一般其成員域和資料庫欄位是對應的,所以不能新增額外的欄位,但是有時候端就是需要這個欄位。反之前端要向後端傳一些額外的欄位,DO也沒辦法接受,前端的Form表單不可能和資料庫共

視訊資料標註工具平臺資料標註公司

最近在做相關專案,評估了多個數據標註工具,也接觸了幾家資料標註公司和平臺,總結如下,供各位參考。 視訊資料標註平臺(標註外包公司) 資料標註公司的工作比較多樣,但視訊標註對工具要求稍高一些,能在線上做的平臺不是特別多,主要還是語音、圖片標註。目前這個行業良莠不齊

原 java調整資料順序是奇數位於偶數的前面思路實現

題目描述 輸入一個整數陣列,實現一個函式來調整該陣列中數字的順序,使得所有的奇數位於陣列的前半部分,所有的偶數位於位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。 思路一: 首先這個演算法我剛剛開始想到的辦法是我將這個陣列有多少個奇數求出來,然後我就知道偶數從陣列哪個地方開始放資料,比如

Memcached,Redis,MongoDB資料快取系統方案分析對比

一、問題 每次查詢的資料量極大,需要讓伺服器更加快速地響應使用者的請求。 二、解決方案        1.  通過高速伺服器Cache快取資料庫資料        2. 記憶體資料庫 三、主流Cache和資料庫對比 普通關係資料庫 mysql 記憶體資料庫 redis no

資料探勘之k-最近鄰法KNNKMeans

最近鄰法基於類比學習,它既可以用於聚類,也可以用於分類 K-means是基於最近鄰法的聚類方法。演算法描述如下: 輸入:k, data[n]; (1) 選擇k個初始中心點,例如c[0]=data[0],…c[k-1]=data[k-1]; (2) 對於data[0]….

Memcache,Redis,MongoDB資料快取系統方案對比分析

應該說Memcached和Redis都能很好的滿足解決我們的問題,它們效能都很高,總的來說,可以把Redis理解為是對Memcached的拓展,是更加重量級的實現,提供了更多更強大的功能。具體來說: 1.效能上:      效能上都很出色,具體到細節,由於Redis只使用單核,而Memcached可以使

java調整資料順序是奇數位於偶數的前面思路實現

輸入一個整數陣列,實現一個函式來調整該陣列中數字的順序,使得所有的奇數位於陣列的前半部分,所有的偶數位於位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。思路一:首先這個演算法我剛剛開始想到的辦法是我將這個陣列有多少個奇數求出來,然後我就知道偶數從陣列哪個地方開始放資料,比如int[] ar

二級指標做輸入的三種記憶體模型學習筆記記錄

一:二級指標做輸入的第一種記憶體模型#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> //void prin

DataTables伺服器端傳入傳出接收提交資料格式 搜尋、排序和分頁後臺資料的互動

在dataTables伺服器端處理模式下,想要用好dataTables 必須先去了解它與後臺傳遞資料的格式,這樣才能做好資料在後臺的處理,完成dataTables的一系列篩選、排序和分頁功能。 1. dataTables的提交資料 dataTables向