最新の更新情報

2012年2月
« 1月    
 1234
567891011
12131415161718
19202122232425
26272829  

本ブログのURL

qrcode.png

雨雲の動き

お天気

 
 
吟遊詩人の戯言 内専用の記事検索...
 
 

Delphiでのgoto文


キーワード(クリックで関連記事が読めます) → , , ,

関連記事



 
 

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

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

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

でもねぇ...

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

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

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

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

こんな感じ

DELPHI:
  1. //**********************************************
  2. //受信バッファの中身を検索してEOT(0x04)があるか,返す
  3. //
  4. //**********************************************
  5. function TSocketIO.IsReceiveDataEnd: Boolean;
  6. var
  7.     i : Integer;
  8.     j : Integer;
  9.     st : string;
  10. label IsReceiveDataEnd_J1;    //<---これがいる
  11. begin
  12.  
  13.     result := false;
  14.  
  15.     for i := 0 to  FReceiveBuf.Count - 1 do
  16.     begin
  17.         st := FReceiveBuf[i];
  18.  
  19.         for j := 1 to Length(st) do
  20.         begin
  21.             if st[j] = char($04) then
  22.             begin
  23.                 result := true;
  24.                 goto IsReceiveDataEnd_J1;
  25.             end;
  26.         end;
  27.     end;
  28.  
  29. IsReceiveDataEnd_J1:
  30.  
  31. end;


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

 
 
 
 

コメントを残す

  

  

  

You can use these HTML tags

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