Sietoebie

Software solutions and questions blog
RSS icon Email icon Home icon
  • De eindeloze wordpress login loop

    Posted on October 21st, 2008 Christophe No comments

    Op mijn to do lijstje stond al een tijdje (met stip) dat ik voor dit blog de eindeloze login loop diende op te lossen. De eindeloze login loop kwam er nadat ik wordpress upgrade naar 2.6.2. Username en paswoord invullen en ik kwam terug op hetzelfde login scherm uit.
    Zo tussen de soep en patatjes door ging ik dan eens googelen maar niets kon mij echt helpen. Temeer de mogelijke oplossingen steeds wezen naar een fresh install. En daar had ik niet echt zin in.

    Toen ik eraan dacht dat ik de plugins niet gedeactiveerd had bij het upgraden naar 2.6.2 begon er zowaar een lichtje branden.
    Wat zou er gebeuren mocht ik nu, manueel, in de database de plugins deactiveren.
    Via het phpMyAdmin panel ging ik dus op zoek naar de actieve plugins.
    Ik dacht dat het wel in mijn wp_options te vinden zou zijn dus keerde ik die tabel binnenstebuiten.
    En daar kwam ik het veld active_plugins tegen. Dat veld bevatte enkele waarden. Dus dacht ik, ik ga ervoor en ga dat veld leegmaken. Opslaan en dan terug proberen inloggen.
    En kijk, ik kreeg de melding dat de database een upgrade diende te ondergaan en even later was ik deze post aan het schrijven.

    [tags]wordpress, login loop, phpmyadmin[/tags]

  • Een recordset snel naar excel exporteren

    Posted on September 24th, 2008 Christophe No comments

    Met visual basic kan je natuurlijk door een ganse recordset loopen en record per record naar excel gaan wegschrijven.
    Gemakkelijker gaat het als je de recordset in één keer, in zijn geheel exporteert naar excel.

    Dim RS As New ADODB.Recordset
    CREATERECORDSETONSERVER RS, dbOCMW ' function to create a recordset on the serverside

    RS.Open "select * from MyQuery where jaar = " & cmbJaar.Text

    'Start a new workbook in Excel
    Dim oApp As New Excel.Application
    Dim oBook As Excel.Workbook
    Dim oSheet As Excel.Worksheet

    Set oBook = oApp.Workbooks.Add
    Set oSheet = oBook.Worksheets(1)

    'Add the field names in row 1
    Dim i As Integer
    Dim iNumCols As Integer

    iNumCols = RS.Fields.Count
    For i = 1 To iNumCols
    oSheet.Cells(1, i).Value = RS.Fields(i - 1).Name
    Next

    'Add the data starting at cell A2
    oSheet.Range("A2").CopyFromRecordset RS

    'Format the header row as bold and autofit the columns
    With oSheet.Range("a1").Resize(1, iNumCols)
    .Font.Bold = True
    .EntireColumn.AutoFit
    End With

    oApp.Visible = True
    oApp.UserControl = True

    'Close the Database and Recordset
    RS.Close

    In a module we have
    Sub CREATERECORDSETONSERVER(rs)
    Set rs = New ADODB.Recordset
    rs.ActiveConnection = db ' is the active connection with the database
    rs.CursorLocation = adUseServer
    rs.CursorType = adOpenStatic
    rs.LockType = adLockReadOnly
    End Sub

    [tags]visual basic, excell, microsoft office[/tags]

  • Aantal rijen te weten komen in excel via visual basic6

    Posted on September 5th, 2008 Christophe No comments

    Een gebruiker van een programma weet altijd graag of het programma met een actie bezig is. Handig om het verloop van een proces aan te duiden is natuurlijk een progressiebar. Maar die progressiebar moet waarden hebben om enigszins een juiste weergave van een proces weer te geven.

    Stel je wil een excel sheet importeren in een database. In die excel sheet staan er x aantal rijen ingevuld.
    Hoe kan je nu de maximumwaarde aan de progressiebar geven (zijnde het aantal ingevulde rijen in de excel sheet);
    Je zou natuurlijk een for next (zolang cell(i,1) <> “”) kunnen gebruiken maar op zich heb je hier dan ook een progressiebar nodig omdat een grote excel sheet wel eventjes kan loopen.

    Ik maak gebruik van het volgende
    dim cnt as double
    Dim xlTmp As Excel.Application
    Set xlTmp = New Excel.Application
    cnt = xlTmp.ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row

    [tags]visual basic, excel[/tags]

  • Experts Exchange

    Posted on August 28th, 2008 Christophe 3 comments

    Als ik een programmeerprobleem google komt Expert Exchange al snel met de oplossing op de proppen. Echter, experts exchange is te betalen vooraleer je de oplossing kan lezen.

    Dankzij twitter en wapiwapi ben ik nu lid van de community. En dat helemaal gratis.

    Wil jij ook gratis (beperkt) gebruik maken van experts exchange? Klik dan hier.

    [tags]wapiwapi, experts exchange, EE, experts exchange, programmeren[/tags]

  • Hoe om te gaan met een bit vector?

    Posted on July 11th, 2008 Christophe No comments

    Een bit vector is een return status van een routine waarbij nul, één of meer bits gezet worden.
    Normaliter handel ik alle routines (pollings) af met een select case – end select instructie.

    Maar indien de return waarde van een routine of een polling naar een aangesloten apparaat een bit vector is, dan bestaat de mogelijkheid dat de select case – end select de return waarde niet juist detecteert.
    Ook een if – then – elseif – endif zal deze niet detecteren.

    We dienen voor elke mogelijke respons, gebruik te maken van een if – then – endif instructie.
    Ook al zijn er 100 verschillende responses mogelijk vanuit de routine.

  • Schermresolutie

    Posted on June 4th, 2008 Christophe No comments

    Soms is het wel handig om te weten welke de schermresolutie van de computergebruiker is.
    In Visual Basic 6 deed ik dat via een eenvoudige functie.

    Public Function ScreenResolution()
    Dim iW As Integer
    Dim iH As Integer

    iW = Screen.Width / Screen.TwipsPerPixelX
    iH = Screen.Height / Screen.TwipsPerPixelY
    ScreenResolution = iW & " x " & iH
    End Function

    In het form_load event van het formulier dat u wilt openen plaats je dan gewoon een if then constructie.

    Bijvoorveeld:

    If ScreenResolution = "1024 x 768" Then
    Me.WindowState = vbMaximized
    Else
    Me.Width = 16290
    Me.Height = 10545
    End If

  • Europa en de veelheid aan eID’s

    Posted on June 3rd, 2008 Christophe 1 comment

    Vandaag op It professional stond onderstaand artikel mbt de eID.

    Europa wil eenheid in veelheid van eID’s
    Project 20 miljoen om link te maken tussen systemen lidstaten.

    Europa heeft een pilootproject gestart om eID’s van de verschillende lidstaten over heel Europa te kunnen gebruiken. Het project van 20 miljoen zal een architectuur opleveren waardoor burgers e-govdiensten in het buitenland kunnen gebruiken met de eID van hun eigen land.

    Achter STORK, of Secure Identity Across Borders Linked, zit een consortium van 13 lidstaten en IJsland. Voor België nemen Fedict en de Kruispuntbank Sociale Zekerheid deel. Fedict samen met Spanje de architectuur achter het systeem uittekenen. De Kruispuntbank Sociale Zekerheid zal meewerken aan een pilootproject rond authenticatie met buitenlandse elektronische identiteitsbewijzen.

    “Het project zal starten met een aantal studies over wat er al is op gebied van eID. Zo is er in België de eID, maar het Verenigd Koninkrijk heeft een papieren identiteitsbewijs, terwijl de electronische identiteit in Slovenië en Oostenrijk een louter virtueel token is,” zegt Frank Leyman, de persoon de internationale betrekkingen van Federale IT-dienst Fedict onderhoudt.

    Europa benadrukt dat het geen eenvormige oplossing wil opdringen aan de lidstaten. De verschillende vormen van eID’s zullen dus blijven bestaan. “Er zal dus een laag boven de eID’s komen,” volgens Leyman, “een interface.”

    Fedict zal mee de architectuur definiëren, samen met Spanje. Die architectuur wordt volgens Leyman in een laboratorium gebouwd, om later ook effectief in een echte omgeving te worden gebruikt.

    Een van de toepassingen zal ook Belgisch zijn: Limosa, de toepassing om buitenlanders aan te melden die in België werken. Surfers zullen kunnen inloggen met eID’s uit andere landen.

    20 Miljoen. Ik wil ook zo een budget om mijn eID project uit de grond te stampen :) .

  • Beveiliging

    Posted on June 2nd, 2008 Christophe No comments

    Als we een programma hebben waarbij paswoorden of waarbij licentiessleutels gebruikt worden dienen we die paswoorden of sleutels te beveiligen.
    Paswoorden dienen niet onbeveiligd over het netwerk gestuurd te worden.

    Een voorbeeld om paswoorden in visual basic te encryperen en terug te decryperen geef ik hieronder mee.

    Encoderen:
    Public Function encode(str As String) As String
    Dim i As Long
    Dim r As String
    For i = 1 To Len(str)
    r = r & Chr(255 - Asc(str))
    str = Right$(str, Len(str) - 1)
    Next
    encode = r
    End Function

    Decoderen:

    Public Function decode(str As String) As String
    Dim i As Long
    Dim r As String
    For i = 1 To Len(str)
    r = r & Chr(255 - Asc(str))
    str = Right$(str, Len(str) - 1)
    Next
    decode = r
    End Function

    Update:
    Serge kwam me meldden dat dit niet echt encryperen is maar een reversible hash.

  • ADO Connections

    Posted on May 29th, 2008 Christophe 2 comments

    Normaal leg ik de connectie naar een database via ODBC-gegevensbronbeheer. Zo voeg ik een DSN toe via mijn installatieprogramma (wise installmaster). Een probleem stelt zich echter wanneer de gebruiker van de pc niet voldoende rechten heeft om naar het register te schrijven.

    Ik los dit dan op aan de hand van een inifile. De datasource wordt uit de inifile gelezen en de connectie kan gemaakt worden.
    Maar wat als je nu een ado connectie wil maken naar een access database die met een paswoord beveiligd is?

    Dan moeten we het paswoord natuurlijk in onze connectiestring opnemen. En dat werkt als volgt:

    db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;data source=" & strDSN & ";Jet OLEDB:Database Password=paswoord"

    strDSN is dan het path naar waar de database zich bevindt en welk dus in de inifile vermeld staat.

    dim strDSN as string
    strDSN = sGetINI(sINIfile, "Data", "MijnDatabase", "")

  • Bijna 7 miljoen e-ID’s in omloop

    Posted on May 16th, 2008 Christophe 1 comment

    Vandaag in de metro:

    Precies 6.846.228 Belgen beschikken vandaag al over een elektronische identiteitskaart. Tegen September 2009 zouden ook de 3.5 miljoen andere landgenoten over dergelijke e-ID moeten beschikken, maar volgens Christine Defraigne (MR) zijn er juridische problemen met de vernieuwing van de e-kaarten. “niet alle burgers worden immers verplicht een e-ID aan te schaffen, wat discriminatie is”

    Discriminatie, niet verplicht? Elke Belg zal toch een e-ID hebben over afzienbare tijd?

    Desalniettemin, het wordt toch echt wel eens tijd dat ik het e-ID project eens (laat) afwerk(en).

    [tags]eid, e-id, project[/tags]