関連記事
- なんと!今週の土曜日も仕事してますた.来週の土曜日も仕事臭い.TCPソケット通信をゴリゴリ書いてる 【2025年08月30日(土)】
- 【ChatGPT o4】祝日なのに仕事ーバテすぎー今夜こそ絶命だーモルモルモル 【2025年03月20日(木)】
- 【#ChatGPT】ChatGPTのヤロー(怒 SJIS変換サンプルコード,嘘コード吐いてやがった.原因対応に2時間も悩んだぞー 【2025年02月22日(土)】
- 【#CSharp】制御系が動き出したべ 【2025年02月20日(木)】
- 【#CSharp】ひっさしぶりにガッツリなC#案件をやっているぞー 【2025年02月19日(水)】
構造化プログラミングでは,基本,禁じ手の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文,多用すると,スパゲッティプログラム(死語)の元なんで
エッセンス程度に使用するのがよろしいか,と
コメント
【大地震】カムチャツカ半島沖合で地震 マグニチュード7.5と推定(25/9/13)
台風一過なのに今日も猛暑予想.秋が来ないぞい
【霧島山】新燃岳が噴火 噴煙高度火口上5500m(25/8/28)
日産「GT-R」生産終了 スポーツカーの開発環境 厳しさ増す
火球か?隕石か?「夜なのに明るく」「カメラが真っ白になるほどの光」九州や西日本各地で目撃あいつぐ 空気の振動も観測
ひょっとして,大規模にやらかしてました?ぎんゆぅ~さん,落ちてた模様(爆