このブログ「吟遊詩人の戯言」 の記事検索...

Delphiでのgoto文

関連記事

構造化プログラミングでは,基本,禁じ手のgoto文

最近は見ることも極端に減って

昔は,オイラも,まったく使わなかったんですわ>C言語

でもねぇ...

多重ループの完全ループアウトのとき
if文やら使って構造を作るより,条件成り立ったら,gotoで飛ばしてしまえ!な派に改宗したり(爆

いや,ループ構造が汚くなって
かえって不具合呼ぶことが多くなったもんでなぁ...

して,Delphiでのgoto文
ちょいと特殊で

gotoのジャンプ先を,LABEL命令であらかじめ定義しないといけなかったり

こんな感じ


//**********************************************
//受信バッファの中身を検索してEOT(0x04)があるか,返す
//
//**********************************************
function TSocketIO.IsReceiveDataEnd: Boolean;
var
i : Integer;
j : Integer;
st : string;
label IsReceiveDataEnd_J1; //<---これがいる
begin

result := false;

for i := 0 to FReceiveBuf.Count - 1 do
begin
st := FReceiveBuf[i];

for j := 1 to Length(st) do
begin
if st[j] = char($04) then
begin
result := true;
goto IsReceiveDataEnd_J1;
end;
end;
end;

IsReceiveDataEnd_J1:

end;
[/delphi]

まぁ,goto文,多用すると,スパゲッティプログラム(死語)の元なんで
エッセンス程度に使用するのがよろしいか,と

 
 
 
 

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt="">