すいません、VB4しかやってないんです、VBAはやったけど(ぼそ) チラシの裏だって立派な書き込み空間なんだからねっ!資源の有効活用なんだからねっ!とか偉そうに言ってるけど、実は色々と書き残したいだけ

だからなに? どうしろと? くるみサイズの脳みそしかないあやしいジャンガリアンベムスターがさすらう贖罪蹂躙(ゴシックペナルティ)

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  632  : 記事  35  : コメント  11671  : トラックバック  143

ニュース


片桐 継 は
こんなやつ

かたぎり つぐ ってよむの

大阪生まれ河内育ちなんだけど
関東に住みついちゃったの
和装着付師だったりするの
エセモノカキやってたりするの
VBが得意だったりするの
SQL文が大好きだったりするの
囲碁修行中だったりするの
ボトゲ好きだったりするの
F#かわいいよF#

正体は会った人だけ知ってるの

空気読まなくてごめんなさいなの


わんくまリンク

C#, VB.NET 掲示板
C# VB.NET掲示板

わんくま同盟
わんくま同盟Blog


WindowsでGo言語
WindowsでGo言語


ネット活動


SNSは疲れました

記事カテゴリ

書庫

日記カテゴリ

ギャラリ

イベント活動

プログラムの活動

2016年7月9日 #

ここまで頑張った。でも、XAMLはやっぱり後にする。<を

データを保持したいので、最初はテキストベースでいいかな。とか思ったけれど、どうせなら知らないことやってみようかな、とか考えた。

なので、SQLiteってのをやってみよう。<まじめに触るのは初めてw ハックはなんどかやったが<を

https://blogs.windows.com/buildingapps/2016/05/03/data-access-in-universal-windows-platform-uwp-apps/

ここを参考に、環境を構築。

キモは、さっきの記事の中にもあったけど、ここ。

image

EntityFramework Core によるORM形式ってとこ。

ORMはとても便利な機能ではあるけれど、データベーステーブルのレイアウトが「確定」できてることが意外と大事だったりする。このあたり、微妙なバランスで、頻繁にテーブル列や型や主キーが変わる状態で開発するときに、なまじORM頼みしてると血の涙になることもあったりなんかしちゃったりしてね。まぁここは経験則なんだけれども。

それが嫌で、今の現場では「スペシャル?」なORMもどきライブラリ&クラス生成ツール作って提供していたりラジバンダリ。

とかいってるうちにインスト終わったんで、テーブル設計するかー。

posted @ 19:47 | Feedback (0)

2016年7月8日 #

いっつも忘れるので、めも。

Module Module2
 
    Sub Main()
 
        Dim samples As New List(Of KeyData)
        Dim rnd As New Random
 
        Dim KeysCount = rnd.Next(1, 120)
 
        Console.WriteLine("{0} 件キー", KeysCount)
 
        For x As Integer = 1 To KeysCount
            samples.Add(New KeyData With {
                                .Key1 = rnd.Next(1, 3).ToString("KeyA-000"),
                                .Key2 = rnd.Next(1, 3).ToString("KeyB-000"),
                                .Key3 = rnd.Next(1, 3).ToString("KeyC-000"),
                                .Data1 = rnd.Next(100, 500),
                                .Data2 = Now.AddDays(rnd.Next(-100, 100))
                                })
        Next
 
        Console.WriteLine("件数 : {0}", samples.Count)
        Dim wlist = (From x In samples
                     Group By x.Key1, x.Key2, x.Key3
                     Into Group
                     Select Group).Select(Function(f) f.OrderBy(Function(r) r.Data2).FirstOrDefault).ToList
 
        Console.WriteLine("グルーピング件数 : {0}", wlist.Count)
        wlist.ForEach(Sub(x)
                          Console.WriteLine("キーごとで最も過去日付のレコード : {0}", x.ToString)
                      End Sub)
 
        Console.ReadKey()
    End Sub
 
End Module
 
Public Class KeyData
 
    Property Key1 As String
    Property Key2 As String
    Property Key3 As String
 
    Property Data1 As Integer
    Property Data2 As Date
 
    Public Overrides Function ToString() As String
        Return String.Format("{0}.{1}.{2}({3}:{4})", Key1, Key2, Key3, Data1, Data2.ToString)
    End Function
 
End Class

その結果

image

posted @ 21:51 | Feedback (0)

2016年6月22日 #

セミコロンとったらVB.NETとかとかとか、世迷言だよ、ぐるるる。

とあるクラス、リストしてから、重複除いた要素でごにょりたい、で作ったのでメモ。

 

Module Module2
 
    Sub Main()
 
        Dim samples As New List(Of KeyData)
        Dim rnd As New Random
 
        Dim KeysCount = rnd.Next(1, 120)
 
        Console.WriteLine("{0} 件キー", KeysCount)
 
        For x As Integer = 1 To KeysCount
            samples.Add(New KeyData With {
                                .Key1 = rnd.Next(1, 3).ToString("KeyA-000"),
                                .Key2 = rnd.Next(1, 3).ToString("KeyB-000"),
                                .Key3 = rnd.Next(1, 3).ToString("KeyC-000")
                                })
        Next
 
        Console.WriteLine("件数 : {0}", samples.Count)
        Console.WriteLine("重複なし件数 : {0}", samples.Distinct.Count)
 
        Console.ReadKey()
    End Sub
 
End Module
 
Public Class KeyData
    Implements IEquatable(Of KeyData)
 
    Property Key1 As String
    Property Key2 As String
    Property Key3 As String
 
    Public Function Equals1(other As KeyDataAs Boolean Implements IEquatable(Of KeyData).Equals
        Return Key1 = other.Key1 _
            AndAlso Key2 = other.Key2 _
            AndAlso Key3 = other.Key3
    End Function
 
    Public Overrides Function GetHashCode() As Integer
        Return Key1.GetHashCode Xor Key2.GetHashCode Xor Key3.GetHashCode
    End Function
End Class

 

image

結果、こうなったんで、OK。

posted @ 20:17 | Feedback (34)

2016年6月19日 #

マシンはASUSのU24E。

Windows10 にしてからUSBが不安定で、デバイスがこのエラーで動作してなかったんよねー。

んでもって、がんばって、対処してみた。

原因は、Intelさんとこから出てるドライバファイルがWindows10 さん的に「あやしくね?」「バージョンちがくね?」なものらしく、それで動かないんですわー、的簡単なものなので、対処としてはこのファイルをWindows10さんが「正しい」「動かしてええよん」と思うドライバファイルにすればよいだけ。

このサイトの

https://downloadcenter.intel.com/download/19596/INF-Update-Utility-Primarily-for-Intel-6-5-4-3-900-Series-Chipsets-

 

image

 

青色ボタンの「infinst_autol.exe」を実行して、ファイル書き換えればOK。

このページのこのボタンを押す、という行為に気付くのに時間がかかった<を

実行後は再起動しておけば尚OK。

ドライバファイルはインテルさん証明書付なんで、Windows10さんはご機嫌に動かしてくれまする。

posted @ 14:10 | Feedback (25)

UI、燦々とぉ~♪

やりたいこと、は明白なんだけれど、それをUWPアプリに落とし込むとき、どういうUIにすればよいんだろう。

XAMLに手を付けていて、なにかが違うような気がしてきたので、再勉強。

ちょっとこのページを読んでみた。

設計および UI

https://developer.microsoft.com/ja-jp/windows/design

なんか、WindowsFormのようでいて、そうでもない。

ページの移り方、操作の仕方、部品の配置、ってのはこうなんだよ、こう考えるんだよ、が書いてあった。

で、これと照らし合わせてみて、自分の中で、こういう風に遷移して、こういう操作ができればいい、が整理できてくれば後は大丈夫、だと思う、思いたい、思うことにする。

つまりは、だ、

脳内を形に現すってのは、簡単じゃないってこと。

posted @ 13:29 | Feedback (0)

2016年6月13日 #

筑前煮と鯖味噌煮が得意だし、好き(謎)

どうも、XAMLのめんどくささが耐えられない。

ListView作りたいな→ListView.ItemTemplate作ってね→DataTemplate作ってね→中の部品を定義してね→ListView.ItemContainerStyleも作ってね→中の定義も書いてね

これのXML形式の入れ子の繰り返し。

ここまで理解。

<Page
    x:Class="PlayAndEditForMP3.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:PlayAndEditForMP3"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">
     <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
          RenderTransformOrigin="0.498,0.111" Margin="0,5,0,0">
         <Grid.RowDefinitions>
             <RowDefinition Height="60"/>
             <RowDefinition Height="*"/>
         </Grid.RowDefinitions>

         <Button x:Name="button" Content="Button" Grid.Row="0"
            HorizontalAlignment="Left" Height="38"
            VerticalAlignment="Top" Width="140"
            RenderTransformOrigin="1.538,1.397" Margin="20,12,0,0"/>
         <ListView x:Name="ItemsView"  Grid.Row="1" 
                  Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
             <ListView.ItemTemplate>
                 <DataTemplate>
                     <Border Background="{ThemeResource AppBarBackgroundThemeBrush}">
                         <Grid HorizontalAlignment="Stretch" Margin="0">
                             <TextBlock Text="{Binding}" Name="Title" />
                             <TextBlock Text="{Binding}" Name="Artist" />
                         </Grid>
                     </Border>
                 </DataTemplate>
             </ListView.ItemTemplate>
             <ListView.ItemContainerStyle>
                 <Style TargetType="ListViewItem">
                     <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                 </Style>
             </ListView.ItemContainerStyle>
         </ListView>

     </Grid>

</Page>

むぅ、メンドクサイ(大事なことらしい)

細かいデザインまで美しく配置でき、かつ、好きにできる、それは素敵、でも、メンドクサイ(大事なこ(ry))

まだ、XAMLコーディングだけで相当かかりそうな気配orz

posted @ 20:54 | Feedback (0)

2016年6月12日 #

どうも、ソースのコピペ量が増えると色々と面倒で、綺麗なHTMLにしたいし、いれてみた。

Productivity Power Tools 2015
https://visualstudiogallery.msdn.microsoft.com/34ebc6a2-2777-421d-8914-e29c1dfa7f5d

Visual Studio 2015 で使えまする。

これで、

image_thumb[1]

こういうメニューがでてくるので、あとは、説明なくても大丈夫だよねw

サンプルソースは一つ前の記事の、完全動作コード。

Module Module1

     Sub Main()

         Dim samples As New List(Of SampleRecord)
         Dim rnd As New Random

         Dim KeysCount = rnd.Next(1, 23)

         Console.WriteLine("{0} 件キー", KeysCount)

         For x As Integer = 1 To KeysCount
             For f As Integer = 1 To rnd.Next(1, 55)
                 samples.Add(New SampleRecord With {
                                     .Key1 = x.ToString("KeyA-000"),
                                     .Key2 = x.ToString("KeyB-000"),
                                     .Key3 = x.ToString("KeyC-000"),
                                     .Data1 = f.ToString("DataA-00"),
                                     .Data2 = f.ToString("DataB-00"),
                                     .Data3 = f.ToString("DataC-00")
                                     })
             Next
         Next

         Dim c = From x As SampleRecord In samples
                 Group x By x.Key1, x.Key2, x.Key3
                 Into Datas = Group
                 Select New Hoge With {
                     .Key1 = Key1,
                     .Key2 = Key2,
                     .Key3 = Key3,
                     .Datas = Datas.Select(Function(f)
                                               Return New DetailData With {
                                                                 .Data1 = f.Data1,
                                                                 .Data2 = f.Data2,
                                                                 .Data3 = f.Data3
                                                                }
                                           End Function).ToList
                     }

         c.ToList.ForEach(Function(x)
                              Console.WriteLine("{0}-{1}-{2}-{3}", x.Key1, x.Key2, x.Key3, x.Datas.Count)
                          End Function)

         Console.ReadKey()
     End Sub

End Module

Public Class SampleRecord
     Property Key1 As String
     Property Key2 As String
     Property Key3 As String
     Property Data1 As String
     Property Data2 As String
     Property Data3 As String
End Class

Public Class DetailData
     Property Data1 As String
     Property Data2 As String
     Property Data3 As String
End Class

Public Class Hoge
     Property Key1 As String
     Property Key2 As String
     Property Key3 As String

     Property Datas As List(Of DetailData)
End Class

 

ふむ、やれそうだ(謎)

posted @ 9:34 | Feedback (29)

2016年6月11日 #

意外とはまったのでメモ。

やりたいこと。

とあるクラスのリスト、クラスには集約キーのプロパティが複数あって、データ部のレコードが存在してる。

これをキーでまとめて、データ部をリスト化したクラスのリストにまとめたい。

で、書いてみたサンプルがこれ。

Dim c = From x As SampleRecord In samples
                Group x By x.Key1, x.Key2, x.Key3
                Into Datas = Group
                Select New Hoge With {
                    .Key1 = Key1,
                    .Key2 = Key2,
                    .Key3 = Key3,
                    .Datas = Datas.Select(Function(f)
                                              Return New DetailData With {
                                                                .Data1 = f.Data1,
                                                                .Data2 = f.Data2,
                                                                .Data3 = f.Data3
                                                               }
                                          End Function).ToList
                    }

hogeクラスにはキーで集約されて、データ部にリスト化されたDetail情報が集まる

posted @ 22:05 | Feedback (23)

2016年6月8日 #

なにしろずっと、WindowsFormばかりだったから、ひさしぶりのXAMLでパニクる

image

部品配置がWindows.Formに比べて恐ろしく、めんどくさいんな。

XAMLはやっぱり慣れないなー。HTML書くのは楽しいのになぁ。

<Page x:Class="PlayAndEditForMP3.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:PlayAndEditForMP3"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <Button x:Name="button" Content="Button"
            HorizontalAlignment="Left" Height="38"
            VerticalAlignment="Top" Width="140"
            RenderTransformOrigin="1.538,1.397" Margin="20,30,0,0"/>
        <GridView x:Name="listView"
                  HorizontalAlignment="Left"
                  Height="100" Margin="10,135,0,0"
                  VerticalAlignment="Top" Width="390"
                  BorderBrush="{ThemeResource AppBarBorderThemeBrush}"
                  Background="{ThemeResource ListBoxBackgroundThemeBrush}"
                  Header="リスト"
                  IsSynchronizedWithCurrentItem="False">
            <TextBlock>テスト2</TextBlock>
            <TextBlock>テスト3</TextBlock>
        </GridView>
    </Grid>
</Page>

これが綺麗なXAMLかってーと、怪しいかと思う。

やりたいことはボタン2つおいて、その下にWindowsFormでいうDataGridViewを貼りたいだけなんだけどね。
Form屋さんとしては、どうもこの画面制作にかかる手間と考え方というか構成が気に入らないんだよなぁ。

でも、頑張って慣れないとなので頑張ろう<を

posted @ 22:24 | Feedback (30)

2016年6月6日 #

とりあえず、VisualStudio 2015 Update2 入れました。

VB.NETで「ユニバーサルアプリケーション」を新規作成して、出来立てほやほやプロジェクトをビルド。

そのまま素でエミュレートデバッグ実行してみた。

ぼーっと待つことしばらく(数分)、OSが上がってきて

image

もうちょっと待ってたら

image

真っ白画面キター!!

エミューレータデバッグ終わったら

image

こんな感じ。ふむ。うちのPCだとデバッグだけで使用メモリ1.2G増しってとこなのね。

スペックそんなに高くないからなぁ。

メモリが多いに越したことはないっぽい感じ。

posted @ 20:29 | Feedback (1)

2016年5月29日 #

とりあえず、ここを読む

Windows 10 アプリに関するハウツー ガイド:
https://msdn.microsoft.com/ja-jp/library/windows/apps/mt244352.aspx

 

とにかく、色々が変わりすぎ。ここまでクラス化、ライブラリ化が進んでるのかと。

ゆとりっていいなぁ<何

posted @ 10:14 | Feedback (0)

2016年5月28日 #

今、修羅場です。

現在、このハムスターは某業界でお仕事していますが、大人の事情で大変なことになっています。

やることやらお仕事やら納期やらがたくさんです。休日は休養です。

なので、一段落しないと、DECODEのおさらいもできません。

作りたいUWPアプリあるのにorz

ということで、6月あたりには、タイトルっぽいことをはじめてみようと思います。

決意表明、それだけですw

posted @ 12:36 | Feedback (0)

2016年3月28日 #

外部委託(あうとそーしんぐ)することにしたw

サイトはここ:https://tohtml.com/

細かいところはHTMLコード貼り付けてから手を入れれば何とか。

Public Class Hoge
  Property HogeHoge As String 
End Class

これでどだ?

posted @ 23:06 | Feedback (0)

2016年3月27日 #

2016/2/13にVer.0.6.0になっておりまするですよ。

サイトはここ:http://openlivewriter.org/

今は亡き?(でもないがw) Microsoft Windows Live Writer のオープンソース化した後継ソフトウェアなんだけど、使い慣れてしまうと、これの再インストールができないのはつらいのよねw

なので、この子を入れてみることにした。これの便利なところは、画像いれたり、PlugIn設定すればSyntaxHighlighterが使えたりするところ。

といっても、公式サイトでは、まだPlugin機能はComingSoon、、、なのさ。でも、ソース見ると実際には仕掛けがあるっぽいので、やってみようかなってことで、探してみた。ら、すでに、あったよw プラグインww

SyntaxHighlighterを仕込んでみる

ちゃんと、作り主が対応済だってさーv

サイトはここ:http://richhewlett.com/wlwsourcecodeplugin/

ここにOpenLiveWriter用のファイルがある。

でもって、これをダウンロードして、フォルダにセット。

セット先の説明はここ。

Option 1: By default OLW will look in the Plugins folder inside the application path (e.g: C:\Users\UserName\AppData\Local\OpenLiveWriter\app-0.5.1.3\Plugins)  but this path will change as OLW auto-updates itself (i.e. the app number will change). To install copy the plugin (and its supporting txt file in the downloaded Zip package) to that path using the latest …\app-x.x.x.x folder present on your system. Each time OLW updates to a new version you will need to re-copy or move the plugin into the new  …\app-x.x.x.x folder.

要するに、OLWのプラグインフォルダにいれればいいらしい。

なので、入れてみた。そして、OpenLiveWriterを起動して、ファイルメニューからOptions選んで

image

おー、導入成功v

Public Class Hoge

	Property HogeHoge As Sting

End Class

うむ、あとはこっちの設定かorz

いろいろすっ飛ばしたからなぁ<を

posted @ 22:33 | Feedback (3)

2016年3月26日 #

わんくまブログ、ダイエット成功おめ!

・働いてます

・ヒョウモントカゲモドキと暮らしてます

 

生きてますv

posted @ 18:17 | Feedback (408)