お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"RE:プログラムを起動するときの引数を生成"

この発言は
#01157 ぜえた さんのRE:プログラムを起動するときの引数を生成
に対するコメントです

この発言に対し以下のコメントが寄せられています
#01159 ぜえた さん RE^2:プログラムを起動するときの引数を生

ぜえたさんどもです。 >> Formatを利用すれば、簡単になるかなぁと思ったのですが、そんなでもなかっ >> たです(^^;  最初考えたんですが、Formatに変な文字渡すと何が起るか分からなかったので、  力技にしてしまいました(^_^;(第一引数は人間が指定することが多いので)  して、ArgListに対象が無いと、例外発生してしまいますね。  (もっとも私のも、置き換えないので変になりますけど)  私の例で、リストに無い場合の対応コーディングです。 function FArgGen(Target:string;argList:TStringList):string; var s,s1:string; i,j,l:integer; TS:TStringList; b:boolean; begin TS:=TStringList.Create; try //Target Cut s:=TarGet; l:=Length(Target); if l<2 then begin Ts.Add(Target); end else while true do begin i:=ansipos('%',s); if i = 0 then begin TS.Add(s); break; end else begin s1 := Copy(s,1,i - 1); TS.Add(s1); s := Copy(s,i,l); s1 := Copy(S,2,1); if s1 = '%' then begin TS.Add('%'); end else begin TS.Add('%'+s1); end; s:=Copy(S,3,l); end; end; //ListChange //IndexOfでやろうとしたけど、大文字小文字を区別しないからやめた //見つからなかったら ブランクにする for j:=0 to ts.count - 1 do begin if (copy(ts.strings[j],1,1)='%')and (length(ts.strings[j]) = 2 ) then begin b:=false; for i:=0 to arglist.count - 1 do begin s:='%'+Copy(arglist.strings[i],1,1); if ts.strings[j] = s then begin s1:=Copy(arglist.strings[i],2,Length(arglist.strings[i])); ts.strings[j] := s1; b:=true; break; end; end; if b=false then ts.strings[j] := ''; end; end; //ResultSet Result := ''; for i:=0 to TS.Count - 1 do begin Result := Result + TS.Strings[i]; end; finally TS.Free; end; end; ー以上ー kench@nifty.ne.jp KENCH/平内健一  Original document by KENCH 氏 ID:(GDH01352)



ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum