酒と薔薇の日々(その2)

好きなことだけ求めて生きるアスペ気味のINTJ人

米国 UFO調査に25億円 NHKまでもが報道!

2017年12月20日 19時32分29秒 | 日記

昨日にはネットニュースで

今朝は「あさチャン」で

NHKまでも!

米国が2012年までに5年間で25億円をUFO調査に費やしたとのニュースが流れた。

発元はニューヨークタイムズ

この間の葉巻型恒星間物体通過といい、なんでこのタイミングなんだろう。

そういや2016年からクリントンさんあたりがUFO情報を公開するなんてニュースもあったよなあ。

NASAの予算獲得か、はたまたスティーブンホーキングの陰謀か。

でもなんか、楽しいね。

参考:米国防総省の年間予算は68兆円で25億なんて誰もきづかない金額らしい・・・


IE外部起動でgoogleMapを場所指定で開く(Lazarus用)

2017年12月20日 18時56分30秒 | コンピュータ
会社で利用するソフトでgoogleMapを利用したかった。
Lazarus用のソースってあんまりないんだよなあ・・・
 
このfunctionは「http://madia.world.coocan.jp/cgi-bin/DelphiBBS/wwwlng.cgi?print+201107/11070012.txt」から引用。
shelExecはmr.Xrayさんのサイトを参考
ありがとうございました。
 
{-------- googleMapを引数付きで開く-------}

uses shellAPI;

const

  DEF_GMapURL  = 'http://maps.google.com/maps?q=';  {gmap}
  DEF_IEpath = 'C:\Program Files\Internet Explorer\iexplore.exe';  {IEのパス}

var

  IEpath     : String;        // IEのパス
  gmapURL    : String;        // googleMapへのパラメータ文字列

function UrlEncode(const AStr,AppendNoConvChars: String; Space2Plus: Boolean): String;

 const
   NoConversionChars = [
     'A'..'Z','a'..'z',
     '0'..'9',
     '-','_','.','!','*','''','(',')']; // '@', '$',];
var
   Sp, Rp: PChar;
   NoConversion: set of Char;
   i: Integer;
 begin
   NoConversion := NoConversionChars;
   for i := 1 to Length(AppendNoConvChars) do
     NoConversion := NoConversion + [AppendNoConvChars[i]];
 
   SetLength(Result, Length(AStr) * 3);
   Sp := PChar(AStr);
   Rp := PChar(Result);
   while Sp^ <> #0 do
   begin
     if Sp^ in NoConversion then
       Rp^ := Sp^
     else
       if (Sp^ = ' ') and (Space2Plus) then
         Rp^ := '+'
       else
       begin
         FormatBuf(Rp^, 3, '%%%.2x', 6, [Ord(Sp^)]);
         Inc(Rp,2);
       end;
     Inc(Rp);
     Inc(Sp);
   end;
   SetLength(Result, Rp - PChar(Result));
 end;
 
procedure TForm1.BitBtn4Click(Sender: TObject);
var
    LhInstance : Cardinal;
    addrText   : string;
    LParams    : string;
begin
  //起動アプリのパス
  //googleMap + 住所パラメータ
  idlCnt     := 0;                   // 無操作秒数クリア
  if (edit2.text = '') and (selectAp = 0)
    then Exit;
  if (qMode = 'F1') or (qMode = 'F2')
    then addrText := d[selectAp].addr
    else addrText := m[selectAp].addr1;
  if edit2.text <> ''
    then addrText := edit2.text;
  edit2.text := '';

  Clipboard.AsText := addrText;

  LParams := GMapURL + UrlEncode(addrText,'/:',False);
  dbg('IE: ' + IEpath);
  dbg('Option:' + LParams);
  LhInstance := ShellExecute(Handle,
                             'open',
                             PChar(IEpath),
                             PChar(LParams),
                             nil,
                             5);         {本来は SW_SHOW:5 など 3は最大表示}
  if LhInstance <= 32 then begin
    showmessage('IEの起動に失敗しました'+NL+ IEpath +NL+ LParams);
  end;
  edit1.setfocus;
end;