The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My work

  • My badges

  • Twitter Updates

  • My Flickr Stream

    20140508-Delphi-2007--Project-Options--Cannot-Edit-Application-Title-HelpFile-Icon-Theming

    20140430-Fiddler-Filter-Actions-Button-Run-Filterset-now

    20140424-Windows-7-free-disk-space

    More Photos
  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,346 other followers

Archive for August, 2011

Excel XML Spreadsheet: Styles and formatting

Posted by jpluimers on 2011/08/25

I found some time to continue my series that started with Excel XML Spreadsheet: Date.Type is mandatory :)

This time, it is about Styles and using the styles to format. I’ll limit myself to formatting Columns, but you can equally apply this to individual Cells, Rows, and Tables.

Note that in the below XML listings, I have replaced the angle brackets with { and }, because the WordPress editor will otherwise delete the XML from the sourcecode portions.

First, let’s look at some ss:Styles:

 {Styles}
  {Style ss:ID="Default" ss:Name="Normal"}
   {Alignment ss:Vertical="Bottom"/}
  {/Style}
  {Style ss:ID="s21"}
   {NumberFormat ss:Format="yyyy/mm/dd"/}
  {/Style}
  {Style ss:ID="s22"}
   {NumberFormat ss:Format="yyyy/mm/dd\ h:mm:ss"/}
  {/Style}
  {Style ss:ID="s31"}
   {NumberFormat ss:Format="[ENG][$-409]ddd"/}
  {/Style}
  {Style ss:ID="s32"}
   {NumberFormat ss:Format="[$-F800]dddd\,\ mmmm\ dd\,\ yyyy"/}
  {/Style}
 {/Styles}

Then the usage of the styles in Columns:

   {Column ss:StyleID="s21" ss:Width="53.25"/}
   {Column ss:Index="4" ss:StyleID="s31" ss:Width="89.25"/}
   {Column ss:StyleID="s22" ss:Width="95.25"/}
   {Column ss:StyleID="s32" ss:Width="95.25"/}

First a few remarks about the ss:Styles:

  1. Styles have IDs, which don’t need to be in the form s##, you can use any unique ID for them. Excel uses s## because that’s how the formatting pick-list works.
  2. You specify the formatting as a ss:NumberFormat using the components from the Creating international number formats documentation.
  3. You can add an Excel specific LCID (locale identifier) to a format. Without it, it will use the user’s locale settings.
  4. You can ommit the language hint (like [ENG]) from the formatting.
  5. The Excel LCID is very similar to the LCID Structure using hexadecimal values from the (old now defunct Locale ID Chart and replaced by the new) Microsoft Locale ID Values,  Language Identifier Constants and Strings table or list of Locale IDs Assigned by Microsoft, but with a few twists.
  6. There is a lot of confusion about [$-F800] and [$-F400] which actually behaves as LANG_SYSTEM_DEFAULT (0x0800 in the latter table), where [$-F800] displays the long date and [$-F400] displays the time (as correctly identified in this Openoffice Bugzilla bug report – or the Google cache of it).
  7. Three digit language [$-409] should be extended to 4-digit LCID 0x0409. It will format the cell using that specific language (in this case: English 3-letter weekday abbreviation).

A few remarks about the ss:Columns:

  1. These columns define formatting for column A, D, E and F.
  2. You don’t need to have a definition for every column in your Worksheet.Table, just for the ones that need formatting.
  3. The Column definition is smart: it can be sparse! After each gap, define a column having an ss:Index attribute, then continue defining subsequent columns until you need another gap.
  4. You can ommit the ss:Width attribute: when empty, the column will auto-size

–jeroen

PS: Rob van Gelder posted a nice formula to show nice translations using Excel formatting.

Posted in Development, i18n internatiolanization and L10 Localization, Software Development, XML, XML/XSD, XSD | Leave a Comment »

#NS #QPark den Haag Laan van NOI begint een #fail te worden

Posted by jpluimers on 2011/08/24

Ik parkeer al een maand of wat mijn auto op de NS Q-Park bij station Den Haag Laan van NOI om van daar met de trein verder te reizen.

Helaas begint het parkeren nu zo langzamerhand een #fail te worden omdat de kaartlezers bij de uitgang en ingang steeds meer en vaker kuren vertonen.

Al sinds een week of 3 doet de kaartlezer bij de uitrit vaak nogal vreemd: meldingen als “alleen contactloos” of “draai uw kaart” (ook na 4 mislukte pogingen met verschillende kaart oriëntaties) zijn aan de orde van de dag, en de medewerkers achter de “help” knop zijn helaas van sterk wisselende kwaliteit.

Wat er bij problemen het uitrijden meestal gebeurt is dit:

  • Ze geven aan dat ze geen betalingen of kortingen kunnen verwerken
  • Ze geven aan dat je het 0900 nummer moet bellen om de zaak met betaling en kortingen te corrigeren
    (maar vergeten aan te geven wanneer op dat 0900 nummer geen afwezigheidsmelding: van 0800 tot 1800, iets wat ook ontbreekt op de kortingskaart)
  • Ze openen de  poort

Betalingen en kortingen kunnen ze echter wel ter plekke verwerken (de customer desk kan dit ook, maar alleen op dezelfde dag, dus alleen als je dezelfde dag binnen de openingstijden belt).

Wat de help medewerkers behoren te doen is het volgende:

  • Vragen naar (NS of andere) kortingskaart
  • Gegevens betalingskaart vragen en opzoeken (bijvoorbeeld laatste 4 cijfers creditcard)
  • Betaling verwerken
  • Poort openen

Inmiddels (ik heb al een aantal medewerkers achter het 0900 nummer gesproken) weet ik dit en kan ik de medewerker achter de help knop correct instrueren.

Gisteren stond er – na 3 weken modderen! – zelfs een medewerker om te checken wat er nu allemaal mis ging.

Dat modderen kost helaas veel tijd: uitrijden levert vaak een wachtrij op van soms wel 20 minuten, en vandaag bij het inrijden ook 10 minuten langer gedaan (en 2 treinen gemist).

Dus: NS en Q-Park: dit kan beter!

–jeroen

PS: Even de Q-Park contactgegevens op een rijtje:

Q-Park

T.a.v. Q-Park Customer Desk
Antwoordnummer 1125
6200 VB Maastricht
telefoon: 0900 – 44 66 880

(op werkdagen tussen 08.00 uur en 18.00 uur, € 0,45 per gesprek)

Posted in Opinions, Power User | Leave a Comment »

Batch file to get TCP/IP info from local LAN

Posted by jpluimers on 2011/08/24

I needed an automated way of inspecting the local LAN.

The batch files below will on IPv4 networks, with thanks to articles from Windows IT Pro and Rob van der Woude for some ideas:

  • find the TCP/IP gateways/netmasks
  • enumerate all the IP addresses on each subnet (assuming the netmask is 255.255.255.0)
  • ping each IP address and get ARP info, and dump that to the console

There are other tools that can do this too (like Angry IP Scanner), and more but the ones I tried could not copy the output to the clipboard.

find local subnets: Read the rest of this entry »

Posted in Batch-Files, CommandLine, Development, Power User, Scripting, Software Development | 4 Comments »

delphi has TTransparentCustomControl in the Controls unit

Posted by jpluimers on 2011/08/23

Wow, I never noticed that Delphi 2006 introduced the TTransparentCustomControl.

I spotted it a while ago from the delphi – Transparent TCustomControl? answer on StackOverflow.

It is not used in the Delphi VCL itself, but a google search reveals that a few people have actually used it, and Steve Trefethen (former member of the VCL team) mentioned it too.

Note that it contains a mouse interception bug that is still open.

–jeroen

Posted in Delphi, Development, Software Development | Leave a Comment »

Foto’s 14e editie van de Katwijkbinse Truckrun – Oranjevereniging Katwijk a/d Rijn

Posted by jpluimers on 2011/08/22

Afgelopen zaterdag was alweer de 14e editie van de Katwijkbinse Truckrun.

Dit geweldige evenement laat mensen met een verstandelijke beperking meerijden in één van de 100 trucks en 3 touring cars door de bollenstreek.

Ook dit jaar mocht ik mijn broer wegbrengen en ophalen, en heb meteen de kans schoon gezien ‘s ochtends en ‘s middags wat foto’s te schieten van de trucks op het voormalige Marinevliegkamp Valkenburg.

  • Foto’s ochtend (foto’s op volgorde van binnenkomst, het blauwe formulier achter elk raam bevat het trucknummer)
  • Foto’s middag (foto’s op volgorde van Trucknummer)

Dit jaar was de eerste keer dat de vrachtwagen van Adest Musica mee mocht rijden.

Met nieuwe bestickering van al onze sponsors luidt dit twee belangrijke dingen in:

  1. De Adest Night of Music op 8 oktober die de Rotary Sassenheim samen organiseert, en waar – samen met de diverse afdelingen van Adest Musica – de bekende trombonist Ben van Dijk, saxofonist Wouter Kiers en partyband Ain’t no Secret zullen optreden.
    De opbrengst komt ten gunste van de Jeugdband van Adest Musica, en natuurlijk geven zij die avond ook een mooi optreden!
  2. De aanloop naar het Wereld Muziek Concours 2013 (de tijd gaat snel: over 2 jaar dat alweer achter de rug!) waar de Drum- en Showband Adest Musica weer een puik product gaat neerzetten.

Ben je trucker of deelnemer, en wil je graag originele foto’s, laat het dan even weten via het contactformulier: vul in ieder geval het nummer van je Truck in.

Ben je benieuwd naar Adest Musica? Schrijf je in voor de nieuwsbrief van Adest’ Night of Music!

Volgend jaar is de 15e Katwijkbinse Truckrun, tot dan!

–jeroen

via: Oranjevereniging Katwijk a/d Rijn.

Posted in About, Adest Musica, Event, Personal, Truckrun | Leave a Comment »

 
Follow

Get every new post delivered to your Inbox.

Join 1,346 other followers

%d bloggers like this: