2016-02-21 2 views
0

Я должен попросить пользователя ввести слова (по одному за раз), пока не будет введено «xxx». Затем я должен построить предложение с этими словами с одним пробелом между каждым словом. Предложение должно быть отображено, как только будет введена завершающая строка («xxx»).Как преобразовать слова в предложение?

В моем коде отображается только «xxx», конечный код.

Примечание: Мы еще не начали использовать массивы.

Это код, который я пытался до сих пор:

unit BuildSentence_U; 

interface 

uses 
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
    Dialogs, StdCtrls, ComCtrls; 

type 
    TForm1 = class(TForm) 
    btnResult: TButton; 
redOut: TRichEdit; 
procedure btnResultClick(Sender: TObject); 
private 
    { Private declarations } 
public 
    { Public declarations } 
end; 

var 
    Form1: TForm1; 

implementation 

{$R *.dfm} 

procedure TForm1.btnResultClick(Sender: TObject); 
Var wrd : string; 
begin 

wrd := inputbox('Word input', ' Enter any word to build a sentence  (press "xxx" to stop)',''); 
redOut.Clear; 

while (wrd <> 'xxx') do 
begin 
    wrd := wrd + ' '; 
    wrd := inputbox('Word input', ' Enter any word to build a sentence (press"xxx" to stop)',''); 
end; 
redOut.Lines.Add(wrd); 
end; 

end. 

ответ

1

Используйте другую строку, чтобы собрать слова вместе:

Var 
    wrd, sentence : string; 
begin 

wrd := inputbox('Word input', ' Enter any word to build a sentence  (press "xxx" to stop)',''); 
redOut.Clear; 

while (wrd <> 'xxx') do 
begin 
    sentence := sentence + wrd + ' '; 
    wrd := inputbox('Word input', ' Enter any word to build a sentence (press"xxx" to stop)',''); 
end; 
redOut.Lines.Add(sentence); 
Смежные вопросы