2016-04-24 2 views
-1
unit frmDisplaySentence_u; 

interface 

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

type 
    TfrmDispOneChar = class(TForm) 
    edtCode: TEdit; 
    btnDisplay: TButton; 
    lblMsg: TLabel; 
    memOutput: TMemo; 
    procedure btnDisplayClick(Sender: TObject); 
    private 
    { Private declarations } 
    public 
    { Public declarations } 
    end; 

var 
    frmDispOneChar: TfrmDispOneChar; 

implementation 

{$R *.dfm} 

procedure TfrmDispOneChar.btnDisplayClick(Sender: TObject); 
var 
    K, iLength : integer; 
    cOne : char; 
    sCode : string; 
begin 
    sCode := edtCode.Text; 
    iLength := Length(sCode); 
    for K := 1 to iLength do 
     cOne := sCode[K]; 
     memOutput.Lines.Add(cOne); 

end; 

Это мой код, чтобы разделить слова на это отдельные буквы в записке, каждый в отдельной строке.не может разделить слово на отдельные буквы в записке

Мой код возвращает только последнюю букву слова. Я чувствую, что это очень близко, но я не знаю, как двигаться дальше. Любая помощь будет оценена по достоинству.

+3

Использование отладчика может помочь вам разобраться с такой проблемой самостоятельно в следующий раз. –

ответ

3

Delphi не похож на Python, где пробелы значительны и определяют блок. В Delphi вы должны использовать begin и end отметить блок, в этом случае ваш цикл:

procedure TfrmDispOneChar.btnDisplayClick(Sender: TObject); 
var 
    K, iLength : integer; 
    cOne : char; 
    sCode : string; 
begin 
    sCode := edtCode.Text; 
    iLength := Length(sCode); 
    for K := 1 to iLength do begin 
     cOne := sCode[K]; 
     memOutput.Lines.Add(cOne); 
    end; 
end; 
+0

не мог поверить, что это было так просто * facepalm * спасибо, хотя –