我的字符串数组的Pascal InsertionSort无法正常工作

时间:2019-05-29 20:28:48

标签: pascalscript helpndoc

我已经看到了几个有关Pascal插入排序的问题。所以我想我可以用数组字符串来尝试一下。

文本值:

Advanced IF Syntax 
Advanced LOOP Syntax 
ALIGN 
BANNER / NOBANNER 
BLANK 
COLOR / COLOUR 
CONG_MEET_TIME 
DATE 
ENDPAGE 
EOL 
FIELD 
FONT 
HIGHLIGHT / NOHIGHLIGHT 
IF 
IMAGE 
INCLUDE 
LINESPACING 
LOOKUP_FIELD 
LOOP 
LOOP AS 
LOOP SQL 
PARAGRAPH / TEXT 
REQUIRES 
Script Command Syntax 
SEPARATOR 
TAB 
TAB SET 
TALK_THEME 

代码如下:

Procedure InsertionSort(aTopics : Array of String; size : Integer);
Var
    i, j : Integer;
    caption, topic_id : String;

Begin
    For i := 2 to size-1 do
    Begin
        topic_id := aTopics[i];
        caption := HndTopics.GetTopicCaption(aTopics[i]);

        j := i;
        While ((j > 1) AND (CompareText(HndTopics.GetTopicCaption(aTopics[j-1]), caption) > 0)) do
        Begin
            aTopics[j] := aTopics[j-1];
            j := j - 1;
        End;
        aTopics[j] := topic_id;
    End;
End;

除一个例外,它似乎工作99%正确。转到help documentation,然后点击索引标签。单击自定义脚本命令语法项,然后将显示一个弹出窗口:

Popup Window

为什么第一个项目 TALK_THEME ?那应该在列表的末尾,而不是开始。

0 个答案:

没有答案
相关问题