小编Chu*_*318的帖子

Pascal for repeat循环中的循环

到目前为止你们都非常乐于助人,所以对你们来说还有另一个烦人的问题!

我有一个基本的单词猜谜游戏,用Pascal编写,用于Delphi 7中的控制台,其中猜测(对或错)存储在一个名为"猜测"的固定数组中,现在我需要做的是测试它们是否有效已经猜到了那封信.我有以下代码......

Write ('Guess a letter: ');
Readln (guess);
Guess := UpCase(Guess);
repeat
  for i := 1 to 20 do
  begin
    if guess = guesses[i] then
      begin
        guessed := true;
      end
    else begin
      guessed := false;
    end;
  end;
until (guessed = true) or (i = 20) ;

我的问题是它遵循for循环20次,并且应该结束,因为它是第一个字母并且不在"猜测"数组中,但是不断重复.在它循环for循环20次并且没有发现猜测字母的输入之后,它应该以布尔"猜测"为假退出.

在此先感谢您的帮助!

delphi console pascal

5
推荐指数
2
解决办法
2141
查看次数

GetEnumName TypeInfo问题(pascal/Delphi控制台)

使用Delphi 7处理控制台应用程序,并遇到了问题.我在第26行遇到错误

str := GetEnumName(TypeInfo (words[3].group),

错误显示"[错误] Project1.dpr(26):TYPEINFO标准函数需要一个类型标识符"如果有人可以帮助这个,那将是一个很大的帮助!

干杯!

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  TypInfo;

type
  wordset = Record
    word  : String;
    group : (flavour, colour, place, animal);
  end;
Var
  words : Array [1..50] of wordset;
  str : string;
  groups: string;
Begin
  words[1].word  := 'chocolate';
  words[1].group := flavour;
  words[2].word  := 'vanilla';
  words[2].group := flavour;
  words[3].word  := 'strawberry';
  words[3].group := flavour;

  str := GetEnumName(TypeInfo (words[3].group), integer(group));

  readln;
end.
Run Code Online (Sandbox Code Playgroud)

delphi pascal

3
推荐指数
1
解决办法
2906
查看次数

标签 统计

delphi ×2

pascal ×2

console ×1