関連記事
 【memory leak】メモリーリーク発生...ドロドロドロ 【2025年10月27日(月)】 【memory leak】メモリーリーク発生...ドロドロドロ 【2025年10月27日(月)】
- う~~忙しい!あ~~忙しい!! 【2025年09月24日(水)】
- なんと!今週の土曜日も仕事してますた.来週の土曜日も仕事臭い.TCPソケット通信をゴリゴリ書いてる 【2025年08月30日(土)】
- 【ChatGPT o4】祝日なのに仕事ーバテすぎー今夜こそ絶命だーモルモルモル 【2025年03月20日(木)】
- 【#ChatGPT】ChatGPTのヤロー(怒 SJIS変換サンプルコード,嘘コード吐いてやがった.原因対応に2時間も悩んだぞー 【2025年02月22日(土)】
構造化プログラミングでは,基本,禁じ手の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文,多用すると,スパゲッティプログラム(死語)の元なんで
エッセンス程度に使用するのがよろしいか,と


 
 
コメント
【#HTVX】新型宇宙輸送船HTV-X 油井さんがロボットアームでキャッチ
【冬】来週11℃予想とか出てきてる.秋があったのか,今年(25/10/23)
【ツル】出水平野に冬の訪れを告げるツル第一陣・今季初飛来 鹿児島(25/10/21)
都城でプロ野球・ロッテ1軍が春季キャンプ実施へ
山形で開催の映画祭 監督など国内外の参加者が“芋煮”味わう
連休なんで生駒高原でコスモスを愛でてきた
連休の中日ですの.天気は良くなる方向じゃげ
【大リーグ】大谷翔平 先頭打者HR ワイルドカードシリーズ
10月に入りましたなぁ.今年もあと90日ちょっと,早い!