掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
IBDataSetについて教えてください。 (ID:29126)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
裕子:「ねぇ、お正月になって なんで今ごろ皆で餅つきなのぉ?」 春子:「しょうがないでしょ、超忙しかったンだから…、今日は、年末に手伝ってくれたお礼よ」 裕子:「そう言われて期待して来てみたら、また手伝いなんだからぁ〜…」 春子:「後でオモチたくさん食べられるから、…じゃ、マコトを呼んでくるね、おーい、マコト〜」 真琴:「…、は〜い」 春子:「何してたの?マコト」 真琴:「クリップボードのデータを一つのファイルに保存出来ないかなぁって、いろいろ試してた」 春子:「ん?それで、出来たの?」 真琴:「イチオウ…、なんとか」 春子:「そう? じゃ、後で見せてね、これから外で餅つき始めるから」 真琴:「うん、アタシ、つきたてのアンコ餅大好き、スグ行く」 const CLIPBOARD_FILE = 'ClipBrdFile.dat'; procedure TForm1.ButtonSaveClick(Sender: TObject); //--------------------------------------------------- procedure Save_Clipboard(fmt: UINT; Writer: TWriter); var FmtStr: array[0..255] of Char; Data: THandle; DataPointer: Pointer; begin if GetClipboardFormatName(fmt, FmtStr, SizeOf(FmtStr)) = 0 then FmtStr[0] := #0; Data := Clipboard.GetAsHandle(fmt); if Data <> 0 then begin DataPointer := GlobalLock(Data); if DataPointer <> nil then begin try Writer.WriteInteger(fmt); Writer.WriteString(FmtStr); Writer.WriteInteger(GlobalSize(Data)); Writer.Write(DataPointer^, GlobalSize(Data)); finally GlobalUnlock(Data); end; end; end; end; //--------------------------------------------------- var fs: TFileStream; Writer: TWriter; i: Integer; begin fs := TFileStream.Create(CLIPBOARD_FILE, fmCreate); try Writer := TWriter.Create(fs, $800); try Clipboard.Open; try Writer.WriteListBegin; for i:=0 to Pred(Clipboard.FormatCount) do Save_Clipboard(Clipboard.Formats[i], Writer); Writer.WriteListEnd; finally Clipboard.Close; end; finally Writer.Free end; finally fs.Free; end; end; procedure TForm1.ButtonLoadClick(Sender: TObject); //--------------------------------------------------- procedure Load_Clipboard(Reader: TReader); var fmt: UINT; FmtStr: string; Size: Integer; Data: THandle; DataPointer: Pointer; begin fmt := Reader.ReadInteger; FmtStr := Reader.ReadString; Size := Reader.ReadInteger; Data := GlobalAlloc(GMEM_MOVEABLE or GMEM_ZEROINIT or GMEM_DDESHARE, Size); if Data <> 0 then begin DataPointer := GlobalLock(Data); if DataPointer <> nil then begin try Reader.Read(DataPointer^, Size); finally GlobalUnlock(Data); end; if Length(FmtStr) > 0 then fmt := RegisterCLipboardFormat(PChar(FmtStr)); if fmt <> 0 then begin Clipboard.Open; try Clipboard.SetAsHandle(fmt, Data); finally Clipboard.Close; end; end; end else begin GlobalFree(Data); OutOfMemoryError; end; end else OutOfMemoryError; end; //--------------------------------------------------- var fs: TFileStream; Reader: TReader; begin fs := TFileStream.Create(CLIPBOARD_FILE, fmOpenRead or fmShareDenyNone); try Reader := TReader.Create(fs, $800); try Clipboard.Open; try Clipboard.Clear; Reader.ReadListBegin; while not Reader.EndOfList do Load_Clipboard(Reader); Reader.ReadListEnd; finally Clipboard.Close; end; finally Reader.Free end; finally fs.Free; end; end; 真琴:「あれ?…ちょっと、ユウコ、ナニそれ…一人でアンコ食べちゃって…」 春子:「あぁ〜…、コラぁ〜…」 裕子:「だってぇ…、だって、だって、だってぇ…」 春子:「お餅ができる前にみんな食べちゃうつもり? ダメよ、こっちかして」 裕子:「イヤぁ〜…、もっと食べたいぃ」 真琴:「もう、ユウコったら…、ン?…あの音…まさか…」 春子:「え?、あれは…」 裕子:「あ…、あのクルマ…中にあの二人…」 広海:「よっ、マコト、久しぶり、…ほら、忘れ物」 春子:「あっ、それ、ヒロミくんが買ってくれたペンダントね」 真琴:「うん…、でも、なんでココにいるの? あの南の島で自分の海見つけたンじゃ…」 広海:「あそこはオレらの海じゃない…、ま、イロイロあって、強制送還、国外退去処分ってこと」 真琴:「えっ、強制送還? …なんで?ナニしたの?」 広海:「コイツが、可哀想なイルカ 海に逃がしてやりたいって言うんで」 春子:「逃がしちゃいけない大事なイルカを無断で? それを二人で? それで…」 海都:「さっき成田に着いて…、冬の海でも見て、これからのコト考えるかって…、ついでに新年のアイサツ」 広海:「明けまして、おめ…」 裕子:「あ…、クルマが…」 広海:「えっ?」 海都:「あっ、ブレーキ…」 広海:「おいっ、早く飛び乗ってクルマ止めろ〜」 海都:「あーっ、バカバカ、冬の海だけには落ちたくない〜…」 春子:「…あ〜ぁ落ちちゃった…、また同じパターン、いつもコレだよ」 真琴:「バ〜〜ッカみたい」 裕子:「マコト、なんかギガント嬉しそ」
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.