I wanted to use sqlite from C# and I created a wrapper. The wrapper was published in the previous post:Sqlite c# wrapper.
I found some nice projects doing almost the same thing but I wanted to be able to use
the latest version of sqlite just as it comes out of the pipeline.
I hate it when I have to wait for months for the latest version to be ported to the environment I use for development.
sqlite c# wrapper
Here are the classes to include in your C# project, so that you can use sqlite.
The classes should work without problem with sqlite version 3.7.4 2010-12-08.
If you find any problem you can mail me at moc.liamg@oirakp (do not copy paste, it is written rtl and set ltr by CSS) or you can leave a message. I you need a feature, that I did not implement, you can tell me, but no promises here.
The usage of the classes is covered in the next post: Sqlite c# usage.
If you find any problem you can mail me at moc.liamg@oirakp (do not copy paste, it is written rtl and set ltr by CSS) or you can leave a message. I you need a feature, that I did not implement, you can tell me, but no promises here.
The usage of the classes is covered in the next post: Sqlite c# usage.
Div based Infobox with CSS3
html:
<div class="infobox" ><div class="head">Titlos</div ><div class="body">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam ut mi imperdiet nibh laoreet porta at ut felis. Etiam cursus diam a justo lobortis congue. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce ac pellentesque eros. Aenean porta sem id lectus cursus luctus. Maecenas sagittis augue non enim laoreet congue. Maecenas pretium varius nulla non molestie. </div></div>
Javascript event handling (all browsers except ie7)
Now that IE9 supports
If we can support ie8 (@31%) we can forever forget attachEvent.addEventListener and IE7's market share is diminishing (goodle analytics tell me that ie7 and older is at 14% and loses 2% per month).That mean we support all current browsers but not ie7 and older.
CSS3 Ribbons
How to create this 3d ribbon using only CSS3:
CSS3 title Ribbon. Works in IE9, FF4, C6, O10.
CSS3 title Ribbon. Works in IE9, FF4, C6, O10.
Javascript i18n (internationalization)
The users of a web app should be able to select the interface language of preference. The default language is english and the developer has to give a list of the terms used along with the translations in all languages supported.
Each term can be
Each term can be
Each user selects a UI language that is stored in:
ins.oUser.eUsrLangEnumeration ins.enLng contains all the languages our system supports.
If a specified term is not supported, in the language that the user has chosen, then the english term is used.
Ajax C#
- Visual Studio 2010/Solution Explorer
- Solution.Add New Project.Visual C#.Web.ASP_NET Empty Web Application
- Project.Add New Item.Visual C#.Generic Handler
<%@ WebHandler Language="C#" Class="Aj" %>
using System;
using System.IO;
using System.Web;
public class Aj : IHttpHandler {
public void ProcessRequest (HttpContext context) {
Stream stIn = context.Request.InputStream;
int nLen = (int)stIn.Length;
byte[] aIn = new byte[nLen];
stIn.Read(aIn, 0, nLen);
System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
string sData = enc.GetString(aIn);
string[] aData = sData.Split();
int nA = Convert.ToInt32(aData[2]);
int nB = Convert.ToInt32(aData[3]);
int nResult = nA + nB;
context.Response.CacheControl = "no-cache";
context.Response.ContentType = "application/javascript";
context.Response.Write("["+nResult.ToString()+"]");
}
public bool IsReusable {get {return false;}}
}
Ajax Javascript
How to call an ajax service from a web page using
- Javascript
- XMLHttpRequest
- POST
Javascript Stopwatch
I want to measure how long some processes are taking. So I wrote the
Stopwatch class (click "Start", wait some seconds, click "Stop":
Class Stopwatch
"use strict";
ins.Stopwatch = function () {
var dFr, dTo, that = this;
this.nMilliseconds;
this.nSeconds;
this.nMinutes;
this.nHours;
this.nDays;
var _bRun = false;
this.bRun = function () { return _bRun; };
this.Start = function () {
_bRun = true;
this.Reset();
dFr = new Date();
};
this.Stop = function () {
_bRun = false;
if (!dFr) {
return Reset();
} else {
dTo = new Date();
return Calc();
}
};
this.Reset = function () {
dFr = dTo = null;
this.nMilliseconds =
this.nSeconds =
this.nMinutes =
this.nHours =
this.nDays = 0;
return 0;
};
this.toString = function (sFormat) {
if (typeof sFormat !== "string") sFormat = "m:s.f";
return sFormat.replace(/d/g, this.nDays.toString()).
replace(/h/g, this.nHours.toString().PadLeft(2, "0")).
replace(/m/g, this.nMinutes.toString().PadLeft(2, "0")).
replace(/s/g, this.nSeconds.toString().PadLeft(2, "0")).
replace(/f/g, this.nMilliseconds.toString().PadLeft(3,"0"));
};
var Calc = function () {
if (dFr && dTo && dFr.getTime() < dTo.getTime()) {
var nTime = dTo.getTime() - dFr.getTime()
that.nMilliseconds = Math.round(nTime);
that.nSeconds = Math.floor(that.nMilliseconds / 1000);
that.nMilliseconds -= that.nSeconds * 1000;
that.nMinutes = Math.floor(that.nSeconds / 60);
that.nSeconds -= that.nMinutes * 60;
that.nHours = Math.floor(that.nMinutes / 60);
that.nMinutes -= that.nHours * 60;
that.nDays = Math.floor(that.nHours / 24);
that.nHours -= that.nDays * 24;
return nTime;
} else {
return that.Reset();
}
};
this.Reset();
};
if (typeof String.prototype.PadLeft != "function") {
String.prototype.PadLeft = function (nLen, sPad) {
if (typeof sPad !== "string") sPad = " ";
if (typeof nLen !== "number") nLen = 2;
var sResult = this;
while (sResult.length < nLen) sResult = sPad + sResult;
return sResult;
};
}
Usage:
var oSW = new i.Stopwatch();
var oBtn, oDiv;
window.onload = function () {
oBtn = document.getElementById("btnFr");
oDiv = document.getElementById("divResults");
oBtn.onclick = ToggleSW;
};
var ToggleSW = function () {
oBtn.disabled = true;
if (oSW.bRun()) {
oSW.Stop();
} else {
oSW.Start();
}
oBtn.innerHTML = oSW.bRun() ? "Stop" : "Start";
oDiv.innerHTML = oSW.bRun() ? "" : oSW.toString("m:s:f");
oBtn.removeAttribute("disabled");
};
Subscribe to:
Posts (Atom)