tiistai 23. kesäkuuta 2015

TortoiseHg - .hgignore

Käytän Visual Studio Community 2013 versiota. Versiohallintana on TortoiseHg.

Kävipä eräänä päivänä, että lähdin muuttamaan .hgignore tiedoston nimeä.. muuttaminen takaisin entiseksi ei sitten onnistunutkaan windowsin tiedostojen hallinnan kautta.
Avuksi tuli tämä ohje.


Käyttämilleni ohjelmaversiolle sopiva .hgignore versiohallintaan on:

############################################################
## Visual Studio 2013
############################################################
syntax: glob

## User-specific files

*.suo
*.user
*.sln.docstates

## Build results

[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
build/
bld/
[Bb]in/
[Oo]bj/

## Roslyn cache directories

*.ide/

## MSTest test Results

[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

## NUnit

*.VisualState.xml
TestResult.xml

## Build Results of an ATL Project

[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

## Chutzpah Test files

_Chutzpah*

## Visual C++ cache files

ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile

## Visual Studio profiler

*.psess
*.vsp
*.vspx

## TFS 2012 Local Workspace

$tf/

## Guidance Automation Toolkit

*.gpState

## ReSharper Ignores

_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

## JustCode

.JustCode

## TeamCity Ignores

_TeamCity*

## DotCover Ignores

*.dotCover

## NCrunch Ignores

_NCrunch_*
*.ncrunch*
.*crunch*.local.xml

## MightyMoose
*.mm.*
AutoTest.Net/

## Web workbench (sass)
.sass-cache/

## Installshield output folder

[Ee]xpress/

## DocProject Ignores

DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

## Click-Once Ignores

publish/

## Publish Web Output

*.[Pp]ublish.xml
*.azurePubxml
*.pubxml

## Windows Azure Build Ignores

csx/
*.build.csdef

## Windows Store Ignores

AppPackages/

## RIA/Silverlight projects

Generated_Code/

## SQL Server Ignores

App_Data/*.mdf
App_Data/*.ldf

## Backup & Report Files when converting a solution
## Not required, we have mercurial!

_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm

## NuGet
packages/

## Business Intelligence projects

*.rdl.data
*.bim.layout
*.bim_*.settings

## Microsoft Fakes

FakesAssemblies/
*.favdoc

## Miscellaneous Ignores

sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/

## Windows Ignores

$RECYCLE.BIN/
Thumbs.db
ehthumbs.db
Desktop.ini

maanantai 22. kesäkuuta 2015

ASP.NET MVC 5 - Conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value

Tässä hyödyllinen linkki päivämäärien käsittelyssä tulevaan virheeseen..

Itse ymmärsin asian lyhyesti sanottuna näin:
SQL server ja .NET käsittelevät DataTime arvoa eri tavoin ja. Jos .NET koodista viedään "tyhjä" päiväys tietokantaan, niin tulee ym. virheilmoitus. Ratkaisu on, että luodaan oletusarvot päivämäärille MVC5.net modelissa:

 public class Offer
    {
        public Offer()
        {
            OfferValid = DateTime.Now;
            ContractStartTime = DateTime.Now;
            ContractEndTime = DateTime.Now;
        }
...
     
        [Display(Name = "OfferValid", ResourceType = typeof(Resources.Resources))]
        public DateTime? OfferValid { get; set; }
[Display(Name = "ContractStartTime", ResourceType = typeof(Resources.Resources))]
        public DateTime? ContractStartTime { get; set; }
        [Display(Name = "ContractEndTime", ResourceType = typeof(Resources.Resources))]
        public DateTime? ContractEndTime { get; set; }

torstai 28. toukokuuta 2015

Dataseppä jakoi diplomit ensimmäisille koodikoululaisille

On toukokuu ja koulujen päättäjäisten aika. Dataseppäkin jakoi todistuksia koululaisille - jo ennen suvivirren veisuuta. Kyseessä oli keväällä 2015 järjestetyt koodikoulut Raudaskosken koululla.

Raudaskylän kyläyhdistys on käynyt neuvotteluja Koodikoulujen jatkosta Raudaskoskella, ja hankehakemus Rieska-Leaderiin aiheen puitteissa on lähdössä. Lomien jälkeen olemme viisaampia siinä, mitä syksy tuo tullessaan koodikoulujen osalta :)

Mutta koodaus jatkuu, se on varmaa!

maanantai 6. huhtikuuta 2015

ASP.NET MVC

Dataseppä aloittanut kahdessa uudessa projektissa, jossa ohjelmoinnin työkaluna ASP.NET MVC ja tietokantana SQL Server. Jatkossa blogiin tulee tietoa ja ongelmanratkaisua näihin tekniikoihin liittyen.

Kevään 2015 koodikoulut pidetty

Dataseppä kävi pitämässä koodikoulut kaikille Raudaskosken koulun luokille (lk 1-6). Iloisia ilmeitä näkyi paljon, kun lapset tekivät ensimmäiset tietokoneohjelmansa Turtle-roy:lla. Jokainen koulun oppilas ja opettaja pääsi koodikoulun tavoitteeseen, eli sai luotua jotain koodaamalla. Myös se tuli todistettua, että koodata osaa jokainen, joka haluaa. Nämä lapset halusivat!!

maanantai 16. helmikuuta 2015

MS Access 2013 - Viitenumeron laskenta

Hyödyllinen koodinpätkä, jolla voi VBA-scriptissä laskea viitenumeron.
HUOM. Finanssialan keskusliitto (http://www.fkl.fi/teemasivut/sepa/tekninen_dokumentaatio/Dokumentit/kotimaisen_viitteen_rakenneohje.pdf) määrittää, että 
viitenumeron pituus tulee olla vähintään 3 merkkiä + tarkiste.

Seuraava funktio laskee viitenumeron tarkisteen:

Function LaskeViite(ByVal numerosarja As String) As String
    'Muuttujien esittely
    Dim origSarja As String ' alkuperäinen numerosarja
    Dim Laskuri As Byte ' laskuri
    Dim sarjanPituus As Byte ' numerosarjan pituus
    Dim tarkisteNumero As Byte ' tarkistenumero
    Dim sarjanSumma As String ' numerosarjan summa
    Dim kertoimet(2) As Byte ' kertoimet
    Dim i As Integer
    Dim j As Integer
    Dim refnumber As String     'Viitenumero ilman jarjestelyä
    Dim outstr As String
    Dim UusiViite As String     'Viitenumero 5 mrk. ryhmissä

    'muuttujien alustus
    origSarja = numerosarja
    sarjanPituus = Len(numerosarja)
    Laskuri = 0
    sarjanSumma = 0
    tarkisteNumero = 0
    kertoimet(0) = 7: kertoimet(1) = 3: kertoimet(2) = 1

    'tarkistetaan annetun numerosarjan pituus ja sisältö
    If (sarjanPituus < 1 Or sarjanPituus > 19) Or Not IsNumeric(numerosarja) Then GoTo Viite_Error

        'käydään numerosarja lävitse
        Do While Laskuri < sarjanPituus
            sarjanSumma = sarjanSumma + (Mid(numerosarja, sarjanPituus - Laskuri, 1) * kertoimet(Laskuri Mod 3))
            Laskuri = Laskuri + 1 'laskurin inkrementointi
        Loop

    'lasketaan tarkistenumero (sarjan summasta seuraava täysi kymmen - sarjan summa)
    tarkisteNumero = (10 - (sarjanSumma Mod 10)) Mod 10

    'palautetaan kutsuvaan aliohjelmaan alkuperäinen numerosarja ja tarkisteNumero
    LaskeViite = origSarja & tarkisteNumero

    refnumber = origSarja & tarkisteNumero
    strlen = Len(origSarja & tarkisteNumero)
    ' / Järjestetään 5 merkin ryhmiin

    If strlen > 5 Then
    j = 0
    For i = strlen To 1 Step -1
        j = j + 1
        If j = 6 Then
            outstr = outstr & " "
            j = 1
        End If
        outstr = outstr & Mid(refnumber, i, 1)
    Next
    UusiViite = ""
    For i = Len(outstr) To 1 Step -1
        UusiViite = UusiViite & Mid(outstr, i, 1)
    Next i

    LaskeViite = UusiViite

    End If

    Exit Function

Viite_Error:

    On Error GoTo 0
    Err.Raise vbObjectError + 1001, , "Viitenumeroksi laskettava numerosarja virheellinen"
    LaskeViite = ""
    Exit Function

End Function

maanantai 9. helmikuuta 2015

VB.net - Tietojen vieminen Excel.CSV tiedostoon

Excelin CSV- muotoiseen tauluun voi viedä VB.net koodissa dataa. Esim. puolipisteellä erotellaan arvot toisistaaan. Jos haluat viedä yhteen Excel soluun dataa, joka sisältää puolipisteen, se on tehtävä näin hankalan näköisesti:

ExcelSolu = """" & EkaMuuttuja & ";" & TokaMuuttuja & """"