掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
文字列操作 (ID:7465)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
横から失礼します。 こんなのはどうでしょう? Buttonを1個 StirngGridを2個 OpenDialogを1個配置して下記をButtonのイベントに記述 procedure TForm1.Button1Click(Sender: TObject); var Start:integer; FS:TMemoryStream; Tmp:WORD; Tmp2:WORD; X,Y:integer; NextSkip:Boolean; PrevStr:string; begin if OpenDialog1.Execute then begin StringGrid1.Visible := False; StringGrid2.Visible := False; FS := TMemoryStream.Create; FS.LoadFromFile(OpenDialog1.FileName); try X := 0; Y := 1; NextSkip := False; StringGrid1.Cells[0,0] := '00'; StringGrid1.Cells[1,0] := '01'; StringGrid1.Cells[2,0] := '02'; StringGrid1.Cells[3,0] := '03'; StringGrid1.Cells[4,0] := '04'; StringGrid1.Cells[5,0] := '05'; StringGrid1.Cells[6,0] := '06'; StringGrid1.Cells[7,0] := '07'; StringGrid1.Cells[8,0] := '08'; StringGrid1.Cells[9,0] := '09'; StringGrid1.Cells[10,0] := '0A'; StringGrid1.Cells[11,0] := '0B'; StringGrid1.Cells[12,0] := '0C'; StringGrid1.Cells[13,0] := '0D'; StringGrid1.Cells[14,0] := '0E'; StringGrid1.Cells[15,0] := '0F'; while (True) do begin if FS.Read(Tmp,1) < 1 then Break;//ファイル終了マーカーが検出されたらBreakする StringGrid1.Cells[X,Y] := IntToHex(Tmp,2); if (Tmp < $20) or (Tmp > $7F) then StringGrid2.cells[X,Y] := '.' else StringGrid2.Cells[X,Y] := Chr(Tmp); Inc(X); if X > 15 then begin Inc(Y); X := 0; end; end; StringGrid1.RowCount := Y+1; StringGrid2.RowCount := Y+1; finally FS.Free; StringGrid1.Visible := True; StringGrid2.Visible := True; end; end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.