約 2,500,820 件
https://w.atwiki.jp/oboegaki1002/pages/32.html
HTML5で使い方が変更されたタグのまとめ ●a要素 リンク設定をするaタグですがアンカーリンクの使い方と別ウインドウにリンクを設定するtarget属性の使い方が一部変更になっています。 またリンクの設定する範囲がいままではdivタグやpタグなどのブロックレベル要素や複数のタグを囲ったりすることができませんでしたが、HTML5からはできるようになりました。 アンカーリンクとしての使い方が変わりました xhtml1.0でアンカーリンクを設定する場合は移動したい場所にa要素のname属性とid属性をセットし、別のa要素のhref属性でそれを参照していました。 HTML5ではページのアンカーを表すためだけにa要素を使うことはできなくなり、name属性も廃止になりました。 HTML5でアンカーを表す場合は、要素に関わらすid属性を指定することでアンカーを機能させることができるようになります。 HTML5ではアンカー設定の際に <a id= top > と記述しなくても可能となります target属性が非推奨ではなくなりました リンクを別ウインドウで表示させる際によく使用していたtarget=_blankですが、実際は今でも使われておりましたが、strictでは非推奨となっており、非推奨タグを使いたくないという場合には別ウインドウで表示させたいときはJavascriptで別ウインドウでリンクを開く対応などをしておりましたが、HTML5ではtarget属性が非推奨ではなくなりました。 別ウインドウでリンクを開く際のtarget= _blank が非推奨ではなくなりました div要素や複数のタグをまとめてa要素で囲むことができます これがHTML5で便利になり、使い方の幅が広くなった変更です。 HTML5からはブロック要素・インライン要素の分類はなくなりますので、a要素でdiv要素やp要素、複数の要素を囲むことが出来ます。 ただし、a要素はトランスペアレントとして規定されているので、その親要素が許すコンテンツ・モデルを囲むことができるという点に注意する必要があります。 また、親要素に関わらずa要素にはbutton要素やiframe要素などのインタラクティブ・コンテンツを入れることが出来ないので注意してください。 ただし、これは今までもあまり使われていなかったのであまり気にする必要はないでしょう。 ●address要素 address要素は記述位置によって意味が変わるようになったようですが、こちらはあまり気にしなくていいでしょう。 記事を表すarticle要素内で使用すれば記事著者への連絡先になり、直近の祖先がbody要素の場合ならWebサイト管理者への連絡先を意味することになります。 これまでコピーライトなどもaddressタグを使用していた場合には、そちらは使用できなくなりましたので注意が必要です。 コピーライト表記などには使われなくなりましたので注意しましょう ●b要素 b要素は他と区別したいテキスト部分に使います b要素はもともと太文字を表示する見た目だけに特化した要素でしたが、HTML5からは文書内のキーワードや記事リードなどの強調や重要性を持たないが他と区別したいテキストを表す場合に使用するようになります。 以前は<b>タグは太字でしたが<strong>タグに切り替わって使われなくなり、重要性の持たない部分を太字にするには<span>タグにclassを設定して太字などにしていましたが、HTML5では<b>タグを使っても良いでしょう。 b要素を実際に使う場合は『strong要素・em要素・mark要素・cite要素』などの使用用途が定義されている要素に適さない場合に使用することになります。 つまり、他の文章と区別したい場合はまずふさわしい要素を探し、どの要素にも当てはまらない場合の最終的な手段としてb要素を選択するというのが良いと思います。 ●cite要素 情報の引用元タイトルやテーマ・作品を表す要素 cite要素はもともとあまり使われることが少なかったタグですが、情報の引用元タイトルやテーマ・作品を表す要素となります。 これまでcite要素は情報元の書籍や論文などの著者名を制作者の解釈によって使用することがありましたが、HTML5から人名などをマークアップすることはできなくなりましたので注意が必要です。 ●dl要素 dl要素は旧来のような定義リストという意味が無くなり、記述リストとして利用するようになります。 定義リストにする場合はdt要素に定義語を表すdfn要素を用いる必要があります。 dt要素とdd要素は必ずしも1対1である必要はありません。 1対複数もしくはその逆、複数対複数でも構いません。 ただしdt要素とdd要素は必ず関連性があるようにする必要があります。 ●hr要素 途中で話題を変える時の目印となる区切り線 hr要素は旧来では罫線を表す要素でしたが、HTML5からは意味的な段落を表すようになります。 ただし、セクションの区切りに使用することはできませんので注意が必要です。 見た目の線をCSSでdisplay noneとして隠すのなら使わない方がよいのかもしれません。 ●i要素 斜体で表示される文字列 i要素はイタリック体を表すだけの見た目だけに特化した要素でしたが、HTML5からは技術用語などの専門用語・他言語の慣用句、または思考・船舶の名前など、他の文章と区別しているテキスト範囲に使います。 ●s要素 テキストに引く打ち消し線(取り消し線) 旧来は文章テキストの打ち消し線を引く要素でしたが、HTML5ではもう正確ではなくなった内容や関連性がなくなった内容を表す要素になります。 ●small要素 免責条項や警告といった 細目 を表す要素に変更 small要素は小さい文字を表す要素でしたが、HTML5では『免責条項・著作権表記・警告』などの細目テキストを表すようになります。 また、文章での注釈や補足としても使用することもできます。 最もメジャーな使用例はページフッターの著作権表記のマークアップです。 ●strong要素 重要性を伝えるテキストの範囲を表す要素 strong要素は以前のような強調の意味が無くなり重要性という意味が加われました。 強調を表したいテキストにはem要素を使うようにします。 また、入れ子にすることで重要度を高めることができます。 ●u要素 重要性を伝えるテキストの範囲を表す要素 下線を表していたu要素ですが、HTML5から中国語での固有名詞を明示するためのラベル付けや、単語のスペルミスに対してラベル付けする場合に利用されるようになりました。 また、ハイパーリンクのテキスト(下線付きのテキスト)と見間違えることがあるので紛らわしい箇所での使用には注意する必要があります。 (参考:HTML5で使い方が変更されたタグをまとめよう http //www.mdn.co.jp/di/webcreators/)
https://w.atwiki.jp/fe_matome/pages/46.html
CSV_Iクラス: CSVファイルを読み込むクラス。 store_strで一行ずつデータを読み込む。 変数の型変換などは、呼び出し元のプログラムに任せる。 素朴な処理(一文字ずつ処理してる)なので、処理が重いかも。 文字列ストリーム処理をすべき? /************************* CSV_I.h *************************/ #include stdio.h #include string.h #ifndef _CSV_I_H_#define _CSV_I_H_ class CSV_I{ typedef char buftype[64] ; FILE* ifp;//出力するCSVのファイルポインタint row, col;static const int FGETS_SIZE = 512; public CSV_I(){ifp = NULL;}bool open_csv(const char* filename);//引数で与えたファイル名のCSVをオープンするbool store_str(char L, char R, buftype buf_ary[]);//L列からR列までの要素をbuf_ary[]に格納する~CSV_I(); private }; #endif //_CSV_I_H_ /************************* CSV_I.cpp *************************/#include "CSV_I.h" //引数で与えたファイル名のCSVをオープンするbool CSV_I open_csv(const char* filename){if(ifp){fclose(ifp);}if(!(ifp = fopen(filename, "r+"))){return false;} return true;} //L列からR列までの要素をbuf_ary[]に格納するbool CSV_I store_str(char L, char R, buftype buf_ary[]){char line_buf[FGETS_SIZE];int s = L - A ;//引数の列名を整数型に変換int t = R - A ; if(L R){//引数エラーreturn false;}if(!fgets(line_buf, FGETS_SIZE, ifp)){return false;}memset(buf_ary, \0 , sizeof(buftype)*(R-L+1));//fprintf(stderr, "%s", line_buf);for(int i=0, j=0; i t; i++){//i コンマごとのカウンタ。j 文字ごとのカウンタfor(int k=0; line_buf[j] != , ; k++){if(i s){//L列より左の要素は切り捨てるj++;}else{buf_ary[i-s][k] = line_buf[j];//fprintf(stderr, "%c", line_buf[j]);j++;}}j++;//コンマ分インクリメント}} CSV_I ~CSV_I(){if(ifp){fclose(ifp);}} /***** 利用例 ***** #include "csv_i.h" #define CSV_FILE "C \\tex\\temp.csv" #define LCOL A #define RCOL G int main (){ CSV_I ci; typedef char buftype[64]; buftype buf_ary[RCOL-LCOL+1]; ci.open_csv(CSV_FILE);for(int i=0; ci.store_str(LCOL, RCOL, buf_ary); i++){for(int j=0; j RCOL-LCOL+1; j++){fprintf(stderr, "%s, ", buf_ary[j]);}putchar( \n );} return 0;} *************/ 累計のアクセス数: - 今日のアクセス数: - 昨日のアクセス数 -
https://w.atwiki.jp/mieyanman/pages/22.html
zip2 zip3 [sqlplus_csv] clsDesc.vb Public Class clsDesc Public Property c0Name As String = "" Public Property c1Null As String = "" Public Property c2Type As String = "" End Class clsSelectionRowsMove.vb Public Class clsSelectionRowsMove Dim m_DataGridView As DataGridView = Nothing Dim m_RowsCount As Integer = 0 Dim m_SelectedRowsCount As Integer = 0 Dim m_SelectedRowMin As Integer = 0 Dim m_SelectedRowMax As Integer = 0 Dim m_MoveUpEnabled As Boolean = False Dim m_MoveDownEnabled As Boolean = False Public ReadOnly Property RowsCount() As Integer Get Return m_RowsCount End Get End Property Public ReadOnly Property SelectedRowsCount() As Integer Get Return m_SelectedRowsCount End Get End Property Public ReadOnly Property SelectedRowMin() As Integer Get Return m_SelectedRowMin End Get End Property Public ReadOnly Property SelectedRowMax() As Integer Get Return m_SelectedRowMax End Get End Property Public ReadOnly Property MoveUpEnabled() As Boolean Get Return m_MoveUpEnabled End Get End Property Public ReadOnly Property MoveDownEnabled() As Boolean Get Return m_MoveDownEnabled End Get End Property Public Enum MoveType Top Up Down Bottom End Enum Public Sub New(wp_DataGridView As DataGridView) If wp_DataGridView Is Nothing Then Return End If m_DataGridView = wp_DataGridView m_RowsCount = m_DataGridView.Rows.Count If m_RowsCount 0 Then m_SelectedRowsCount = m_DataGridView.SelectedRows.Count If m_SelectedRowsCount 0 Then Dim w_RowMin As Integer = m_RowsCount Dim w_RowMax As Integer = 0 For i As Integer = m_SelectedRowsCount - 1 To 0 Step -1 If w_RowMin m_DataGridView.SelectedRows(i).Index Then w_RowMin = m_DataGridView.SelectedRows(i).Index End If If w_RowMax m_DataGridView.SelectedRows(i).Index Then w_RowMax = m_DataGridView.SelectedRows(i).Index End If Next m_SelectedRowMin = w_RowMin m_SelectedRowMax = w_RowMax If m_RowsCount 1 Then If m_SelectedRowMin 0 Then m_MoveUpEnabled = True End If If m_SelectedRowMax m_RowsCount - 1 Then m_MoveDownEnabled = True End If End If End If End If End Sub Public Sub SelectionRowsMove(wp_Move As MoveType) If m_DataGridView.SelectedRows.Count = 0 Then Return End If Dim w_SelectionRowList As New List(Of DataGridViewRow) For Each r As DataGridViewRow In m_DataGridView.SelectedRows w_SelectionRowList.Add(r) m_DataGridView.Rows.Remove(r) Next Dim w_Row1 As Integer = 0 Select Case wp_Move Case MoveType.Top w_Row1 = 0 Case MoveType.Up w_Row1 = m_SelectedRowMin - 1 Case MoveType.Down w_Row1 = m_SelectedRowMin + 1 Case MoveType.Bottom w_Row1 = m_DataGridView.Rows.Count Case Else End Select Dim w_Row2 As Integer = w_Row1 + w_SelectionRowList.Count - 1 m_DataGridView.Rows.Insert(w_Row1, w_SelectionRowList.Count) For i As Integer = 0 To w_SelectionRowList.Count - 1 For j As Integer = 0 To m_DataGridView.Columns.Count - 1 m_DataGridView.Rows(w_Row2 - i).Cells(j).Value = w_SelectionRowList(i).Cells(j).Value Next Next m_DataGridView.CurrentCell = m_DataGridView.Rows(w_Row1).Cells(0) For i As Integer = w_Row1 To w_Row2 m_DataGridView.Rows(i).Selected = True Next End Sub End Class frmCsvFile.Designer.vb Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated() _ Partial Class frmCsvFile Inherits System.Windows.Forms.Form フォームがコンポーネントの一覧をクリーンアップするために dispose をオーバーライドします。 System.Diagnostics.DebuggerNonUserCode() _ Protected Overrides Sub Dispose(ByVal disposing As Boolean) Try If disposing AndAlso components IsNot Nothing Then components.Dispose() End If Finally MyBase.Dispose(disposing) End Try End Sub Windows フォーム デザイナーで必要です。 Private components As System.ComponentModel.IContainer メモ 以下のプロシージャは Windows フォーム デザイナーで必要です。 Windows フォーム デザイナーを使用して変更できます。 コード エディターを使って変更しないでください。 System.Diagnostics.DebuggerStepThrough() _ Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() Me.Label1 = New System.Windows.Forms.Label() Me.Label2 = New System.Windows.Forms.Label() Me.TxtConnect = New System.Windows.Forms.TextBox() Me.TxtTableName = New System.Windows.Forms.TextBox() Me.Button1 = New System.Windows.Forms.Button() Me.Label3 = New System.Windows.Forms.Label() Me.TxtWorkFolder = New System.Windows.Forms.TextBox() Me.DataGridView1 = New System.Windows.Forms.DataGridView() Me.Column1 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.Column2 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.Column3 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.TmiOpen = New System.Windows.Forms.ToolStripMenuItem() Me.TmiAdd = New System.Windows.Forms.ToolStripMenuItem() Me.Label4 = New System.Windows.Forms.Label() Me.Label5 = New System.Windows.Forms.Label() Me.Label6 = New System.Windows.Forms.Label() Me.TxtCsvFile = New System.Windows.Forms.TextBox() Me.TxtSqlFile = New System.Windows.Forms.TextBox() Me.TxtBatFile = New System.Windows.Forms.TextBox() Me.Button2 = New System.Windows.Forms.Button() Me.Button3 = New System.Windows.Forms.Button() Me.ChkDelWorkFile = New System.Windows.Forms.CheckBox() Me.DataGridView2 = New System.Windows.Forms.DataGridView() Me.DataGridViewTextBoxColumn1 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.DataGridViewTextBoxColumn3 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.ContextMenuStrip2 = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.TmiTop = New System.Windows.Forms.ToolStripMenuItem() Me.TmiUp = New System.Windows.Forms.ToolStripMenuItem() Me.TmiDown = New System.Windows.Forms.ToolStripMenuItem() Me.TmiBottom = New System.Windows.Forms.ToolStripMenuItem() Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit() Me.ContextMenuStrip1.SuspendLayout() CType(Me.DataGridView2, System.ComponentModel.ISupportInitialize).BeginInit() Me.ContextMenuStrip2.SuspendLayout() CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SplitContainer1.Panel1.SuspendLayout() Me.SplitContainer1.Panel2.SuspendLayout() Me.SplitContainer1.SuspendLayout() Me.SuspendLayout() Label1 Me.Label1.AutoSize = True Me.Label1.Location = New System.Drawing.Point(12, 9) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(47, 12) Me.Label1.TabIndex = 0 Me.Label1.Text = "Connect" Label2 Me.Label2.AutoSize = True Me.Label2.Location = New System.Drawing.Point(12, 35) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(62, 12) Me.Label2.TabIndex = 1 Me.Label2.Text = "TableName" TxtConnect Me.TxtConnect.Location = New System.Drawing.Point(81, 6) Me.TxtConnect.Name = "TxtConnect" Me.TxtConnect.Size = New System.Drawing.Size(100, 19) Me.TxtConnect.TabIndex = 2 TxtTableName Me.TxtTableName.Location = New System.Drawing.Point(81, 31) Me.TxtTableName.Name = "TxtTableName" Me.TxtTableName.Size = New System.Drawing.Size(100, 19) Me.TxtTableName.TabIndex = 3 Button1 Me.Button1.Location = New System.Drawing.Point(435, 2) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(75, 23) Me.Button1.TabIndex = 4 Me.Button1.Text = "csv作成" Me.Button1.UseVisualStyleBackColor = True Label3 Me.Label3.AutoSize = True Me.Label3.Location = New System.Drawing.Point(12, 59) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(62, 12) Me.Label3.TabIndex = 5 Me.Label3.Text = "WorkFolder" TxtWorkFolder Me.TxtWorkFolder.Location = New System.Drawing.Point(81, 56) Me.TxtWorkFolder.Name = "TxtWorkFolder" Me.TxtWorkFolder.Size = New System.Drawing.Size(100, 19) Me.TxtWorkFolder.TabIndex = 6 Me.TxtWorkFolder.Text = "C \Temp\sql" DataGridView1 Me.DataGridView1.AllowUserToAddRows = False Me.DataGridView1.AllowUserToDeleteRows = False Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize Me.DataGridView1.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.Column1, Me.Column2, Me.Column3}) Me.DataGridView1.ContextMenuStrip = Me.ContextMenuStrip1 Me.DataGridView1.Dock = System.Windows.Forms.DockStyle.Fill Me.DataGridView1.Location = New System.Drawing.Point(0, 0) Me.DataGridView1.Name = "DataGridView1" Me.DataGridView1.ReadOnly = True Me.DataGridView1.RowTemplate.Height = 21 Me.DataGridView1.Size = New System.Drawing.Size(434, 383) Me.DataGridView1.TabIndex = 7 Column1 Me.Column1.HeaderText = "名前" Me.Column1.Name = "Column1" Me.Column1.ReadOnly = True Column2 Me.Column2.HeaderText = "NULL?" Me.Column2.Name = "Column2" Me.Column2.ReadOnly = True Column3 Me.Column3.HeaderText = "型" Me.Column3.Name = "Column3" Me.Column3.ReadOnly = True ContextMenuStrip1 Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TmiOpen, Me.TmiAdd}) Me.ContextMenuStrip1.Name = "ContextMenuStrip1" Me.ContextMenuStrip1.Size = New System.Drawing.Size(154, 48) TmiOpen Me.TmiOpen.Name = "TmiOpen" Me.TmiOpen.Size = New System.Drawing.Size(153, 22) Me.TmiOpen.Text = "tabファイルを開く" TmiAdd Me.TmiAdd.Name = "TmiAdd" Me.TmiAdd.Size = New System.Drawing.Size(153, 22) Me.TmiAdd.Text = "列追加" Label4 Me.Label4.AutoSize = True Me.Label4.Location = New System.Drawing.Point(234, 9) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(42, 12) Me.Label4.TabIndex = 8 Me.Label4.Text = "csvFile" Label5 Me.Label5.AutoSize = True Me.Label5.Location = New System.Drawing.Point(234, 35) Me.Label5.Name = "Label5" Me.Label5.Size = New System.Drawing.Size(39, 12) Me.Label5.TabIndex = 9 Me.Label5.Text = "sqlFile" Label6 Me.Label6.AutoSize = True Me.Label6.Location = New System.Drawing.Point(234, 59) Me.Label6.Name = "Label6" Me.Label6.Size = New System.Drawing.Size(40, 12) Me.Label6.TabIndex = 10 Me.Label6.Text = "batFile" TxtCsvFile Me.TxtCsvFile.Location = New System.Drawing.Point(280, 6) Me.TxtCsvFile.Name = "TxtCsvFile" Me.TxtCsvFile.Size = New System.Drawing.Size(100, 19) Me.TxtCsvFile.TabIndex = 11 TxtSqlFile Me.TxtSqlFile.Location = New System.Drawing.Point(280, 31) Me.TxtSqlFile.Name = "TxtSqlFile" Me.TxtSqlFile.Size = New System.Drawing.Size(100, 19) Me.TxtSqlFile.TabIndex = 12 Me.TxtSqlFile.Text = "csv.sql" TxtBatFile Me.TxtBatFile.Location = New System.Drawing.Point(280, 56) Me.TxtBatFile.Name = "TxtBatFile" Me.TxtBatFile.Size = New System.Drawing.Size(100, 19) Me.TxtBatFile.TabIndex = 13 Me.TxtBatFile.Text = "csv.bat" Button2 Me.Button2.Location = New System.Drawing.Point(435, 27) Me.Button2.Name = "Button2" Me.Button2.Size = New System.Drawing.Size(75, 23) Me.Button2.TabIndex = 14 Me.Button2.Text = "csv開く" Me.Button2.UseVisualStyleBackColor = True Button3 Me.Button3.Location = New System.Drawing.Point(435, 52) Me.Button3.Name = "Button3" Me.Button3.Size = New System.Drawing.Size(75, 23) Me.Button3.TabIndex = 15 Me.Button3.Text = "フォルダ開く" Me.Button3.UseVisualStyleBackColor = True ChkDelWorkFile Me.ChkDelWorkFile.AutoSize = True Me.ChkDelWorkFile.Checked = True Me.ChkDelWorkFile.CheckState = System.Windows.Forms.CheckState.Checked Me.ChkDelWorkFile.Location = New System.Drawing.Point(551, 5) Me.ChkDelWorkFile.Name = "ChkDelWorkFile" Me.ChkDelWorkFile.Size = New System.Drawing.Size(85, 16) Me.ChkDelWorkFile.TabIndex = 16 Me.ChkDelWorkFile.Text = "DelWorkFile" Me.ChkDelWorkFile.UseVisualStyleBackColor = True DataGridView2 Me.DataGridView2.AllowUserToAddRows = False Me.DataGridView2.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize Me.DataGridView2.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.DataGridViewTextBoxColumn1, Me.DataGridViewTextBoxColumn3}) Me.DataGridView2.ContextMenuStrip = Me.ContextMenuStrip2 Me.DataGridView2.Dock = System.Windows.Forms.DockStyle.Fill Me.DataGridView2.Location = New System.Drawing.Point(0, 0) Me.DataGridView2.Name = "DataGridView2" Me.DataGridView2.ReadOnly = True Me.DataGridView2.RowTemplate.Height = 21 Me.DataGridView2.Size = New System.Drawing.Size(302, 383) Me.DataGridView2.TabIndex = 17 DataGridViewTextBoxColumn1 Me.DataGridViewTextBoxColumn1.HeaderText = "名前" Me.DataGridViewTextBoxColumn1.Name = "DataGridViewTextBoxColumn1" Me.DataGridViewTextBoxColumn1.ReadOnly = True DataGridViewTextBoxColumn3 Me.DataGridViewTextBoxColumn3.HeaderText = "型" Me.DataGridViewTextBoxColumn3.Name = "DataGridViewTextBoxColumn3" Me.DataGridViewTextBoxColumn3.ReadOnly = True ContextMenuStrip2 Me.ContextMenuStrip2.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TmiTop, Me.TmiUp, Me.TmiDown, Me.TmiBottom}) Me.ContextMenuStrip2.Name = "ContextMenuStrip2" Me.ContextMenuStrip2.Size = New System.Drawing.Size(99, 92) TmiTop Me.TmiTop.Name = "TmiTop" Me.TmiTop.Size = New System.Drawing.Size(98, 22) Me.TmiTop.Text = "最上" TmiUp Me.TmiUp.Name = "TmiUp" Me.TmiUp.Size = New System.Drawing.Size(98, 22) Me.TmiUp.Text = "上へ" TmiDown Me.TmiDown.Name = "TmiDown" Me.TmiDown.Size = New System.Drawing.Size(98, 22) Me.TmiDown.Text = "下へ" TmiBottom Me.TmiBottom.Name = "TmiBottom" Me.TmiBottom.Size = New System.Drawing.Size(98, 22) Me.TmiBottom.Text = "最下" SplitContainer1 Me.SplitContainer1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.SplitContainer1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.SplitContainer1.Location = New System.Drawing.Point(14, 81) Me.SplitContainer1.Name = "SplitContainer1" SplitContainer1.Panel1 Me.SplitContainer1.Panel1.Controls.Add(Me.DataGridView1) SplitContainer1.Panel2 Me.SplitContainer1.Panel2.Controls.Add(Me.DataGridView2) Me.SplitContainer1.Size = New System.Drawing.Size(744, 385) Me.SplitContainer1.SplitterDistance = 436 Me.SplitContainer1.TabIndex = 18 frmCsvFile Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(770, 478) Me.Controls.Add(Me.SplitContainer1) Me.Controls.Add(Me.ChkDelWorkFile) Me.Controls.Add(Me.Button3) Me.Controls.Add(Me.Button2) Me.Controls.Add(Me.TxtBatFile) Me.Controls.Add(Me.TxtSqlFile) Me.Controls.Add(Me.TxtCsvFile) Me.Controls.Add(Me.Label6) Me.Controls.Add(Me.Label5) Me.Controls.Add(Me.Label4) Me.Controls.Add(Me.TxtWorkFolder) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.Button1) Me.Controls.Add(Me.TxtTableName) Me.Controls.Add(Me.TxtConnect) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) Me.Name = "frmCsvFile" Me.Text = "tabファイルを基にcsvファイルを作成" CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit() Me.ContextMenuStrip1.ResumeLayout(False) CType(Me.DataGridView2, System.ComponentModel.ISupportInitialize).EndInit() Me.ContextMenuStrip2.ResumeLayout(False) Me.SplitContainer1.Panel1.ResumeLayout(False) Me.SplitContainer1.Panel2.ResumeLayout(False) CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() Me.SplitContainer1.ResumeLayout(False) Me.ResumeLayout(False) Me.PerformLayout() End Sub Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents TxtConnect As System.Windows.Forms.TextBox Friend WithEvents TxtTableName As System.Windows.Forms.TextBox Friend WithEvents Button1 As System.Windows.Forms.Button Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents TxtWorkFolder As System.Windows.Forms.TextBox Friend WithEvents DataGridView1 As System.Windows.Forms.DataGridView Friend WithEvents Column1 As System.Windows.Forms.DataGridViewTextBoxColumn Friend WithEvents Column2 As System.Windows.Forms.DataGridViewTextBoxColumn Friend WithEvents Column3 As System.Windows.Forms.DataGridViewTextBoxColumn Friend WithEvents Label4 As System.Windows.Forms.Label Friend WithEvents Label5 As System.Windows.Forms.Label Friend WithEvents Label6 As System.Windows.Forms.Label Friend WithEvents TxtCsvFile As System.Windows.Forms.TextBox Friend WithEvents TxtSqlFile As System.Windows.Forms.TextBox Friend WithEvents TxtBatFile As System.Windows.Forms.TextBox Friend WithEvents Button2 As System.Windows.Forms.Button Friend WithEvents Button3 As System.Windows.Forms.Button Friend WithEvents ChkDelWorkFile As System.Windows.Forms.CheckBox Friend WithEvents DataGridView2 As System.Windows.Forms.DataGridView Friend WithEvents DataGridViewTextBoxColumn1 As System.Windows.Forms.DataGridViewTextBoxColumn Friend WithEvents DataGridViewTextBoxColumn3 As System.Windows.Forms.DataGridViewTextBoxColumn Friend WithEvents ContextMenuStrip1 As System.Windows.Forms.ContextMenuStrip Friend WithEvents TmiOpen As System.Windows.Forms.ToolStripMenuItem Friend WithEvents TmiAdd As System.Windows.Forms.ToolStripMenuItem Friend WithEvents ContextMenuStrip2 As System.Windows.Forms.ContextMenuStrip Friend WithEvents TmiTop As System.Windows.Forms.ToolStripMenuItem Friend WithEvents TmiUp As System.Windows.Forms.ToolStripMenuItem Friend WithEvents TmiDown As System.Windows.Forms.ToolStripMenuItem Friend WithEvents TmiBottom As System.Windows.Forms.ToolStripMenuItem Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer End Class frmCsvFile.vb Imports System.Text.RegularExpressions Public Class frmCsvFile Private Enum me_Col1 c0Name c1Null c2Type End Enum Private Enum me_Col2 c0Name c1Type End Enum Private m_SelectionRowsMove As New clsSelectionRowsMove(Me.DataGridView2) Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Me.TxtConnect.Text = pf_GetIni("", "CSV", "Connect", "ユーザ名/パスワード@ネットサービス名") Me.TxtTableName.Text = pf_GetIni("", "CSV", "TableName", "DUAL") Me.TxtWorkFolder.Text = pf_GetIni("", "CSV", "WorkFolder", "C \Temp\sql") Me.TxtCsvFile.Text = pf_GetIni("", "CSV", "csvFile", "csv.csv") Me.TxtSqlFile.Text = pf_GetIni("", "CSV", "sqlFile", "csv.sql") Me.TxtBatFile.Text = pf_GetIni("", "CSV", "batFile", "csv.bat") Me.TmiTop.Enabled = False Me.TmiUp.Enabled = False Me.TmiDown.Enabled = False Me.TmiBottom.Enabled = False End Sub Private Sub Form1_FormClosed(sender As Object, e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed Call ps_PutIni("", "CSV", "Connect", Me.TxtConnect.Text) Call ps_PutIni("", "CSV", "TableName", Me.TxtTableName.Text) Call ps_PutIni("", "CSV", "WorkFolder", Me.TxtWorkFolder.Text) Call ps_PutIni("", "CSV", "csvFile", Me.TxtCsvFile.Text) Call ps_PutIni("", "CSV", "sqlFile", Me.TxtSqlFile.Text) Call ps_PutIni("", "CSV", "batFile", Me.TxtBatFile.Text) If Me.ChkDelWorkFile.Checked Then Dim w_SqlFile As String = String.Format("{0}\{1}", Me.TxtWorkFolder.Text, Me.TxtSqlFile.Text) Dim w_BatFile As String = String.Format("{0}\{1}", Me.TxtWorkFolder.Text, Me.TxtBatFile.Text) Call ms_DelFile(w_BatFile) Call ms_DelFile(w_SqlFile) End If End Sub Private Sub DataGridView1_CellPainting(sender As Object, e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) Handles DataGridView1.CellPainting If e.ColumnIndex 0 AndAlso e.RowIndex = 0 Then Call e.Paint(e.ClipBounds, DataGridViewPaintParts.All) Dim rect As Rectangle = e.CellBounds Call rect.Inflate(-2, -2) Call TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(), e.CellStyle.Font, rect, e.CellStyle.ForeColor, TextFormatFlags.Right Or TextFormatFlags.VerticalCenter) e.Handled = True End If End Sub Private Sub DataGridView2_CellPainting(sender As Object, e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) Handles DataGridView2.CellPainting If e.ColumnIndex 0 AndAlso e.RowIndex = 0 Then Call e.Paint(e.ClipBounds, DataGridViewPaintParts.All) Dim rect As Rectangle = e.CellBounds Call rect.Inflate(-2, -2) Call TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(), e.CellStyle.Font, rect, e.CellStyle.ForeColor, TextFormatFlags.Right Or TextFormatFlags.VerticalCenter) e.Handled = True End If End Sub Private Sub DataGridView2_SelectionChanged(sender As Object, e As System.EventArgs) Handles DataGridView2.SelectionChanged m_SelectionRowsMove = New clsSelectionRowsMove(Me.DataGridView2) If Me.TmiUp.Enabled m_SelectionRowsMove.MoveUpEnabled Then Me.TmiUp.Enabled = m_SelectionRowsMove.MoveUpEnabled Me.TmiTop.Enabled = m_SelectionRowsMove.MoveUpEnabled End If If Me.TmiDown.Enabled m_SelectionRowsMove.MoveDownEnabled Then Me.TmiDown.Enabled = m_SelectionRowsMove.MoveDownEnabled Me.TmiBottom.Enabled = m_SelectionRowsMove.MoveDownEnabled End If End Sub Private Sub TsbTop_Click(sender As System.Object, e As System.EventArgs) Handles TmiTop.Click Call m_SelectionRowsMove.SelectionRowsMove(clsSelectionRowsMove.MoveType.Top) End Sub Private Sub TsbUp_Click(sender As System.Object, e As System.EventArgs) Handles TmiUp.Click Call m_SelectionRowsMove.SelectionRowsMove(clsSelectionRowsMove.MoveType.Up) End Sub Private Sub TsbDown_Click(sender As System.Object, e As System.EventArgs) Handles TmiDown.Click Call m_SelectionRowsMove.SelectionRowsMove(clsSelectionRowsMove.MoveType.Down) End Sub Private Sub TsbBottom_Click(sender As System.Object, e As System.EventArgs) Handles TmiBottom.Click Call m_SelectionRowsMove.SelectionRowsMove(clsSelectionRowsMove.MoveType.Bottom) End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click If Me.DataGridView1.Rows.Count = 0 Then MsgBox("tabファイルを開いてください。", MsgBoxStyle.SystemModal) Return End If If Me.DataGridView2.Rows.Count = 0 Then MsgBox("列追加してください。", MsgBoxStyle.SystemModal) Return End If Me.TxtCsvFile.Text = String.Format("{0}.csv", Me.TxtTableName.Text) Dim w_CsvFile As String = String.Format("{0}\{1}.csv", Me.TxtWorkFolder.Text, Me.TxtTableName.Text) Dim w_TableName As String = Me.TxtTableName.Text.ToUpper Dim w_CsvSql As String = mf_GetCsvSql(w_CsvFile, w_TableName, Me.TxtConnect.Text) Dim w_SqlFile As String = String.Format("{0}\{1}", Me.TxtWorkFolder.Text, Me.TxtSqlFile.Text) Call ms_StreamWriter(w_SqlFile, w_CsvSql) Dim w_BatCommand As String = String.Format("SQLPLUS {0} @{1}", Me.TxtConnect.Text, w_SqlFile) Dim w_BatFile As String = String.Format("{0}\{1}", Me.TxtWorkFolder.Text, Me.TxtBatFile.Text) Call ms_StreamWriter(w_BatFile, w_BatCommand) Call ms_StartProcessWaitForExit(w_BatFile) Select Case MsgBox("csvファイルを開きますか。", MsgBoxStyle.YesNo Or MsgBoxStyle.DefaultButton2 Or MsgBoxStyle.SystemModal, "確認") Case MsgBoxResult.Yes Call ms_StartProcess(w_CsvFile) Case Else End Select End Sub Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click Me.TxtCsvFile.Text = String.Format("{0}.csv", Me.TxtTableName.Text) Dim w_CsvFile As String = String.Format("{0}\{1}.csv", Me.TxtWorkFolder.Text, Me.TxtTableName.Text) Call ms_StartProcess(w_CsvFile) End Sub Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click Dim w_WorkFolder As String = Me.TxtWorkFolder.Text Call ms_StartProcess(w_WorkFolder) End Sub Private Sub TmiOpen_Click(sender As System.Object, e As System.EventArgs) Handles TmiOpen.Click Dim w_tabFile As String = mf_FileOpenDialog() If w_tabFile = "" Then Return End If Me.TxtTableName.Text = System.IO.Path.GetFileNameWithoutExtension(w_tabFile) Me.TxtCsvFile.Text = String.Format("{0}.csv", Me.TxtTableName.Text) Dim w_FileText As String = mf_GetFileText(w_tabFile) Dim w_DescList As List(Of clsDesc) = mf_FileTextToDescList(w_FileText) Me.DataGridView1.Rows.Clear() If w_DescList.Count 0 Then Me.DataGridView1.Rows.Add(w_DescList.Count) For i As Integer = 0 To w_DescList.Count - 1 Me.DataGridView1.Rows(i).Cells(me_Col1.c0Name).Value = w_DescList(i).c0Name Me.DataGridView1.Rows(i).Cells(me_Col1.c1Null).Value = w_DescList(i).c1Null Me.DataGridView1.Rows(i).Cells(me_Col1.c2Type).Value = w_DescList(i).c2Type Next Me.DataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells) End If End Sub Private Sub TmiAdd_Click(sender As System.Object, e As System.EventArgs) Handles TmiAdd.Click Dim w_ColumnList As List(Of clsDesc) = mf_GetSelectionColumns() Call ms_AddQuery(w_ColumnList) End Sub Private Function mf_GetCsvSql(wp_TxtFile As String, wp_TableName As String, wp_Connect As String) As String Dim sb As New sb() sb.Add("connect {0}", wp_Connect) sb.Add("set echo off") sb.Add("set heading off") sb.Add("set pagesize 0") sb.Add("set feedback off") sb.Add("set linesize 32767") sb.Add("set trimspool on") sb.Add("spool {0}", wp_TxtFile) sb.Add("SELECT ""列番"" ") For i As Integer = 0 To Me.DataGridView2.Rows.Count - 1 sb.Add(" || ,""{0}"" ", i + 1) Next sb.Add(" AS 列番") sb.Add("FROM DUAL;") sb.Add("SELECT ""列型"" ") For i As Integer = 0 To Me.DataGridView2.Rows.Count - 1 sb.Add(" || ,""{0}"" ", mf_ObjectToString(Me.DataGridView2.Rows(i).Cells(me_Col2.c1Type).Value)) Next sb.Add(" AS 列型") sb.Add("FROM DUAL;") sb.Add("SELECT ""列名"" ") For i As Integer = 0 To Me.DataGridView2.Rows.Count - 1 sb.Add(" || ,""{0}"" ", mf_ObjectToString(Me.DataGridView2.Rows(i).Cells(me_Col2.c0Name).Value)) Next sb.Add(" AS 列名") sb.Add("FROM DUAL;") sb.Add("SELECT ""明細"" ") For i As Integer = 0 To Me.DataGridView2.Rows.Count - 1 Dim w_c0Name As String = mf_ObjectToString(Me.DataGridView2.Rows(i).Cells(me_Col2.c0Name).Value) Dim w_c1Type As String = mf_ObjectToString(Me.DataGridView2.Rows(i).Cells(me_Col2.c1Type).Value) Select Case True Case w_c1Type Like "NUMBER*" w_c0Name = String.Format(" || ,"" || TO_CHAR({0}) || "" ", w_c0Name) Case w_c1Type Like "DATE*" w_c0Name = String.Format(" || ,"" || TO_CHAR({0}, YYYY/MM/DD HH24 MI SS ) || "" ", w_c0Name) Case Else w_c0Name = String.Format(" || ,"" || {0} || "" ", w_c0Name) End Select sb.Add("{0}", w_c0Name) Next sb.Add(" AS 明細") sb.Add("FROM {0};", wp_TableName) sb.Add("spool off") sb.Add("set linesize 80") sb.Add("clear") sb.Add("exit") Return sb.ToString End Function Private Sub ms_StreamWriter(wp_File As String, wp_Text As String) Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding("shift_jis") Dim sw As New System.IO.StreamWriter(wp_File, False, enc) sw.Write(wp_Text) sw.Close() End Sub Private Sub ms_StartProcessWaitForExit(wp_BatFile As String) Dim p As System.Diagnostics.Process = System.Diagnostics.Process.Start(wp_BatFile) p.WaitForExit() p.Close() p.Dispose() End Sub Private Sub ms_StartProcess(wp_File As String) Dim p As System.Diagnostics.Process = System.Diagnostics.Process.Start(wp_File) End Sub Private Function mf_GetFileText(wp_TxtFile As String) As String Dim ret As String = "" Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding("shift_jis") Dim sr As New System.IO.StreamReader(wp_TxtFile, enc) ret = sr.ReadToEnd() sr.Close() Return ret End Function Private Function mf_FileTextToDescList(wp_FileText As String) As List(Of clsDesc) Dim ret As New List(Of clsDesc) Dim a1 As String() = Split(wp_FileText, vbCrLf, -1, CompareMethod.Text) For i As Integer = 0 To a1.Count - 1 Dim a2 As String() = Split(a1(i), vbTab, -1, CompareMethod.Text) Select Case a2.Count Case 3 Dim w_Desc As New clsDesc() w_Desc.c0Name = a2(0) w_Desc.c1Null = a2(1) w_Desc.c2Type = a2(2) ret.Add(w_Desc) Case Else End Select Next Return ret End Function Private Function mf_ObjectToString(wp_Object As Object) As String Dim ret As String = "" If Not wp_Object Is Nothing Then ret = wp_Object.ToString End If Return ret End Function Private Sub ms_DelFile(wp_File As String) System.IO.File.Delete(wp_File) End Sub Private Function mf_FileOpenDialog() As String Dim ret As String = "" Dim d As New OpenFileDialog() d.FileName = "" d.InitialDirectory = Me.TxtWorkFolder.Text d.Filter = "tabファイル(*.tab)|*.tab|すべてのファイル(*.*)|*.*" d.FilterIndex = 1 d.Title = "開くファイルを選択してください" d.RestoreDirectory = True If d.ShowDialog() = DialogResult.OK Then ret = d.FileName End If Return ret End Function Private Function mf_GetSelectionColumns() As List(Of clsDesc) Dim ret As New List(Of clsDesc) For Each r As DataGridViewRow In Me.DataGridView1.SelectedRows Dim w As New clsDesc() w.c0Name = mf_ObjectToString(r.Cells(me_Col1.c0Name).Value) w.c1Null = mf_ObjectToString(r.Cells(me_Col1.c1Null).Value) w.c2Type = mf_ObjectToString(r.Cells(me_Col1.c2Type).Value) ret.Add(w) r.Selected = False Next Return ret End Function Private Sub ms_AddQuery(wp_ColumnList As List(Of clsDesc)) If wp_ColumnList.Count = 0 Then Return End If For Each r As DataGridViewRow In Me.DataGridView2.Rows If r.Selected Then r.Selected = False End If Next Me.DataGridView2.Rows.Add(wp_ColumnList.Count) For i As Integer = 0 To wp_ColumnList.Count - 1 Dim w_Row As Integer = Me.DataGridView2.Rows.Count - i - 1 Me.DataGridView2.Rows(w_Row).Cells(me_Col2.c0Name).Value = wp_ColumnList(i).c0Name Me.DataGridView2.Rows(w_Row).Cells(me_Col2.c1Type).Value = wp_ColumnList(i).c2Type Me.DataGridView2.Rows(w_Row).Selected = True Next Me.DataGridView2.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells) Me.DataGridView2.Focus() End Sub End Class mdlInit.vb Imports System.Runtime.InteropServices Module mdlInit DllImport("KERNEL32.DLL", CharSet =CharSet.Auto) _ Public Function GetPrivateProfileString( _ ByVal lpAppName As String, _ ByVal lpKeyName As String, _ ByVal lpDefault As String, _ ByVal lpReturnedString As System.Text.StringBuilder, _ ByVal nSize As Integer, _ ByVal lpFileName As String) As Integer End Function DllImport("KERNEL32.DLL") _ Public Function WritePrivateProfileString( _ ByVal lpAppName As String, _ ByVal lpKeyName As String, _ ByVal lpString As String, _ ByVal lpFileName As String) As Integer End Function Public Function pf_GetIni(ByVal wp_path As String, ByVal wp_section As String, ByVal wp_key As String, ByVal wp_Default As String) As String Dim ret As String = wp_Default Dim sb As New System.Text.StringBuilder sb.Capacity = 256 Dim i As Integer = GetPrivateProfileString(wp_section, wp_key, wp_Default, sb, sb.Capacity, mf_path(wp_path)) ret = sb.ToString Return ret End Function Public Sub ps_PutIni(ByVal wp_path As String, ByVal wp_section As String, ByVal wp_key As String, ByVal wp_value As String) Dim i As Integer = WritePrivateProfileString(wp_section, wp_key, wp_value, mf_path(wp_path)) End Sub Private Function mf_path(ByVal wp_path As String) As String Dim ret As String = wp_path If ret = "" Then Dim w_path As String = Application.StartupPath If w_path.EndsWith("\") = False Then w_path = w_path "\" End If ret = String.Format("{0}{1}.ini", w_path, My.Application.Info.AssemblyName) End If Return ret End Function End Module sb.vb Public Class sb Private m_sb As System.Text.StringBuilder Public Sub New() m_sb = New System.Text.StringBuilder() End Sub Public Overrides Function ToString() As String Return m_sb.ToString() End Function Public Function Add(ByVal wp_String As String, ByVal ParamArray wp_Args() As Object) m_sb.AppendFormat(wp_String, wp_Args) m_sb.Append(ControlChars.CrLf) Return m_sb End Function Public Function ToStringRemoveLastCrLf() As String Dim ret As String = m_sb.ToString If ret.Length = vbCrLf.Length Then Dim i As Integer = ret.Length - vbCrLf.Length Dim w As String = ret.Substring(i) If w = vbCrLf Then ret = ret.Substring(0, i) End If End If Return ret End Function Public Sub cb() Clipboard.SetText(m_sb.ToString()) End Sub End Class
https://w.atwiki.jp/nerikesi/pages/15.html
htmlでフレームを分割するには? 上下に分割する場合 ファイル名 top.html HTML HEAD TITLE /TITLE /HEAD FRAMESET ROWS="30%,*" FRAME SRC="ue.html" FRAME SRC="sita.html" /FRAMESET /HTML 左右に分割する場合 ファイル名 top.html HTML HEAD TITLE /TITLE /HEAD FRAMESET COLS="30%,70%" FRAME SRC="hidari.html" FRAME SRC="migi.html" /FRAMESET /HTML リンク先をトップレベルのページにしたい場合 上の例でue.html内に a href="top.html" top /a と記述すると分割されたページ中にさらにtop.htmlが表示されてしまいます。 a href="top.html" target="_top" top /a target="_top"とすることによってフレームを解除することができます。
https://w.atwiki.jp/htmlcss/pages/12.html
html head title SPANタグ内の文字を赤・太字に /title style type="text/css" !-- span { color red; font-weight bold; } -- /style /head body span SPANタグ内は赤・太字になります。 /span /body /html
https://w.atwiki.jp/ue4wiki/pages/68.html
HTML5 概要 まずはココを見よう! 参考ページ Tips 概要 UE4はWebGLを用いたHTML5にも対応している。 まずはココを見よう! HTML5版Tappy Chicken(ゲームサンプル) HTML5 ゲームの開発(オフィシャルドキュメント) UE4のHTML5出力でTappyChickenを飛ばすまで(housakusleepingさん) HTML5で出力して、ブログに組み込む(背景アーティストのぶろぐ)レンタルサーバーを借りてアップロードするところまで丁寧に解説してあります。 参考ページ Tips 補足コメント コメント すべてのコメントを見る
https://w.atwiki.jp/naruhodo-digital/pages/13.html
1.HTML5とは 簡単に言うと、動画とか音楽にも対応した新しいhtml。 現在、ホームページ記述の主流となっている「HTML 4.01」の新バージョンとして開発された言語。HTML4とは上位互換であり、HTML5対応のブラウザからは見ることができる。逆に、HTML5専用ページを対応していないブラウザで見ようとしても、表示することが出来ない(基本的に何も表示されないが、ページによっては対応していませんという旨のメッセージが表示される) ⇨Flashだとここまでできる! HTML5とFlashの機能比較 ⇨http //clockmaker.jp/blog/2010/02/flash-vs-html5/ 2.今までと何が違うのか 2.1 プラグインなしに動画が再生できる。 現在のhtml4では、FlashやSilverlightといったプラグインが仲介することで動画の再生が実現されている。html5では、 video タグにより動画再生を可能にする。これにより、flashが対応していないiphoneで動画が再生できるなど、身近な部分でも期待することができる。 2.1.1 動画再生の問題点 動画再生の問題点に、コーデックの問題がある。現在のデファクトスタンダードとなっているflashでは、プラグイン自体に複数の動画コーデックをサポートしているため問題ないが、html5では、表示するブラウザごとにサポートの必要がある。 特に、大きな問題となっているのは、「H.264」をプッシュするAppleやMicrosoftと、オープンビデオにはオープンコーデックがふさわしいとしているMozilla(firefox)やOperaとの対立である。 「H.264」はライセンス料が必要であるため、営利団体でないMozillaなどは特に難色を示す。逆にオープンソースの「Ogg Theora」では、品質(圧縮効率)が劣るとして、両者の足並みは揃わない。 ⇨「Google、H.264サポート中止」の背景を探る/ascii.jp ⇨http //ascii.jp/elem/000/000/581/581646/ ⇨Flashだとここまでできる! HTML5とFlashの機能比較 ⇨http //clockmaker.jp/blog/2010/02/flash-vs-html5/
https://w.atwiki.jp/bluemage/pages/33.html
ちょっと謎ファイルを置いておきます。 ソースはほぼFINAL FANTASY XI Wikiのものですが、条件検索などしたい時用にエクセルファイルにしたので、ついでにcsv変換したものを上げておきます。ダウンロードしてエクセルや表計算ソフトで開けば、ソートなどでより多角的に調べられる...はずです。 まだ見直していないので、編集途中で間違ったところもあるかもしれません。おかしいと思ったら他の定番サイト様でチェックしてください。 横幅がもの凄いことになるのでデータの貼り付けはここには出来ませんが、以下のような情報をカバーしているはずです。 名称 Lv SP 消費MP 発動形式 キャスト リキャスト 種別近接・遠隔・回復・強化・魔法攻撃 射程 属性斬・格・打など物理攻撃の属性や、魔法攻撃の属性 連携1 連携2 ステータス関連項目HP/MP STR/DEX/INT/MND/VIT/AGI/CHR 系統モンスター相関関係での分類 効果 TPTPによる修正 弱体効果青魔法そのものや追加効果として発生する可能性がある弱体効果 ジョブ特性セットすることでつくジョブ特性 ラーニングラーニングできる対象。ただし不十分です。
https://w.atwiki.jp/memo77/pages/26.html
PageLastUpdate 2012-07-05/today - /yesterday - 印刷時のみ適用するcss ありがちな間違い tDiaryテーマとはてなテーマDOCUTYPE宣言ではまった はてなのメニュー部分ではまった wikiで使うための数値実体参照 Internet Explorer Developer Toolbar あなたのページを最速にする14の掟 よく使うサイト comment とにかく基本はAnother HTML-lint gatewayで自分のサイトをチェックして、ダメなところを徹底的に潰すこと。これをやってるうちに、少しづつ知識がついてくる。 印刷時のみ適用するcss とりあえず@ウィキのこのデザインで印刷時に余計な要素を表示させないサンプル 2012/07/05 @media print { form {display none; } .noprint {display none; } .ddsmoothmenu {display none; } .header {display none; } .footer {display none; } .ads {display none; } #body-footer {display none; } .outer { border-left none; border-right none; } body { font 8pt serif; }} ありがちな間違い スクリプトでcgi呼び出すときに、パラメータ中に?a=1 b=2みたいな記述があるときに を にし忘れる。 tDiaryテーマとはてなテーマ 2007/05/01 なんかtDiaryのテーマとか選んでいるうちに、いじらざるを得なくなってきた。せっかくなので勉強しよう。 tDiaryテーマの作り方 http //www.tdiary.org/doc/HOWTO-make-theme.html テーマ向けHTMLの構造図解 http //tnat.net/img/tdiary_css.png テーマ別によるスタイルシートサンプル http //joram.agz.jp/hatena/theme_body.html#link DOCUTYPE宣言ではまった 2007/05/04 検索語:はてなダイアリー/スキン/テーマ/デザイン/tdiary/崩れる adiareyとimg0chに同じテーマを指定しても同じにならない。adiaryははてなとほぼ同じになるけどimg0chが崩れます。 要素を一個一個つぶしていっても直らない。まったく同じ構造までたどり着いて、img0chのDOCUTYPE宣言にloose.dtdがついてるのに気が付く。 adiary/はてな !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" img0ch !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http //www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd" tDiary !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http //www.w3.org/TR/html4/strict.dtd" で、これが原因でしたorz そっかー、dtdのあるなしで標準モードと互換モードというのがあるのね。勉強になった・・・ http //desperadoes.biz/style/mode.php 追記:と思ったら、tDiaryはTransitionalじゃなくてstrict.dtdがついてる。これはデザインの共有で問題にならないのかしらん? さらに追記:img0chのテンプレートや吐き出されてるのは !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" だった。なんで勘違いしたかというと、IEからHTMLとして保存すると、自動的に !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http //www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd" になるようだ。 はてなのメニュー部分ではまった はてなの一番上のメニュー部分はテーマによって違うらしい。テーブルレイアウトでくるときとそうじゃないときがあるよ。 たぶん古い table border="0" width="100%" cellspacing="0" cellpadding="0" id="banner" ... たぶん新しい div id="simple-header" ... wikiで使うための数値実体参照 2007/05/05 HTMLで使える文字実体参照 http //www.ne.jp/asahi/minazuki/bakera/html/reference/charref 文字 数値実体参照 用途 | | テーブル中で|を書く必要があるとき Internet Explorer Developer Toolbar 2007/05/11 Webページの構造を検証できるMicrosoft純正IE用プラグイン。 http //www.forest.impress.co.jp/article/2007/05/11/iedevtoolbar.html あなたのページを最速にする14の掟 http //blog.livedoor.jp/dankogai/archives/50828720.html HTTPリクエストは最小限に - Make fewer HTTP requests CDNを活用 - Use a CDN Expiresヘッダを利用 - Add an Expires header コンテンツはGzipせよ - Gzip components CSSは上に - Put CSS at the top JSは下に - Move JS to the bottom CSSのexpressionの利用は控えよ - Avoid CSS expressions JSとCSSは外部化せよ - Make JS and CSS external DNS参照を抑えよ - Reduce DNS lookups JSを「縮刷」せよ - Minify JS リダイレクトは控えよ - Avoid redirects スクリプトの重複を削除せよ - Remove duplicate scripts ETagはオフにせよ - Turn off ETags AJAXを小さくしてキャッシュ可能にせよ - Make AJAX cacheable and small よく使うサイト HTML鳩丸倶楽部 http //www.ne.jp/asahi/minazuki/bakera/html/hatomaru comment このページの記述で聞きたいこととか間違ってることとかありましたらコメントを。 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/goemode/pages/31.html
HTML5とFlashの機能比較 http //clockmaker.jp/blog/2010/02/flash-vs-html5/ --- Apple HTML5デモサイト http //www.apple.com/html5/ (Safariから閲覧可能) --- Icon Generator http //icon-generator.net/ --- beautifl http //beautifl.net/