tag:blogger.com,1999:blog-73144503409434443052024-03-06T11:23:47.354+05:30Techie's HomeProgram source codes, Mobile phone tips, Hobby Programs, Lazy algorithms .Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.comBlogger28125tag:blogger.com,1999:blog-7314450340943444305.post-19357808782148707402011-12-30T00:40:00.000+05:302011-12-30T00:40:22.108+05:30Access QML Element properties from C++<div dir="ltr" style="text-align: left;" trbidi="on">
Qt provides various method for working with QML. This following tutorial shows, how a QML Element properties can be accessed and modified from C++ code using <a href="http://developer.qt.nokia.com/doc/qt-4.8/qdeclarativeproperty.html" target="_blank">QDeclarativeProperty</a> class.<br />
<br />
It will show a simple idea on accessing properties which cannot be accessed directly.<br />
<br />
<b>main.qml</b><br />
<br />
<pre>import QtQuick 1.1
Rectangle {
id: parentRect
property bool layoutValue : LayoutMirroring.enabled ? true : false;// Read Only
LayoutMirroring.enabled: false
LayoutMirroring.childrenInherit: true
width: 300; height: 50
color: "yellow"
border.width: 1
Row {
anchors { left: parent.left; margins: 5 }
y: 5; spacing: 5
Repeater {
model: 5
Rectangle {
color: "red"
opacity: (5 - index) / 5
width: 40; height: 40
Text {
text: index + 1
anchors.centerIn: parent
}
}
}
}
}</pre>
<br />
<br />
<b>main.cpp</b><br />
<br />
<pre>#include <qtgui qapplication="">
#include <qdeclarativeproperty>
#include <qgraphicsobject>
#include <qdebug>
#include "qmlapplicationviewer.h"
Q_DECL_EXPORT int main(int argc, char *argv[])
{
QScopedPointer<qapplication> app(createApplication(argc, argv));
QScopedPointer<qmlapplicationviewer> viewer(QmlApplicationViewer::create());
viewer->setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
viewer->setMainQmlFile(QLatin1String("qml/Test/main.qml"));
QDeclarativeProperty propLayout(viewer->rootObject(),"layoutValue");
QDeclarativeProperty propLayoutMargin(viewer->rootObject(),"anchors.leftMargin");
qDebug() << "Layout Property :" << propLayout.read().toBool();
qDebug() << "Layout Margin :" << propLayoutMargin.read().toReal();
qDebug() << "Property Modified? " << propLayoutMargin.write(QVariant::fromValue(20));
if(propLayout.type() == QDeclarativeProperty::Invalid)
qDebug() << "Invalid Layout Mirror property";
if(propLayoutMargin.type() == QDeclarativeProperty::Invalid)
qDebug() << "Invalid Anchor Margin property";
viewer->showExpanded();
return app->exec();
} </qmlapplicationviewer></qapplication></qdebug></qgraphicsobject></qdeclarativeproperty></qtgui></pre>
</div>Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com0tag:blogger.com,1999:blog-7314450340943444305.post-13162580023005945562011-12-14T00:06:00.000+05:302011-12-14T00:06:11.459+05:30Qt for Android - __atomic_inc undefined error!<div dir="ltr" style="text-align: left;" trbidi="on">
<span id="thread_subject_site">I have also encountered this error. This is how I rectified.<br /><br />Select Projects on the left panel (below Debug). Select "Build" in the top and make sure the Qt Version and arm configuration are same in <br />1) Compilation Target (Android robot symbol)<br />2) Edit Build Configuration (drop down list box)<br />3) Qt Version (General category)<br /><br />Now click "Run" next to "Build". Now select atleast "android-8" as the Android target. Now clean the project and click rebuild. This should clear this error.<br /><br /></span></div>Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com4tag:blogger.com,1999:blog-7314450340943444305.post-34746797824483353642011-09-27T19:19:00.001+05:302011-09-27T19:25:07.422+05:30Nokia phone asking memory card password!<div dir="ltr" style="text-align: left;" trbidi="on">
After resetting your mobile phone for some reasons, you may see that any E - Series or N - Series Nokia phone will ask you the memory card password, even if you haven't set one.<br />
<br />
Just try the <b>Lock Code </b>of your mobile phone and that is the <i>Abracadabra...</i><br />
<br />
If you haven't set any <b>Lock Code </b>for your phone, try the default code i.e., <b>12345</b>.</div>
Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com2tag:blogger.com,1999:blog-7314450340943444305.post-70374104514372343512011-09-21T14:57:00.003+05:302011-09-23T02:49:42.347+05:30Install Qt MYSQL Driver for Linux (Ubuntu).<div dir="ltr" style="text-align: left;" trbidi="on"><blockquote><pre class="default prettyprint"><code><span class="typ">QSqlDatabase</span><span class="pun">:</span><span class="pln"> QMYSQL driver </span><span class="kwd">not</span><span class="pln"> loaded</span></code></pre></blockquote><blockquote><pre class="default prettyprint"><code><span class="typ">QSqlDatabase</span><span class="pun">:</span><span class="pln"> available drivers</span><span class="pun">:</span><span class="pln"> QSQLITE QSQLITE2</span></code></pre></blockquote><br />
You might have come across this error, if you are using Qt SDK from Nokia.<br />
<br />
Now follow these steps to get MYSQL working with Qt Creator.<br />
<br />
Go to <b>System-> Administration-> Synaptic manager</b> and search "<b>libqt4-sql-mysql</b>" (libqt3-sql-mysql if you are using Qt3) and install the library by right clicking and select Mark for installation.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ3JxoTIE-PLBq_L0glfg9wYUG_b7fjiwKCZN2YlgM7ns_xhxmMcnCMFrXjz27vij7QIu61tx0NLWgehbzPY7Ej2qwMtyVfD7keA2gx8HybQEiflxfEdIYNmEyuerP5C9BJ-dW7JD8FH6I/s1600/Synaptic+Qt+MYSQL+Driver+Install.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ3JxoTIE-PLBq_L0glfg9wYUG_b7fjiwKCZN2YlgM7ns_xhxmMcnCMFrXjz27vij7QIu61tx0NLWgehbzPY7Ej2qwMtyVfD7keA2gx8HybQEiflxfEdIYNmEyuerP5C9BJ-dW7JD8FH6I/s320/Synaptic+Qt+MYSQL+Driver+Install.png" width="320" /></a></div><br />
<br />
Now, in your Qt code add this line<br />
<b>qDebug() << QCoreApplication::libraryPaths();</b><br />
<br />
You will see something like this upon running your program.<br />
<style type="text/css">
p, li { white-space: pre-wrap;
</style><span style="color: #be1414; font-family: 'Monospace'; font-size: 9pt;">("/home/raja/QtSDK/Desktop/Qt/473/gcc/plugins", "/home/raja/Documents/QtProjects/SyncTest-build-desktop")</span><br />
<br />
Now copy <b>libqsqlmysql.so</b> (search it or find it as shown in the above picture) to the above path. You can also use the library by using <b>QCoreApplication::addLibraryPath(QString path)</b>.</div>Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com7tag:blogger.com,1999:blog-7314450340943444305.post-60054484887594174712011-09-19T20:56:00.000+05:302011-09-28T11:47:44.339+05:30Some random things about Qt & QML!<div dir="ltr" style="text-align: left;" trbidi="on">
<b>Someone asked a question in stack overflow about the future of Qt and Qt's future support for Desktop. A thought of sharing you what my answer was to him.</b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://blog.qt.nokia.com/files/2011/02/qt-logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://blog.qt.nokia.com/files/2011/02/qt-logo.png" /></a></div>
<br />
<div style="background-color: #fce5cd;">
<br /></div>
<div class="post-text" style="background-color: #fce5cd;">
The future of Qt is never uncertain. The one who said, "there is not interest in desktop" is not the owner. The future of Qt is well mentioned after the Feb'11 (announcement of WP7 collaboration). In fact, QML is Good way to go for future UIs.<br />
<br />
For your proof, the new Unity Interface for Ubuntu is going to have a 2D QML interface and the future editions are going to have QML 3D interface for some applications. The new Ubuntu is highly integrated with Qt.<br />
<br />
The way Qt is going is too good so far. As a regular reader of Qt blogs and labs, I can say it for sure. The new Qt 5 is going to have lot of features and performance improvements. Also, they have committed its development to the successful Open Governance model. So, everyone can contribute.<br />
<br />
Since the future of development is going to be for Mobiles and Tablets, most of the tutorials you will find may seem to create an illusion that Qt has no support for Desktop, but its not the case.<br />
<br />
Download the latest Qt SDK 1.3 and you will find the Qt 4.7.4 for Desktop. <br />
<br />
<b>To ease the use of Qt, for developing both mobile and desktop applications, Nokia has combined both development environment into one SDK called Qt SDK, unlike the previous Nokia Qt SDK.</b><br />
<br />
Moreover, I think no other C++ development framework can support a wide range of platforms like Qt supports now.<br />
<br />
I supports: -<br />
<ul style="text-align: left;">
<li>Desktop OSs: Windows, Linux, Mac OSx. </li>
<li>Mobiles OSs: Symbian, Android (Community cupported), IOS (Comunity supported), Windows CE, Embedded Linux devices, Meego, Maemo. </li>
<li>Tablet OSs: Android, Meego, Tablet Linux ports.</li>
</ul>
<br />
<i>A new opportunity for porting it to is available in the name of Qt Necessitas- The Android port and IOS port of Qt are based on this only.</i> If you have doubts check the YouTube for videos.<br />
<br />
And regarding Java, I have read it is not that cross platform as Qt is. I also doubt whether any IDE, other than Qt can give you the comfort of cross compiling.<br />
The Documentation is too good that, for rare cases where cross platform is not supported (for some Window functions) is mentioned explicitly along with alternative methods to implement it in that particular OS.<br />
<br />
QML is awesome, since its behind the scene actions are performed using C++ to give you similar performance (85% as fast as Qt C++). And you don't have the head ache of Memory Management (if you are not used to with C++). If you really want a beautiful GUI and fast performance go for QML and C++.. Else the easy option is to use QML and Javascript. <br />
I'm developing an application for Symbian, using heavy animations in my Nokia E63 with a CPU clock speed of 386 MHz and QML performance is smoother and doesn't hangs at all.<br />
<br />
You can even find the OS and version with an if else statement, that easy. Give it a try before deciding it by reading some reviews.</div>
<div style="background-color: #fce5cd;">
<br /></div>
<div style="background-color: #fce5cd;">
<br /></div>
<br />
<br /></div>
Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com1tag:blogger.com,1999:blog-7314450340943444305.post-26464536833089191872011-09-05T20:12:00.000+05:302011-09-28T11:55:51.338+05:30Format pendrives, removable disks in Ubuntu!<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.crackpot.ws/wp-content/uploads/2009/08/ubuntu-logo.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.crackpot.ws/wp-content/uploads/2009/08/ubuntu-logo.gif" /></a></div>
<br />
I don't know whether you already know about this. You may even feel this post as silly, but yet this will help some newbies in Ubuntu.<br />
<br />
To format your <b>pendrive</b> or any <b>removable disk</b>, you don't have to use any shell commands. Just select from the taskbar<br />
<br />
<b style="color: red;">Places -> Computer -> Right click the (pendrive or removable disk) and select <i>Format.</i></b><br />
<br />
<br />
You can select the file system according to your usage. If you are just going to use it under Linux, select <i>"EXT"</i> file system or choose <i>"FAT"</i> file system.<br />
<br />
<iframe align="center" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=0596005903&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="center" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=0132396556&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe></div>
Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com0tag:blogger.com,1999:blog-7314450340943444305.post-29628099053813394162011-08-29T01:07:00.001+05:302011-08-29T01:14:43.999+05:30Use this code to paste Program source codes in blogger (or any HTML web page).<div dir="ltr" style="text-align: left;" trbidi="on">The program source code to be posted/pasted has to go between the <b><pre></pre></b> tags.<br />
<br />
<blockquote><div style="background-color: #cfe2f3;"></div><div style="background-color: #cfe2f3;"><div style="background-color: peachpuff; height: 600px; overflow: auto; width: 99%;"></div><div style="background-color: #cfe2f3;"><pre></div><div style="background-color: #cfe2f3;"><br />
</div><div style="background-color: #cfe2f3;"></pre></div><div style="background-color: #cfe2f3;"></div></div></blockquote><br />
The results will look like as it appears in the post. <a href="http://www.techieshome.in/2011/08/simple-application-in-qml-stop-watch.html"><b style="color: #0b5394;">A Simple QML application</b></a><br />
<br />
<iframe align="middle" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=0470916591&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="middle" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=076450214X&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe></div>Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com0tag:blogger.com,1999:blog-7314450340943444305.post-54401319386750275102011-08-29T00:49:00.005+05:302011-08-29T01:22:29.364+05:30A simple application in QML - Stop Watch.<div dir="ltr" style="text-align: left;" trbidi="on"><div dir="ltr" style="text-align: left;" trbidi="on">I've been playing around with Qt and QML for almost eight months and the new declarative language from the Troll Tech Engineers has impressed many people out there. If you don't know what QML is then don't hesitate to take a look at <a href="http://qt.nokia.com/">Nokia's website,</a> you will find many things about Qt and QML.<br />
<br />
QML is a wonderful language especially for developing mobile applications, where people always want to have fun with the UI. Thats why the legend Symbian seemed to lost its glory, but soon after Nokia's announcement of Symbian port of Qt, there is been a huge increase of interest from the people to develop for mobile.<br />
<br />
QML, the declarative language has the strong Qt C++ on its backend and is a very simple environment for Web Programmers and New Programmers who don't have much experience with traditional programming languages like C++, C# and Java.<br />
So here is my <b>Stopwatch</b> code snippet programs source code.<br />
<br />
<span style="background-color: #cfe2f3;">MainUI:</span> <span style="color: #0b5394;">StopWatch.qml (Best viewed in Landscape View)</span><br />
<span style="color: #0b5394;"><br />
</span><br />
<div style="background-color: peachpuff; height: 600px; overflow: auto; width: 99%;"><pre>import Qt 4.7
Rectangle {
id:parentContainer
width:320
height: 240
focus:true
Image {
id: background
width:parentContainer.width
height:parentContainer.height
source: "background.jpg"
}
FontLoader{
id:digitalFont
source:"trana.ttf"
}
Keys.onSelectPressed:{
startButton.startFunction()
}
Keys.onSpacePressed:{
startButton.startFunction()
}
Keys.onEnterPressed:{
startButton.startFunction()
}
Keys.onLeftPressed:{
resumeButton.resumeFun()
}
Keys.onRightPressed:{
stopButton.stopFunction()
}
http://www.techieshome.in/2011/08/simple-application-in-qml-stop-watch.html
Keys.onUpPressed:{
newLapButton.createNewLapRecord()
}
Keys.onDownPressed:{
resetButton.resetFun()
}
Keys.onAsteriskPressed:{
Qt.quit()
}
Keys.onContext2Pressed:{
Qt.quit()
}
Grid{
id:lapRecordView
rows:4
columns:3
spacing:3
anchors.top:parent.top
anchors.horizontalCenter:parent.horizontalCenter
NewLapL{
id:lap1
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap1
opacity:1.0
height: (parentContainer.height*7)/100
width: (parentContainer.width*29)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap1; property: "width"; from: 0; duration: 200 }
}
]
}
NewLapL{
id:lap2
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap2
opacity:1.0
height: (parentContainer.height*7)/100
width: (parentContainer.width*29)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap2; property: "width"; from: 0; duration: 200 }
}
]
}
NewLapL{
id:lap3
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap3
opacity:1.0
height: (parentContainer.height*7)/100
width: (parentContainer.width*29)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap3; property: "width"; from: 0; duration: 200 }
}
]
}
NewLapL{
id:lap4
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap4
opacity:1.0
height: (parentContainer.height*7)/100
width: (parentContainer.width*29)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap4; property: "width"; from: 0; duration: 200 }
}
]
}
NewLapL{
id:lap5
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap5
opacity:1.0
height: (parentContainer.height*7)/100
width: (parentContainer.width*29)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap5; property: "width"; from: 0; duration: 200 }
}
]
}
NewLapL{
id:lap6
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap6
opacity:1.0
height: (parentContainer.height*7)/100
width: (parentContainer.width*29)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap6; property: "width"; from: 0; duration: 200 }
}
]
}
NewLapL{
id:lap7
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap7
opacity:1.0
height: (parentContainer.height*7)/100
width: (parentContainer.width*29)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap7; property: "width"; from: 0; duration: 200 }
}
]
}
NewLapL{
id:lap8
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap8
opacity:1.0
height: (parentContainer.height*7)/100
width: (parentContainer.width*29)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap8; property: "width"; from: 0; duration: 200 }
}
]
}
NewLapL{
id:lap9
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap9
opacity:1.0
height: (parentContainer.height*7)/100
width: (parentContainer.width*29)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap9; property: "width"; from: 0; duration: 200 }
}
]
}
NewLapL{
id:lap10
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap10
opacity:1.0
height: (parentContainer.height*7)/100
width: (parentContainer.width*29)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap10; property: "width"; from: 0; duration: 200 }
}
]
}
NewLapL{
id:lap11
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap11
opacity:1.0
height: (parentContainer.height*7)/100
width: (parentContainer.width*29)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap11; property: "width"; from: 0; duration: 200 }
}
]
}
NewLapL{
id:lap12
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap12
opacity:1.0
height: (parentContainer.height*7)/100
width: (parentContainer.width*29)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap12; property: "width"; from: 0; duration: 200 }
}
]
}
}
Row{
id:buttonRow
spacing:5
anchors.bottom:parent.bottom
anchors.bottomMargin:5
anchors.horizontalCenter:parent.horizontalCenter
Rectangle{
id:startButton
width:start.width + 9
height:start.height + 10
radius:5
smooth:true
gradient: Gradient{
GradientStop{color:"white"; position:0.0}
GradientStop{color:"gray"; position:0.5}
GradientStop{color:"white"; position:1.0}
}
Image {
id: startIcon
source: "qrc:/ok.png"
opacity:0.75
anchors.horizontalCenter:parent.horizontalCenter
width:parent.width - start.width/2
height:parent.height-3
}
SequentialAnimation{
id: startButtonAnimation
running:false
NumberAnimation { target: startButton; property: "y"; to: startButton.y - 15; duration: 300 }
NumberAnimation { target: startButton; property: "y"; to: startButton.y; duration: 200 }
NumberAnimation { target: startButton; property: "y"; to: startButton.y - 8; duration: 200 }
NumberAnimation { target: startButton; property: "y"; to: startButton.y; duration: 200 }
}
Text {
id: start
text: "Start"
smooth:true
font.bold:true
font.italic:true
font.pixelSize:(((parentContainer.width*9)/100)*50)/100
style:Text.Raised
color:"indigo"
styleColor:"slateblue"
anchors.horizontalCenter:parent.horizontalCenter
anchors.verticalCenter:parent.verticalCenter
}
MouseArea{
anchors.fill:parent
onClicked: {
startButton.startFunction()
}
}
function startFunction()
{
clock.running = false;
timer.milliSeconds = 0;
timer.seconds = 0;
timer.minutes = 0;
timer.hours = 0;
milli.text = "00"
second.text = "00"
minute.text = "00"
hour.text = "00"
lap1.text = ""
lap2.text = ""
lap3.text = ""
lap4.text = ""
lap5.text = ""
lap6.text = ""
lap7.text = ""
lap8.text = ""
lap9.text = ""
lap10.text = ""
lap11.text = ""
lap12.text = ""
lap1.opacity = 0
lap2.opacity = 0
lap3.opacity = 0
lap4.opacity = 0
lap5.opacity = 0
lap6.opacity = 0
lap7.opacity = 0
lap8.opacity = 0
lap9.opacity = 0
lap10.opacity = 0
lap11.opacity = 0
lap12.opacity = 0
lap1.state = ""
lap2.state = ""
lap3.state = ""
lap4.state = ""
lap5.state = ""
lap6.state = ""
lap7.state = ""
lap8.state = ""
lap9.state = ""
lap10.state = ""
lap11.state = ""
lap12.state = ""
newLapButton.lapCount = 0;
clock.running = true;
startButtonAnimation.running = true
}
}
Rectangle{
id:stopButton
width:stop.width + 9
height:stop.height + 10
radius:5
smooth:true
gradient: Gradient{
GradientStop{color:"white"; position:0.0}
GradientStop{color:"gray"; position:0.5}
GradientStop{color:"white"; position:1.0}
}
Image {
id: stopIcon
source: "qrc:/right.png"
opacity:0.75
anchors.horizontalCenter:parent.horizontalCenter
width:parent.width - stop.width/2
height:parent.height-3
}
SequentialAnimation{
id: stopButtonAnimation
running:false
NumberAnimation { target: stopButton; property: "y"; to: stopButton.y - 15; duration: 300 }
NumberAnimation { target: stopButton; property: "y"; to: stopButton.y; duration: 200 }
NumberAnimation { target: stopButton; property: "y"; to: stopButton.y - 8; duration: 200 }
NumberAnimation { target: stopButton; property: "y"; to: stopButton.y; duration: 200 }
}
Text {
id: stop
text: "Stop"
smooth:true
font.bold:true
font.italic:true
font.pixelSize:(((parentContainer.width*9)/100)*50)/100
style:Text.Raised
styleColor:"slateblue"
color:"indigo"
anchors.horizontalCenter:parent.horizontalCenter
anchors.verticalCenter:parent.verticalCenter
}
MouseArea{
anchors.fill:parent
onClicked : {
stopButton.stopFunction()
}
}
function stopFunction()
{
clock.running = false
stopButtonAnimation.running = true
}
}
Rectangle{
id:resumeButton
width:resume.width + 9
height:resume.height + 10
radius:5
smooth:true
gradient: Gradient{
GradientStop{color:"white"; position:0.0}
GradientStop{color:"gray"; position:0.5}
GradientStop{color:"white"; position:1.0}
}
Image {
id: resumeIcon
source: "qrc:/left.png"
opacity:0.75
anchors.horizontalCenter:parent.horizontalCenter
width:parent.width - resume.width/2
height:parent.height-3
}
SequentialAnimation{
id: resumeButtonAnimation
running:false
NumberAnimation { target: resumeButton; property: "y"; to: resumeButton.y - 15; duration: 300 }
NumberAnimation { target: resumeButton; property: "y"; to: resumeButton.y; duration: 200 }
NumberAnimation { target: resumeButton; property: "y"; to: resumeButton.y - 8; duration: 200 }
NumberAnimation { target: resumeButton; property: "y"; to: resumeButton.y; duration: 200 }
}
Text {
id: resume
text: "Resume"
smooth:true
font.bold:true
font.italic:true
font.pixelSize:(((parentContainer.width*9)/100)*50)/100
style:Text.Raised
styleColor:"slateblue"
color:"indigo"
anchors.horizontalCenter:parent.horizontalCenter
anchors.verticalCenter:parent.verticalCenter
}
MouseArea{
anchors.fill:parent
onClicked: {
resumeButton.resumeFun()
}
}
function resumeFun()
{
resumeButtonAnimation.running = true
if(timer.milliSeconds > 0 || timer.seconds > 0 || timer.minutes > 0 || timer.hours > 0)
clock.running = true;
else
return;
}
}
Rectangle{
id:newLapButton
property int lapCount: 0
width:newLap.width + 9
height:newLap.height + 10
radius:5
smooth:true
gradient: Gradient{
GradientStop{color:"white"; position:0.0}
GradientStop{color:"gray"; position:0.5}
GradientStop{color:"white"; position:1.0}
}
Image {
id: newLapIcon
source: "qrc:/up.png"
opacity:0.75
anchors.horizontalCenter:parent.horizontalCenter
width:parent.width - newLap.width/2
height:parent.height-3
}
SequentialAnimation{
id: newLapButtonAnimation
running:false
NumberAnimation { target: newLapButton; property: "y"; to: newLapButton.y - 15; duration: 300 }
NumberAnimation { target: newLapButton; property: "y"; to: newLapButton.y; duration: 200 }
NumberAnimation { target: newLapButton; property: "y"; to: newLapButton.y - 8; duration: 200 }
NumberAnimation { target: newLapButton; property: "y"; to: newLapButton.y; duration: 200 }
}
Text {
id: newLap
text: "New Lap"
smooth:true
font.bold:true
font.italic:true
font.pixelSize:(((parentContainer.width*9)/100)*50)/100
style:Text.Raised
styleColor:"slateblue"
color:"indigo"
anchors.horizontalCenter:parent.horizontalCenter
anchors.verticalCenter:parent.verticalCenter
}
MouseArea{
anchors.fill:parent
onClicked:{
newLapButton.createNewLapRecord()
}
}
function createNewLapRecord()
{
newLapButtonAnimation.running = true
if(newLapButton.lapCount == 0){
lap1.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap1.state = "created";
}
if(newLapButton.lapCount == 1){
lap2.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap2.state = "created";
}
if(newLapButton.lapCount == 2){
lap3.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap3.state = "created";
}
if(newLapButton.lapCount == 3){
lap4.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap4.state = "created";
}
if(newLapButton.lapCount == 4){
lap5.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap5.state = "created";
}
if(newLapButton.lapCount == 5){
lap6.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap6.state = "created";
}
if(newLapButton.lapCount == 6){
lap7.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap7.state = "created";
}
if(newLapButton.lapCount == 7){
lap8.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap8.state = "created";
}
if(newLapButton.lapCount == 8){
lap9.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap9.state = "created";
}
if(newLapButton.lapCount == 9){
lap10.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap10.state = "created";
}
if(newLapButton.lapCount == 10){
lap11.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap11.state = "created";
}
if(newLapButton.lapCount == 11){
lap12.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap12.state = "created";
}
newLapButton.lapCount ++;
}
}
Rectangle{
id:resetButton
width:reset.width + 9
height:reset.height + 10
radius:5
smooth:true
gradient: Gradient{
GradientStop{color:"white"; position:0.0}
GradientStop{color:"gray"; position:0.5}
GradientStop{color:"white"; position:1.0}
}
Image {
id: resetIcon
source: "qrc:/down.png"
opacity:0.75
anchors.horizontalCenter:parent.horizontalCenter
width:parent.width - reset.width/2
height:parent.height-3
}
SequentialAnimation{
id: resetButtonAnimation
running:false
NumberAnimation { target: resetButton; property: "y"; to: resetButton.y - 15; duration: 300 }
NumberAnimation { target: resetButton; property: "y"; to: resetButton.y; duration: 200 }
NumberAnimation { target: resetButton; property: "y"; to: resetButton.y - 8; duration: 200 }
NumberAnimation { target: resetButton; property: "y"; to: resetButton.y; duration: 200 }
}
Text {
id: reset
text: "Reset"
smooth:true
font.bold:true
font.italic:true
font.pixelSize:(((parentContainer.width*9)/100)*50)/100
style:Text.Raised
styleColor:"slateblue"
color:"indigo"
anchors.horizontalCenter:parent.horizontalCenter
anchors.verticalCenter:parent.verticalCenter
}
MouseArea{
anchors.fill:parent
onClicked:{
resetButton.resetFun()
}
}
function resetFun()
{
resetButtonAnimation.running=true
clock.running=false
timer.milliSeconds = 0;
timer.seconds = 0;
timer.minutes = 0;
timer.hours = 0;
milli.text = "00"
second.text = "00"
minute.text = "00"
hour.text = "00"
lap1.text = ""
lap2.text = ""
lap3.text = ""
lap4.text = ""
lap5.text = ""
lap6.text = ""
lap7.text = ""
lap8.text = ""
lap9.text = ""
lap10.text = ""
lap11.text = ""
lap12.text = ""
lap1.opacity = 0
lap2.opacity = 0
lap3.opacity = 0
lap4.opacity = 0
lap5.opacity = 0
lap6.opacity = 0
lap7.opacity = 0
lap8.opacity = 0
lap9.opacity = 0
lap10.opacity = 0
lap11.opacity = 0
lap12.opacity = 0
lap1.state = ""
lap2.state = ""
lap3.state = ""
lap4.state = ""
lap5.state = ""
lap6.state = ""
lap7.state = ""
lap8.state = ""
lap9.state = ""
lap10.state = ""
lap11.state = ""
lap12.state = ""
newLapButton.lapCount = 0;
}
}
Rectangle{
id:quitButton
width:quitImage.width+5
height:quitImage.height
color:"transparent"
Image {
id: quitImage
source: "qrc:/quit.png"
width:startButton.height
height:startButton.height
anchors.centerIn:parent.Center
}
Image {
id: quitIcon
source: "qrc:/asterisk.png"
opacity:0.8
anchors.bottom:quitImage.bottom
anchors.horizontalCenter:quitButton.horizontalCenter
width:parent.width/2
height:parent.height-6
}
MouseArea{
anchors.fill:parent
onClicked:{
Qt.quit()
}
}
}
}
Row{
id:timer
property int milliSeconds: 0
property int seconds: 0
property int minutes: 0
property int hours: 0
anchors.centerIn:parent
Rectangle{
id:hourContainer
width:(((parentContainer.width*20)/100))
height:(((parentContainer.width*20)/100))
gradient: Gradient{
GradientStop{color:"gray"; position:0}
GradientStop{color:"white"; position:0.5}
GradientStop{color:"gray"; position:1.0}
}
Text {
id: hour
text: "00"
font.family:digitalFont.name
font.bold:true
smooth:true
font.pixelSize:26
anchors.centerIn:parent
}
}
Rectangle{
width:5
height:(((parentContainer.width*20)/100))
gradient: Gradient{
GradientStop{color:"gray"; position:0}
GradientStop{color:"white"; position:0.5}
GradientStop{color:"gray"; position:1.0}
}
Text {
text: ":"
font.family:digitalFont.name
font.bold:true
smooth:true
font.pixelSize:26
anchors.centerIn:parent
}
}
Rectangle{
id:minuteContainer
width:(((parentContainer.width*20)/100))
height:(((parentContainer.width*20)/100))
gradient: Gradient{
GradientStop{color:"gray"; position:0}
GradientStop{color:"white"; position:0.5}
GradientStop{color:"gray"; position:1.0}
}
Text {
id: minute
text: "00"
font.family:digitalFont.name
font.bold:true
smooth:true
font.pixelSize:26
anchors.centerIn:parent
}
}
Rectangle{
width:5
height:(((parentContainer.width*20)/100))
gradient: Gradient{
GradientStop{color:"gray"; position:0}
GradientStop{color:"white"; position:0.5}
GradientStop{color:"gray"; position:1.0}
}
Text {
text: ":"
font.family:digitalFont.name
font.bold:true
smooth:true
font.pixelSize:26
anchors.centerIn:parent
}
}
Rectangle{
id:secondContainer
width:(((parentContainer.width*20)/100))
height:(((parentContainer.width*20)/100))
gradient: Gradient{
GradientStop{color:"gray"; position:0}
GradientStop{color:"white"; position:0.5}
GradientStop{color:"gray"; position:1.0}
}
Text {
id: second
text: "00"
font.family:digitalFont.name
font.bold:true
smooth:true
font.pixelSize:26
anchors.centerIn:parent
}
}
Rectangle{
width:5
height:(((parentContainer.width*20)/100))
gradient: Gradient{
GradientStop{color:"gray"; position:0}
GradientStop{color:"white"; position:0.5}
GradientStop{color:"gray"; position:1.0}
}
Text {
text: ":"
font.family:digitalFont.name
font.bold:true
smooth:true
font.pixelSize:26
anchors.centerIn:parent
}
}
Rectangle{
id:milliSecondContainer
width:(((parentContainer.width*20)/100))
height:(((parentContainer.width*20)/100))
gradient: Gradient{
GradientStop{color:"gray"; position:0}
GradientStop{color:"white"; position:0.5}
GradientStop{color:"gray"; position:1.0}
}
Text {
id: milli
text: "00"
font.family:digitalFont.name
font.bold:true
smooth:true
font.pixelSize:26
anchors.centerIn:parent
}
}
}
Timer{
id:clock
interval:50
triggeredOnStart:true
onTriggered: clock.updateTime()
repeat:true
function updateTime()
{
if(timer.milliSeconds == 950)
{
timer.milliSeconds = 0;
if(timer.seconds == 59)
{
timer.seconds = 0;
if(timer.minutes == 59)
{
timer.minutes = 0;
if(timer.hours == 59)
clock.running=false;
else
timer.hours++;
}
else
timer.minutes++;
}
else
timer.seconds++;
}
else
timer.milliSeconds = timer.milliSeconds+50;
if(timer.milliSeconds == 0)
milli.text = "000";
else
milli.text = timer.milliSeconds;
if(timer.seconds == 0)
second.text = "00";
if(timer.seconds < 10)
second.text = '0' + timer.seconds
else
second.text = timer.seconds;
if(timer.minutes == 0)
minute.text = "00";
if(timer.minutes < 10)
minute.text = '0' + timer.minutes;
else
minute.text = timer.minutes;
if(timer.hours == 0)
hour.text = "00";
if(timer.hours < 10)
hour.text = '0' + timer.hours;
else
hour.text = timer.hours;
}
}
}
</pre></div><br />
<span style="background-color: #cfe2f3;">MainUI:</span> <span style="color: #0b5394;">StopWatch.qml (Best viewed in Portrait View)</span><br />
<br />
<div style="background-color: peachpuff; height: 600px; overflow: auto; width: 99%;"><pre>import QtQuick 1.0
Rectangle {
id:parentContainer
width:320
height: 240
focus:true
Image {
id: background
width:parentContainer.width
height:parentContainer.height
source: "background.jpg"
}
FontLoader{
id:digitalFont
source:"trana.ttf"
}
Keys.onSelectPressed:{
startButton.startFunction()
}
Keys.onSpacePressed:{
startButton.startFunction()
}
Keys.onEnterPressed:{
startButton.startFunction()
}
Keys.onLeftPressed:{
resumeButton.resumeFun()
}
Keys.onRightPressed:{
stopButton.stopFunction()
}
Keys.onUpPressed:{
newLapButton.createNewLapRecord()
}
Keys.onDownPressed:{
resetButton.resetFun()
}
Keys.onAsteriskPressed:{
Qt.quit()
}
Keys.onContext2Pressed:{
Qt.quit()
}
Grid{
id:lapRecordView
rows:4
columns:3
spacing:3
anchors.top:parent.top
anchors.horizontalCenter:parent.horizontalCenter
NewLapP{
id:lap1
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap1
opacity:1.0
height: (parentContainer.height*8)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap1; property: "opacity"; to: 1.0; duration: 200 }
}
]
}
NewLapP{
id:lap2
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap2
opacity:1.0
height: (parentContainer.height*8)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap2; property: "opacity"; to: 1.0; duration: 200 }
}
]
}
NewLapP{
id:lap3
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap3
opacity:1.0
height: (parentContainer.height*8)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap3; property: "opacity"; to: 1.0; duration: 200 }
}
]
}
NewLapP{
id:lap4
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap4
opacity:1.0
height: (parentContainer.height*8)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap4; property: "opacity"; to: 1.0; duration: 200 }
}
]
}
NewLapP{
id:lap5
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap5
opacity:1.0
height: (parentContainer.height*8)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap5; property: "opacity"; to: 1.0; duration: 200 }
}
]
}
NewLapP{
id:lap6
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap6
opacity:1.0
height: (parentContainer.height*8)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap6; property: "opacity"; to: 1.0; duration: 200 }
}
]
}
NewLapP{
id:lap7
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap7
opacity:1.0
height: (parentContainer.height*8)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap7; property: "opacity"; to: 1.0; duration: 200 }
}
]
}
NewLapP{
id:lap8
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap8
opacity:1.0
height: (parentContainer.height*8)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap8; property: "opacity"; to: 1.0; duration: 200 }
}
]
}
NewLapP{
id:lap9
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap9
opacity:1.0
height: (parentContainer.height*8)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap9; property: "opacity"; to: 1.0; duration: 200 }
}
]
}
NewLapP{
id:lap10
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap10
opacity:1.0
height: (parentContainer.height*8)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap10; property: "opacity"; to: 1.0; duration: 200 }
}
]
}
NewLapP{
id:lap11
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap11
opacity:1.0
height: (parentContainer.height*8)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap11; property: "opacity"; to: 1.0; duration: 200 }
}
]
}
NewLapP{
id:lap12
text:""
states: [
State {
name: "created"
PropertyChanges {
target: lap12
opacity:1.0
height: (parentContainer.height*8)/100
}
}
]
transitions: [
Transition {
to:"created"
NumberAnimation { target: lap12; property: "opacity"; to: 1.0; duration: 200 }
}
]
}
}
Row{
id:buttonRow
spacing:3
anchors.bottom:parent.bottom
anchors.bottomMargin:5
anchors.horizontalCenter:parent.horizontalCenter
Rectangle{
id:startButton
width:start.width + 6
height:start.height + 14
radius:5
smooth:true
gradient: Gradient{
GradientStop{color:"white"; position:0.0}
GradientStop{color:"gray"; position:0.5}
GradientStop{color:"white"; position:1.0}
}
Image {
id: startIcon
source: "qrc:/ok.png"
opacity:0.75
anchors.horizontalCenter:parent.horizontalCenter
width:parent.width - start.width/2
height:parent.height-3
}
SequentialAnimation{
id: startButtonAnimation
running:false
NumberAnimation { target: startButton; property: "y"; to: startButton.y - 15; duration: 300 }
NumberAnimation { target: startButton; property: "y"; to: startButton.y; duration: 200 }
NumberAnimation { target: startButton; property: "y"; to: startButton.y - 8; duration: 200 }
NumberAnimation { target: startButton; property: "y"; to: startButton.y; duration: 200 }
}
Text {
id: start
text: "Start"
smooth:true
font.bold:true
font.italic:true
font.pixelSize:(((parentContainer.width*9)/100)*50)/100
style:Text.Raised
color:"indigo"
styleColor:"slateblue"
anchors.horizontalCenter:parent.horizontalCenter
anchors.verticalCenter:parent.verticalCenter
}
MouseArea{
anchors.fill:parent
onClicked: {
startButton.startFunction()
}
}
function startFunction()
{
clock.running = false;
timer.milliSeconds = 0;
timer.seconds = 0;
timer.minutes = 0;
timer.hours = 0;
clock.running = true;
startButtonAnimation.running = true
}
}
Rectangle{
id:stopButton
width:stop.width + 6
height:stop.height + 14
radius:5
smooth:true
gradient: Gradient{
GradientStop{color:"white"; position:0.0}
GradientStop{color:"gray"; position:0.5}
GradientStop{color:"white"; position:1.0}
}
Image {
id: stopIcon
source: "qrc:/right.png"
opacity:0.75
anchors.horizontalCenter:parent.horizontalCenter
width:parent.width - stop.width/2
height:parent.height-3
}
SequentialAnimation{
id: stopButtonAnimation
running:false
NumberAnimation { target: stopButton; property: "y"; to: stopButton.y - 15; duration: 300 }
NumberAnimation { target: stopButton; property: "y"; to: stopButton.y; duration: 200 }
NumberAnimation { target: stopButton; property: "y"; to: stopButton.y - 8; duration: 200 }
NumberAnimation { target: stopButton; property: "y"; to: stopButton.y; duration: 200 }
}
Text {
id: stop
text: "Stop"
smooth:true
font.bold:true
font.italic:true
font.pixelSize:(((parentContainer.width*9)/100)*50)/100
style:Text.Raised
styleColor:"slateblue"
color:"indigo"
anchors.horizontalCenter:parent.horizontalCenter
anchors.verticalCenter:parent.verticalCenter
}
MouseArea{
anchors.fill:parent
onClicked : {
stopButton.stopFunction()
}
}
function stopFunction()
{
clock.running = false
stopButtonAnimation.running = true
}
}
Rectangle{
id:resumeButton
width:resume.width + 6
height:resume.height + 14
radius:5
smooth:true
gradient: Gradient{
GradientStop{color:"white"; position:0.0}
GradientStop{color:"gray"; position:0.5}
GradientStop{color:"white"; position:1.0}
}
Image {
id: resumeIcon
source: "qrc:/left.png"
opacity:0.75
anchors.horizontalCenter:parent.horizontalCenter
width:parent.width - resume.width/2
height:parent.height-3
}
SequentialAnimation{
id: resumeButtonAnimation
running:false
NumberAnimation { target: resumeButton; property: "y"; to: resumeButton.y - 15; duration: 300 }
NumberAnimation { target: resumeButton; property: "y"; to: resumeButton.y; duration: 200 }
NumberAnimation { target: resumeButton; property: "y"; to: resumeButton.y - 8; duration: 200 }
NumberAnimation { target: resumeButton; property: "y"; to: resumeButton.y; duration: 200 }
}
Text {
id: resume
text: "Resume"
smooth:true
font.bold:true
font.italic:true
font.pixelSize:(((parentContainer.width*9)/100)*50)/100
style:Text.Raised
styleColor:"slateblue"
color:"indigo"
anchors.horizontalCenter:parent.horizontalCenter
anchors.verticalCenter:parent.verticalCenter
}
MouseArea{
anchors.fill:parent
onClicked: {
resumeButton.resumeFun()
}
}
function resumeFun()
{
resumeButtonAnimation.running = true
if(timer.milliSeconds > 0 || timer.seconds > 0 || timer.minutes > 0 || timer.hours > 0)
clock.running = true;
else
return;
}
}
Rectangle{
id:newLapButton
property int lapCount: 0
width:newLap.width + 6
height:newLap.height + 14
radius:5
smooth:true
gradient: Gradient{
GradientStop{color:"white"; position:0.0}
GradientStop{color:"gray"; position:0.5}
GradientStop{color:"white"; position:1.0}
}
Image {
id: newLapIcon
source: "qrc:/up.png"
opacity:0.75
anchors.horizontalCenter:parent.horizontalCenter
width:parent.width - newLap.width/2
height:parent.height-3
}
SequentialAnimation{
id: newLapButtonAnimation
running:false
NumberAnimation { target: newLapButton; property: "y"; to: newLapButton.y - 15; duration: 300 }
NumberAnimation { target: newLapButton; property: "y"; to: newLapButton.y; duration: 200 }
NumberAnimation { target: newLapButton; property: "y"; to: newLapButton.y - 8; duration: 200 }
NumberAnimation { target: newLapButton; property: "y"; to: newLapButton.y; duration: 200 }
}
Text {
id: newLap
text: "New Lap"
smooth:true
font.bold:true
font.italic:true
font.pixelSize:(((parentContainer.width*9)/100)*50)/100
style:Text.Raised
styleColor:"slateblue"
color:"indigo"
anchors.horizontalCenter:parent.horizontalCenter
anchors.verticalCenter:parent.verticalCenter
}
MouseArea{
anchors.fill:parent
onClicked:{
newLapButton.createNewLapRecord()
}
}
function createNewLapRecord()
{
newLapButtonAnimation.running = true
if(newLapButton.lapCount == 0){
lap1.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap1.state = "created";
}
if(newLapButton.lapCount == 1){
lap2.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap2.state = "created";
}
if(newLapButton.lapCount == 2){
lap3.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap3.state = "created";
}
if(newLapButton.lapCount == 3){
lap4.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap4.state = "created";
}
if(newLapButton.lapCount == 4){
lap5.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap5.state = "created";
}
if(newLapButton.lapCount == 5){
lap6.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap6.state = "created";
}
if(newLapButton.lapCount == 6){
lap7.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap7.state = "created";
}
if(newLapButton.lapCount == 7){
lap8.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap8.state = "created";
}
if(newLapButton.lapCount == 8){
lap9.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap9.state = "created";
}
if(newLapButton.lapCount == 9){
lap10.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap10.state = "created";
}
if(newLapButton.lapCount == 10){
lap11.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap11.state = "created";
}
if(newLapButton.lapCount == 11){
lap12.text = hour.text + ":" + minute.text + ":" + second.text + ":" + milli.text;
lap12.state = "created";
}
newLapButton.lapCount ++;
}
}
Rectangle{
id:resetButton
width:reset.width + 6
height:reset.height + 14
radius:5
smooth:true
gradient: Gradient{
GradientStop{color:"white"; position:0.0}
GradientStop{color:"gray"; position:0.5}
GradientStop{color:"white"; position:1.0}
}
Image {
id: resetIcon
source: "qrc:/down.png"
opacity:0.75
anchors.horizontalCenter:parent.horizontalCenter
width:parent.width - reset.width/2
height:parent.height-3
}
SequentialAnimation{
id: resetButtonAnimation
running:false
NumberAnimation { target: resetButton; property: "y"; to: resetButton.y - 15; duration: 300 }
NumberAnimation { target: resetButton; property: "y"; to: resetButton.y; duration: 200 }
NumberAnimation { target: resetButton; property: "y"; to: resetButton.y - 8; duration: 200 }
NumberAnimation { target: resetButton; property: "y"; to: resetButton.y; duration: 200 }
}
Text {
id: reset
text: "Reset"
smooth:true
font.bold:true
font.italic:true
font.pixelSize:(((parentContainer.width*9)/100)*50)/100
style:Text.Raised
styleColor:"slateblue"
color:"indigo"
anchors.horizontalCenter:parent.horizontalCenter
anchors.verticalCenter:parent.verticalCenter
}
MouseArea{
anchors.fill:parent
onClicked:{
resetButton.resetFun()
}
}
function resetFun()
{
resetButtonAnimation.running=true
clock.running=false
timer.milliSeconds = 0;
timer.seconds = 0;
timer.minutes = 0;
timer.hours = 0;
milli.text = "00"
second.text = "00"
minute.text = "00"
hour.text = "00"
lap1.text = ""
lap2.text = ""
lap3.text = ""
lap4.text = ""
lap5.text = ""
lap6.text = ""
lap7.text = ""
lap8.text = ""
lap9.text = ""
lap10.text = ""
lap11.text = ""
lap12.text = ""
lap1.opacity = 0
lap2.opacity = 0
lap3.opacity = 0
lap4.opacity = 0
lap5.opacity = 0
lap6.opacity = 0
lap7.opacity = 0
lap8.opacity = 0
lap9.opacity = 0
lap10.opacity = 0
lap11.opacity = 0
lap12.opacity = 0
lap1.state = ""
lap2.state = ""
lap3.state = ""
lap4.state = ""
lap5.state = ""
lap6.state = ""
lap7.state = ""
lap8.state = ""
lap9.state = ""
lap10.state = ""
lap11.state = ""
lap12.state = ""
newLapButton.lapCount = 0;
}
}
Rectangle{
id:quitButton
width:quitImage.width+5
height:quitImage.height
color:"transparent"
Image {
id: quitImage
source: "qrc:/quit.png"
width:startButton.height
height:startButton.height
anchors.centerIn:parent.Center
}
Image {
id: quitIcon
source: "qrc:/asterisk.png"
opacity:0.8
anchors.bottom:quitImage.bottom
anchors.horizontalCenter:quitButton.horizontalCenter
width:parent.width/2
height:parent.height-4
}
MouseArea{
anchors.fill:parent
onClicked:{
Qt.quit()
}
}
}
}
Row{
id:timer
property int milliSeconds: 0
property int seconds: 0
property int minutes: 0
property int hours: 0
anchors.centerIn:parent
Rectangle{
id:hourContainer
width:(((parentContainer.width*24)/100))
height:(((parentContainer.width*24)/100))
gradient: Gradient{
GradientStop{color:"gray"; position:0}
GradientStop{color:"white"; position:0.5}
GradientStop{color:"gray"; position:1.0}
}
Text {
id: hour
text: "00"
font.family:digitalFont.name
font.bold:true
smooth:true
font.pixelSize:28
anchors.centerIn:parent
}
}
Rectangle{
width:5
height:(((parentContainer.width*24)/100))
gradient: Gradient{
GradientStop{color:"gray"; position:0}
GradientStop{color:"white"; position:0.5}
GradientStop{color:"gray"; position:1.0}
}
Text {
text: ":"
font.family:digitalFont.name
font.bold:true
smooth:true
font.pixelSize:28
anchors.centerIn:parent
}
}
Rectangle{
id:minuteContainer
width:(((parentContainer.width*24)/100))
height:(((parentContainer.width*24)/100))
gradient: Gradient{
GradientStop{color:"gray"; position:0}
GradientStop{color:"white"; position:0.5}
GradientStop{color:"gray"; position:1.0}
}
Text {
id: minute
text: "00"
font.family:digitalFont.name
font.bold:true
smooth:true
font.pixelSize:28
anchors.centerIn:parent
}
}
Rectangle{
width:5
height:(((parentContainer.width*24)/100))
gradient: Gradient{
GradientStop{color:"gray"; position:0}
GradientStop{color:"white"; position:0.5}
GradientStop{color:"gray"; position:1.0}
}
Text {
text: ":"
font.family:digitalFont.name
font.bold:true
smooth:true
font.pixelSize:28
anchors.centerIn:parent
}
}
Rectangle{
id:secondContainer
width:(((parentContainer.width*24)/100))
height:(((parentContainer.width*24)/100))
gradient: Gradient{
GradientStop{color:"gray"; position:0}
GradientStop{color:"white"; position:0.5}
GradientStop{color:"gray"; position:1.0}
}
Text {
id: second
text: "00"
font.family:digitalFont.name
font.bold:true
smooth:true
font.pixelSize:28
anchors.centerIn:parent
}
}
Rectangle{
width:5
height:(((parentContainer.width*24)/100))
gradient: Gradient{
GradientStop{color:"gray"; position:0}
GradientStop{color:"white"; position:0.5}
GradientStop{color:"gray"; position:1.0}
}
Text {
text: ":"
font.family:digitalFont.name
font.bold:true
smooth:true
font.pixelSize:28
anchors.centerIn:parent
}
}
Rectangle{
id:milliSecondContainer
width:(((parentContainer.width*24)/100))
height:(((parentContainer.width*24)/100))
gradient: Gradient{
GradientStop{color:"gray"; position:0}
GradientStop{color:"white"; position:0.5}
GradientStop{color:"gray"; position:1.0}
}
Text {
id: milli
text: "00"
font.family:digitalFont.name
font.bold:true
smooth:true
font.pixelSize:28
anchors.centerIn:parent
}
}
}
Timer{
id:clock
interval:50
triggeredOnStart:true
onTriggered: clock.updateTime()
repeat:true
function updateTime()
{
if(timer.milliSeconds >= 950)
{
timer.milliSeconds = 0;
if(timer.seconds == 59)
{
timer.seconds = 0;
if(timer.minutes == 59)
{
timer.minutes = 0;
if(timer.hours == 59)
clock.running=false;
else
timer.hours++;
}
else
timer.minutes++;
}
else
timer.seconds++;
}
else
timer.milliSeconds = timer.milliSeconds+50;
if(timer.milliSeconds == 0)
milli.text = "000";
else
milli.text = timer.milliSeconds;
if(timer.seconds == 0)
second.text = "00";
if(timer.seconds < 10)
second.text = '0' + timer.seconds
else
second.text = timer.seconds;
if(timer.minutes == 0)
minute.text = "00";
if(timer.minutes < 10)
minute.text = '0' + timer.minutes;
else
minute.text = timer.minutes;
if(timer.hours == 0)
hour.text = "00";
if(timer.hours < 10)
hour.text = '0' + timer.hours;
else
hour.text = timer.hours;
}
}
}
</pre></div><br />
<br />
<br />
<span style="background-color: #d0e0e3;">Used QML component for NewLap</span>: <span style="color: #3d85c6;">NewLap.qml (Best viewed in Landscape view)</span><br />
<span style="color: #3d85c6;"> </span> <span style="color: #3d85c6;"> </span> <br />
<div style="background-color: peachpuff; height: 600px; overflow: auto; width: 99%;"><pre>import Qt 4.7
Rectangle {
property alias text: textItem.text
width: textItem.width + 4
height: 12
border.width: 1
radius: 5
smooth: true
opacity:0
gradient: Gradient {
GradientStop { position: 0.0; color: "darkGray" }
GradientStop { position: 0.5; color: "black" }
GradientStop { position: 1.0; color: "darkGray" }
}
Text {
id: textItem
anchors.centerIn: parent
smooth:true
color: "white"
}
}
</pre></div><br />
<span style="background-color: #d0e0e3;">Used QML component for NewLap</span>: <span style="color: #3d85c6;">NewLap.qml (Best viewed in Landscape view)</span><br />
<br />
<div style="background-color: peachpuff; height: 600px; overflow: auto; width: 99%;"><pre>import Qt 4.7
Rectangle {
property alias text: textItem.text
width: textItem.width + 4
height: 18
border.width: 1
radius: 5
smooth: true
opacity:0
gradient: Gradient {
GradientStop { position: 0.0; color: "darkGray" }
GradientStop { position: 0.5; color: "black" }
GradientStop { position: 1.0; color: "darkGray" }
}
Text {
id: textItem
anchors.centerIn: parent
smooth:true
color: "white"
}
}
</pre></div><br />
<br />
The Javascript code that has been used to create the application logic is just embedded into the QML code. It is a much simple program and I have done it right after my Hello World! program in QML. And thats the beauty of QML.<br />
<br />
<br />
<u><b> Additional Note:</b></u> <br />
<ul style="text-align: left;"><li>I have written it using the Qt version 4.7.0, but after Qt 4.7.1 you can use <span style="background-color: #6fa8dc;">import QtQuick</span> <span style="background-color: #3d85c6;">1.0</span> and thats recommended too.</li>
<li>Also, in this I have hardcoded the Animations for Buttons but its not necessary. You can use Behaviour, States or Transitions for the same effect with a much better & short code.</li>
<li>In the main.cpp file I have calculated the screen width and height to set the application output to full screen. I will show it in the next post.</li>
<li>As you can see, I have not hardcoded most of the QML items width and height and most of its been relative to the screen size. So make thing look better I have created two versions of the same above QML files. One for a <b>Portrait</b> view, and another for <b>Landscape</b> view.</li>
<li>When the width of the screen is more, the QML file optimized for Landscape view is used. For example, in Nokia E Series mobiles, and vice versa.</li>
</ul></div><iframe align="middle" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=1430231777&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="middle" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=1849690324&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="middle" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=0321635906&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="middle" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=0132354160&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe></div>Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com0tag:blogger.com,1999:blog-7314450340943444305.post-59525374540976662902011-08-26T01:31:00.000+05:302011-11-17T00:35:26.129+05:30Python file renamer!<div dir="ltr" style="text-align: left;" trbidi="on">
Sometimes we may want to remove some common patterns from files. For example, if we download MP3 songs or music from a specific website, then all the file names will begin with that website name. This might create some irritation when searching for songs. The following snippet of Python can be used to rename files in directory and to remove common patterns from files.<br />
<br />
This is applicable to all types of files and just not limited to mp3 files.<br />
<br />
<blockquote>
<span style="font-size: x-small;"><b><span style="color: #0b5394;">import os, array </span><br style="color: #0b5394;" /><span style="color: #0b5394;">files = os.listdir("D:\\Music") #The directory path of the files goes here</span><br style="color: #0b5394;" /><span style="color: #0b5394;">fnames = array.array('u') </span><br style="color: #0b5394;" /><span style="color: #0b5394;">fnames = files </span><br style="color: #0b5394;" /><span style="color: #0b5394;">#print fnames </span><br style="color: #0b5394;" /><span style="color: #0b5394;">#print files </span><br style="color: #0b5394;" /><span style="color: #0b5394;">for filename in fnames: </span><br style="color: #0b5394;" /><span style="color: #0b5394;"> print filename </span><br style="color: #0b5394;" /><span style="color: #0b5394;"> if(filename.startswith("<text to remove>")): # The common pattern that you want to remove goes within the quotes</span><br style="color: #0b5394;" /><span style="color: #0b5394;"> print "Found: " + filename </span><br style="color: #0b5394;" /><span style="color: #0b5394;"> <a href="http://docs.python.org/library/os.html#os.rename" target="_blank">os.rename</a>(filename,filename.replace(("</span></b></span><span style="font-size: x-small;"><b><span style="color: #0b5394;"><text to remove></span></b></span><span style="font-size: x-small;"><b><span style="color: #0b5394;">"),"<If left empty the pattern will be removed with remaining text a new filename, or type something to replace the common pattern>")) </span><br style="color: #0b5394;" /><span style="color: #0b5394;"> print "Renamed to: " + filename.replace("_","") </span><br style="color: #0b5394;" /><span style="color: #0b5394;"> </span><br style="color: #0b5394;" /><span style="color: #0b5394;">print "Finished task"</span></b></span></blockquote>
This shows the simplicity of Python language and also its ability to achieve something tedious with much shorter codes. Although it lacks performance, it can be effectively used to write this kind of codes that will make our tasks easier.<br />
<br />
<iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=0321680561&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=1430216328&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=1435455002&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=1441437134&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><br />
<br /></div>Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com0tag:blogger.com,1999:blog-7314450340943444305.post-42848044963249291312011-08-20T17:13:00.002+05:302011-09-15T13:02:46.328+05:30No targets found in Qt SDK Remote Compiler!<div dir="ltr" style="text-align: left;" trbidi="on">Sometimes you might have faced this problem, if you are using the Remote Compiler feature in the Linux version of Qt SDK. There will be no targets found in the Remote Compiler.<br />
<br />
<iframe align="middle" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=B004IM5DOE&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=B004CJ4VQ4&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=0595154905&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=B00204MB6K&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><br />
<b style="color: red;">Solution: </b><br />
<b style="color: red;"> </b><span style="color: red;"><span style="color: black;">Make sure that you Linux machine is connected to the Internet before you open the Qt Creator IDE.</span> </span><br />
<span style="color: red;"> <span style="color: black;">If not, then close the Qt Creator and connect to the Internet. Now open the Qt Creator again.</span></span><br />
<span style="color: red;"><span style="color: black;"> The same procedure may apply to Mac version of Qt SDK's Remote Compiler. </span></span><br />
<span style="color: red;"><span style="color: black;"> Sometimes closing your simulator may also work. </span> </span></div>Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com0tag:blogger.com,1999:blog-7314450340943444305.post-45456959407139090472011-07-27T07:03:00.002+05:302011-08-28T23:34:04.754+05:30My Second ever QML program! (A simple QML Program)<div dir="ltr" style="text-align: left;" trbidi="on"><div dir="ltr" style="text-align: left;" trbidi="on">Since I have done my final year project in Qt for Symbian, I have become a fan of Qt and QML. So I just wanted to try something in QML rather than Hello World! I always wanted to have a good Stop Watch in my mobile, so I just went straight away to right it in QML.<br />
<br />
It merely took around 12 hours for me to code this decent looking looking app, but I have written it immediately after my Hello World in QML. So after getting used to it, it won't be time consuming.<br />
<br />
I have published the app to OVI store, but I don't have the patience for it to get approved in the QA process, so I'm linking the packages here for you to try. The name says it all, download appropriate packages for your Symbian phone and Maemo.<br />
<br />
Note : Before that you have to install the necessary Qt packages, and it must be of the version Qt 4.7.0 or higher. Qt Mobility packages are not necessary.<br />
<br />
If you don't know what Qt and Qt Mobility packages are, then install the following package in your device. <br />
<br />
If you are already using Qt or QML apps on your device, then start downloading the appropriate package for your mobile phone.<br />
<br />
Update: <br />
<br />
</div><a href="http://www.techieshome.in/p/rr-stopwatch.html">To download SIS file!</a><br />
<br />
This is the self signed package for all devices like S60 V3 FP1, FP2, S60 V5, Symbian^3.<br />
<br />
<a href="http://uploading.com/files/4d6c7dbc/stopwatch_qt-4_7_0_m1_0_2_maemo5.deb/">stopwatch_qt-4_7_0_m1_0_2_maemo5.deb - 331.3 KB</a><br />
This is the Maemo 5 compatible Debian package. This package is not tested in real device. <br />
<br />
For shortcuts: <b><a href="http://www.techieshome.in/p/rr-stopwatch.html" style="color: #a64d79;">RR-StopWatch</a></b></div>Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com0tag:blogger.com,1999:blog-7314450340943444305.post-40135923569193900042011-06-27T22:07:00.023+05:302011-06-28T23:36:06.132+05:30Why Meego will be a success!<div dir="ltr" style="text-align: left;" trbidi="on"><div class="wlWriterHeaderFooter" style="float: none; margin: 0px; padding: 4px 0px;"><iframe frameborder="0" scrolling="no" src="http://www.facebook.com/widgets/like.php?href=http://www.techieshome.in/2011/06/why-meego-will-be-success.html" style="border: medium none; height: 50px; width: 400px;"></iframe></div><div dir="ltr" style="text-align: left;" trbidi="on"><a href="https://meego.com/" target="_blank" title="Meego"><img border="0" height="223" src="http://www.techdigest.tv/meego-021.jpg" style="background-image: none; border: 0px none; display: block; float: none; margin: 0px auto 5px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" width="444" /></a><br />
After 6 days from the launch of Nokia’s flagship model N9, I’m writing this post today (27-06-11)! Finally, Nokia fan boys could really stop scratching their heads about the much awaited Meego phone. Since, Feb 11, when Elop <img alt="Devil" class="wlEmoticon wlEmoticon-devil" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJTcBY_5e8ocsOUbnOhPWUQD1TPPnZNY2OXhh0K3ctr93SwLXWC5rK3yo2Dqut_vHHTnC0Eli8Hw7uky1I3lYcpSUU8Q5R2-nVZCS_QqV6CmdrC9d22sW_nstNQHnwkceyqURe3VKll86a/?imgmax=800" style="border-style: none; vertical-align: middle;" />, current CEO of Nokia has announced its partnership with Microsoft to use WP7 as its future smartphone OS, there had been a war happening about Nokia’s Meego Phone N9. <br />
<br />
Nokia fans and developers had showed their hateful in Nokia blogs and websites for dumping Meego OS and choosing WP7 as its primary OS <img alt="Broken heart" height="15" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8vY_PwaSaxiTw4qThYThO3W8-X91L0R7zmd5VDBOBpRp1aYK8Kb8daIvG-K5T2LkdesgmQha-rz9_B52YFj7jAGxmcrtkiSnxBDSrLIc17ng-k75TOT9xfao2OU_VGObbUBzfFxz2SDs9/?imgmax=800" style="vertical-align: middle;" width="15" />, and why not I was one among them. I was a pure Windows user and fan of the same till I tried Ubuntu a year before. Although I have used Red Hat Linux during my twelfth grade (2007), the UI didn’t manage to attract me. But now, Ubuntu is my favourite OS because of its speed and the options that we have to customize its appearance, after all its free. Ok! Just wanted to tell my experience with Ubuntu and Windows.<br />
<br />
Now lets discuss about the child of Intel’s Moblin and Nokia’s Maemo, the Meego. As per the title of this post, this is going to be praising session for Meego rather than a discussion, of course I cannot discuss with myself.<br />
<br />
<div>Ok here we go,<br />
<br />
</div><h2>Its Linux:</h2>Lets differentiate things first. First of all, the major advantage is, its a Linux OS, and not a “Linux based OS”. So it is like any other Linux distribution, so no modified Kernel, no Virtual layers etc. This makes is different from Android, which is a Linux based OS.<br />
<br />
This means, we will have a lot more freedom than other Smart Phone operating systems like IOS, WP7, Web OS and Symbian. And why not?! it will have a slight benefit over Android too, because as it is like our PC Ubuntu or Redhat so we are already used to it in terms of usage. The Linux community can also use their existing knowledge with Ubuntu or RedHat to modify this new comer.<br />
<br />
I’m touching the support of PC Linux here, because Meego is not just limited to Smart Phones but also for Tablets and Vehicle infotainment systems. The WeTab is currently using this Meego platform and Big players like BMW and General Motors are committed to use Meego in their vehicle’s entertainment system.<br />
<br />
Linux is not just limited to these capabilities but a lot others are already known to us! So Meego might close the gap between PC Linux and Embedded Linux, which Moblin failed to does.<br />
<br />
<span style="color: #333333;">I have seen a comment in YouTube which stated </span><br />
<blockquote>Android is a wannabe Linux and Meego is real Linux</blockquote>and eventually it got most users Thumbs UP!<br />
<h2>Power of Multi tasking:</h2>As we have already witnessed the speed and power of Linux in PC, it is also the same with Meego. Its assumed that it can run 200 apps simultaneously. Remember, this time you don’t have to hold a key to switch between apps, just a swipe can do it. At the same time, the real time view of that application will be displayed in this view. This will surely make multitasking a cake walk for users.<br />
Maemo was also famous for this multitasking capability. View the video below if you don’t believe.<br />
<div class="wlWriterSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:f94e7a12-8b25-42a3-b418-920d701e89d7" style="display: inline; float: none; margin: 0px; padding: 0px;"><div id="c65c73ef-6862-460a-a673-cbce4a206b1c" style="display: inline; margin: 0px; padding: 0px;"><div><a href="http://www.youtube.com/watch?v=7emvUBpEkbU" target="_new"><img alt="" galleryimg="no" onload="var downlevelDiv = document.getElementById('c65c73ef-6862-460a-a673-cbce4a206b1c'); downlevelDiv.innerHTML = "<div><object width=\"448\" height=\"252\"><param name=\"movie\" value=\"http://www.youtube.com/v/7emvUBpEkbU?hl=en&hd=1\"><\/param><embed src=\"http://www.youtube.com/v/7emvUBpEkbU?hl=en&hd=1\" type=\"application/x-shockwave-flash\" width=\"448\" height=\"252\"><\/embed><\/object><\/div>";" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj62vNroDHxvNWj6jI_D6uktTVrLsWGDrhSB3_M0lMKUW8Qu1C1dtCkCenniwVcIDard60GvgkdJA4ZA5dNNNVjnc8jMrcXVSrYhgFVxcBhB3HDsjatnuBWo_5x5A3vRHTcpdHD_MxcvMuP/?imgmax=800" style="border-style: none;" /></a></div></div><div style="clear: both; font-size: 0.8em; width: 448px;">Maemo 5 Multi Tasking in action!</div></div>I have also read some comments from frustrated Apple fans regarding this <img alt="Winking smile" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi17sXOaMR9OBVh0SeeBUy3fHYtR0KTjqz_l-hHnTJ68wqaGzJz0w6yXqAm914iRUjLZWe3U0xTVIf7fcggQTtP8Ynpis6tpt5kxW9SMWuI8fiWcNt1hcj86SU0fv5QF9_1_tc17uKyn4Xq/?imgmax=800" style="border-style: none; vertical-align: middle;" />, one guy stated<br />
<blockquote>Does Meego has 200 apps at all?</blockquote>The answer for this comment is the next point.<br />
<br />
<h2>Its faster and faster:</h2>Being overwhelmed by the announcement of Nokia N9, I could not help searching YouTube for every video about this phone. Eventually I didn't miss to read about the response from users. Some users has commented that, the Nokia N9’s CPU was out dated and slow. I really don’t know about whether its CPU but if it is old as they said, then Meego is faster than any other OS in existence. <br />
<br />
I don’t understand the point of a modern CPU when it is already capable of running 200 apps at a time. Atleast 20 apps I believe! <img alt="Smile with tongue out" class="wlEmoticon wlEmoticon-smilewithtongueout" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_bxPzvR9qEMyWgMLksJJXIQJ8BhE4bpPhXBft7qcNmCLQFk57qN71Tgg9FJfvs8bQJ_CjoKOv98hSUto5hQvMA772Qs19XIfqN_39DMbpGEiB38zHLH1y6bD4WhblXrUn9bLYyjNnWd2A/?imgmax=800" style="border-style: none; vertical-align: middle;" />.<br />
<img height="251" src="http://latestpriceindia.com/wp-content/uploads/2011/06/nokia-n91.jpg" style="display: block; float: none; margin: 0px auto 5px;" width="189" /><br />
The speed is because it is native and does not contains a virtual layer(<img alt="Thinking smile" class="wlEmoticon wlEmoticon-thinkingsmile" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy6krflIKNeSgX8CXDIhaexrhO_krzL0y-2iBbVto9jnxY-_eaaiBBg8AzI29236F9qPtu1Hw2Sp0F7meuKAlm_m3nPncyWNjHqabDhtKUrYzNBXcER__R0R6KXzrUccqyTIUR612E-vAZ/?imgmax=800" style="border-style: none; vertical-align: middle;" />) as Android has. Neither it has a managed code environment as WP7 does.<br />
<br />
<br />
<h2>Apps from Linux, Mac, Windows and Symbian:</h2>I’m not sure how many are writing apps for Mac and Windows using Qt, but if there is something, they can be quite easily to this platform with just a compilation. But I’m sure that there are decent amount of apps available for Linux which are developed using Qt, that can be installed right away into this platform. With enough libraries KDE apps can also run seamlessly, but may suffer to support touch gestures.<br />
<br />
With the announcement of Qt for Symbian in the year 2009, there is been a huge amount of interest shown by developers and users for creating apps in Qt and QML (Declarative language based on JavaScript, can be extended using Qt). Qt Mobility is an API used to access system based services like Messaging, Contacts, Sensors etc. is same for Symbian, Maemo and Meego, which is a huge advantage.<br />
<br />
And who knows, with a custom Wine, we may able to run Windows executables too.<br />
<br />
<h2>May emulate Android in future:</h2>The only disadvantage that Meego has is, the apps availability. Even though it will be shipped with some featured applications, it may miss fun applications like we have in IOS and Android. To balance this, there is a group of people developing a Android emulation layer and its said that they can run Android apps seamlessly like native apps.<br />
<br />
If you think this is not possible, then the two points are for you:<br />
<ol><li>Already, there is a similar kind of Android emulation layer for Black Berry!<br />
</li>
<li><a href="http://www.slashgear.com/nokia-n9-android-app-support-promised-with-alien-dalvik-22160809/">Alien Dalvik</a>, is already under development phase which can run a fair number of Android apps.</li>
</ol><div class="wlWriterSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:fb4f3c44-c6c4-4827-9da2-7199716daef6" style="display: inline; margin: auto;"><div id="9e03a654-c29f-452c-914f-7137acd6497e" style="display: inline; margin: 0px; padding: 0px;"><div><a href="http://www.youtube.com/watch?v=7yp-1MdxfT8" target="_new"><img alt="" galleryimg="no" onload="var downlevelDiv = document.getElementById('9e03a654-c29f-452c-914f-7137acd6497e'); downlevelDiv.innerHTML = "<div><object width=\"448\" height=\"252\"><param name=\"movie\" value=\"http://www.youtube.com/v/7yp-1MdxfT8?hl=en&hd=1\"><\/param><embed src=\"http://www.youtube.com/v/7yp-1MdxfT8?hl=en&hd=1\" type=\"application/x-shockwave-flash\" width=\"448\" height=\"252\"><\/embed><\/object><\/div>";" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf_DTKJSNFOgT3Q3qRpKe-u3ulGrgsX7Q6oXoiq6-kTUHt7nV-Kr7jVdSrCG_LKtjV8_uULvuLP746jMBtghzG75z6KnS5k6lHY6mLhebPnRNJkapw4O9MjeRgaMSR4x6rsd-W5f96q6jR/?imgmax=800" style="border-style: none;" /></a></div></div><div style="clear: both; font-size: 0.8em; width: 448px;">Myriad Alien Dalvik.</div></div><h2>Wide range of development options:</h2>This is a huge advantage to both end users and also for developers, in my opinion. As a twelfth grade student I have used m-Shell scripts for my Symbian phone (Nokia 3230), so I think so will the other users will be privileged to have a variety of languages for their mobile. <br />
<h4>Python & PyQt:</h4>Personally I love Python for some simple scripting and because of the amount of libraries it has. So even if you want to generate a list of number that ends with ‘9’ for your vehicle registration number, it wont be a problem. PyQt is a Qt port for Python which is useful for both UI development and simple coding conventions, like Python. <br />
<h4>Standard C & C++:</h4>I’m not sure with this programming option, but having said that it is a Linux, it should support C & C++. <br />
<h4>HTML5, JavaScript and CSS3:</h4>Meego website says that, HTML5, JavaScript and CSS3 are used to developed games for Meego, so it wont be a problem to write apps too.<br />
<br />
<iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=1934356689&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe> <iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=0980846900&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe> <iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=0321687299&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe> <iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=0596806027&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><br />
<br />
<h4>May be Silverlight:</h4>Silver light is basically focussed on cross platform deployment, so in future Silver light may also be used to create games for Meego. Remember, we already have an open source implementation of Silverlight for PC Linux. <br />
<div align="left"><script type="text/javascript">
try{var AdBrite_Iframe=window.top!=window.self?2:1;var AdBrite_Referrer=document.referrer==''?document.location:document.referrer;AdBrite_Referrer=encodeURIComponent(AdBrite_Referrer);}catch(e){var AdBrite_Iframe='';var AdBrite_Referrer='';}
document.write(String.fromCharCode(60,83,67,82,73,80,84));document.write(' src="http://ads.adbrite.com/mb/text_group.php?sid=1966296&br=1&col=3&ifr='+AdBrite_Iframe+'&ref='+AdBrite_Referrer+'" type="text/javascript">');document.write(String.fromCharCode(60,47,83,67,82,73,80,84,62));
</script> </div><div><br />
</div><h2>Qt & QML:</h2>Here come the heroes (IMHO), Qt and QML are really the building blocks of Meego. This language deserves to be highlighted separately. I personally believe that Nokia Engineers are working hard to dig every possibility out Qt framework. Since last year, I believed C# was the best language <img alt="Shifty" class="wlEmoticon wlEmoticon-shifty" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkNyukHrTWb703txkwrAbKoOjH99d6pqicQdp_oOLFfqJiijjSjnz1THLXStpH2-kcPP8Dxgu5Y_T68rFNoMHMK0i5bInc7D9sDzNWezgbvbCxl65I51nykpb-mPZhxnDFUZUE61e3_6WE/?imgmax=800" style="border-style: none; vertical-align: middle;" />. With a recent project called <a href="http://draft.blogger.com/labs.qt.nokia.com/category/labs/lighthouse/" target="_blank" title="Qt Lighthouse Project">Qt Lighthouse</a>, the Qt Engineers have made the possibility of porting Qt to <any operating system>. And there is already a <a href="http://code.google.com/p/android-lighthouse/" target="_blank" title="Qt port for Android Goole Project">Qt port for Android</a> is available unofficially. A single guy could achieve this port within a year time. So this tells the story about Qt. You can also see the IOS port of Qt using the same Lighthouse project.<br />
<br />
I have read somewhere that editing the GUI for Android applications in XML (in 2011)<img alt="Shifty" class="wlEmoticon wlEmoticon-shifty" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkNyukHrTWb703txkwrAbKoOjH99d6pqicQdp_oOLFfqJiijjSjnz1THLXStpH2-kcPP8Dxgu5Y_T68rFNoMHMK0i5bInc7D9sDzNWezgbvbCxl65I51nykpb-mPZhxnDFUZUE61e3_6WE/?imgmax=800" style="border-style: none; vertical-align: middle;" /> is fair difficult and tiresome. So, I believe that, Qt and QML will be used by the Android developers hereafter. Again, with the cross platform capabilities they can target users from Symbian, Android, IOS and Meego environment for better profit. This symmetrically increases the number of Meego apps too. QML is another story and it leverages the power of Qt C++ and the simplicity of JavaScript. If you do not know about this, just Google it, it has a lot of features and is very easy to create beautiful fluid and animated interfaces. Can be used for creating Games very easily. <br />
<h2>Intel AppUp Store:</h2>If you ask me about the success of IOS and Android, its highly because of the range of apps and games it have. Obviously, the touch interface of both OSs provide good environment for fun games. Apple has the most number of apps despite the irksome Objective-C is only because it provided a platform for developers to make money with their apps, AppStore. But the story with Android is different, here the number of Java developers in the world are relatively higher. In the past Nokia has not realised the importance of apps but lately came up with OVI store which became a huge success inspite of the number of apps being low. But Intel has done things right right from the start by providing their SDKs and by awarding the best developer. So, it won’t be a big deal for Meego to get a streamline of developers, provided the nice Qt and QML languages. <br />
<blockquote>As already said, Apps for Meego = Apps from Symbian + Apps from PC Linux + Apps from Window & Mac + Apps from Android + HTML apps from Web OS and Web.</blockquote><h2>Its Open Source:</h2>Last but not least, its open source. I know, open source merely is not a synonym to quality, but Meego seems to be a quality product. Even serious Nokia critics has said good things about Meego after the launch of Nokia N9, YouTube videos are flooded with appreciating comments from open source and Nokia lovers, Blogs are lined up with a lot of happy comments from users about this product. An online petition called <a href="http://twitition.com/3c3ah" target="_blank" title="Sign up here to make your petition.">Twitition</a> is also created by some Meego fans to get users support. If you feel like you are loving Meego for any reason, please <a href="http://twitition.com/3c3ah" target="_blank" title="Sign up for Twitition">sign up here</a> and don’t forget to spread this among your friends. Let’s hope that Nokia regroups with Intel to produce god damn Meego mobile phones in the future and continue to support Linux and Open Source. <br />
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5cb50f2d-e009-4339-838f-655aa2269838" style="display: inline; float: none; margin: 0px; padding: 0px;">Technorati Tags: <a href="http://technorati.com/tags/why" rel="tag">why</a>,<a href="http://technorati.com/tags/meego" rel="tag">meego</a>,<a href="http://technorati.com/tags/success" rel="tag">success</a>,<a href="http://technorati.com/tags/reasons" rel="tag">reasons</a>,<a href="http://technorati.com/tags/n9" rel="tag">n9</a>,<a href="http://technorati.com/tags/apps" rel="tag">apps</a></div></div></div>Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com0tag:blogger.com,1999:blog-7314450340943444305.post-49402746592386029432011-06-27T16:11:00.002+05:302011-06-28T23:38:43.712+05:30Download videos from any website.<div dir="ltr" style="text-align: left;" trbidi="on"><div style="text-align: center;"><img height="128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJCKM4eg7QgSxl8TzkzHrMT2khRRFDxpGjtBA6oB2Fd3fWOyV3CuIOkS5exfbPNLRbofskLIfHeoXUsVv94bOvfqmKrAnUnVmN_5XG25FSD6NpplU0tMd6kauJgvWmfuFPWPRrtHVl8rA/s400/Tux_FirefoxSyvolc.png" style="margin: 0px 0px 5px;" width="128" /><img src="http://software.informaction.com/data/flashgot/logo.png" style="margin: 0px 0px 5px;" /></div>I’ve been using this Firefox Add-on for almost two years and just now I have realised a number of articles describing “How to download from YouTube” is little useless. <br />
<div align="left"><script type="text/javascript">
try{var AdBrite_Iframe=window.top!=window.self?2:1;var AdBrite_Referrer=document.referrer==''?document.location:document.referrer;AdBrite_Referrer=encodeURIComponent(AdBrite_Referrer);}catch(e){var AdBrite_Iframe='';var AdBrite_Referrer='';}
document.write(String.fromCharCode(60,83,67,82,73,80,84));document.write(' src="http://ads.adbrite.com/mb/text_group.php?sid=1966296&br=1&col=3&ifr='+AdBrite_Iframe+'&ref='+AdBrite_Referrer+'" type="text/javascript">');document.write(String.fromCharCode(60,47,83,67,82,73,80,84,62));
</script></div>Ok here it is, All we need is a <a href="http://www.mozilla.com/en-US/firefox/new/" target="_blank">Firefox</a> web browser and a minute to start downloading medias from web.<br />
If you don’t have this awesome browser, <a href="http://www.mozilla.com/en-US/firefox/new/" target="_blank" title="Firefox">click here</a> to download it. Choose a old version of this browser, say 3.6.xx for compatibility reasons.<br />
<br />
<iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=0596102437&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=0596009283&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=0131870041&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=0764596500&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe> <br />
<br />
After installing this, go to <a href="http://www.mozilla.com/en-US/firefox/new/" target="_blank" title="Flashgot">this</a> website and click on the install button on the left side of the page. Now you are ready to download anything from the world wide web. You can download anything that streams. <br />
In this Add-on options section you can select the download manager you prefer to download. So don’t hesitate to scan through its <a href="http://flashgot.net/" target="_blank" title="Flashgot">options</a>. You will love it.<br />
<div align="left"><script type="text/javascript">
try{var AdBrite_Iframe=window.top!=window.self?2:1;var AdBrite_Referrer=document.referrer==''?document.location:document.referrer;AdBrite_Referrer=encodeURIComponent(AdBrite_Referrer);}catch(e){var AdBrite_Iframe='';var AdBrite_Referrer='';}
document.write(String.fromCharCode(60,83,67,82,73,80,84));document.write(' src="http://ads.adbrite.com/mb/text_group.php?sid=1966296&br=1&col=3&ifr='+AdBrite_Iframe+'&ref='+AdBrite_Referrer+'" type="text/javascript">');document.write(String.fromCharCode(60,47,83,67,82,73,80,84,62));
</script></div><div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ecb4e9c3-d178-4f54-9c8a-373eb18c5b73" style="display: inline; float: none; margin: 0px; padding: 0px;">Technorati Tags: <a href="http://technorati.com/tags/download" rel="tag">download</a>,<a href="http://technorati.com/tags/videos" rel="tag">videos</a>,<a href="http://technorati.com/tags/website" rel="tag">website</a>,<a href="http://technorati.com/tags/youtube" rel="tag">youtube</a>,<a href="http://technorati.com/tags/metacafe" rel="tag">metacafe</a>,<a href="http://technorati.com/tags/streaming" rel="tag">streaming</a></div></div>Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com0tag:blogger.com,1999:blog-7314450340943444305.post-24791223036012241832011-06-09T15:55:00.006+05:302011-06-28T23:40:47.811+05:30New YouTube feature.<div dir="ltr" style="text-align: left;" trbidi="on">Watching videos in YouTube is always fun, but unfortunately for users who have low bandwidth will always have to wait for sometime. Recently, YouTube has come up with a new flash player designed for non-stop fun, because now we don’t have to wait for the video to load, mean while we can play the worlds most played game, “Snake”.<br />
<br />
To play the game while buffering, you just have to press any of the four arrow keys and the Snake will appear. For persons with little vision ability it will be tough to find the snake’s snack, but for others, its fun time buffering. Enjoy!<br />
<br />
<iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=0470459697&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=0745644791&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=0470149256&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=0813543010&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe> <br />
<br />
<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:aac98721-f074-42ae-9c6f-98768982bc2e" style="display: inline; float: none; margin: 0px; padding: 0px;">Technorati Tags: <a href="http://technorati.com/tags/youtube" rel="tag">youtube</a>,<a href="http://technorati.com/tags/snake" rel="tag">snake</a>,<a href="http://technorati.com/tags/new" rel="tag">new</a>,<a href="http://technorati.com/tags/feature" rel="tag">feature</a></div></div>Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com0tag:blogger.com,1999:blog-7314450340943444305.post-38520868078564714472011-06-09T15:30:00.005+05:302011-06-28T23:44:54.769+05:30Easy way to install NS2 simulator in Ubuntu 10.04.<div dir="ltr" style="text-align: left;" trbidi="on">After a long time I’m posting this in my blog. For the project work of our final semester, we had to install NS2 in our Ubuntu 10.04 64-bit edition. After trying everything from the Internet, we finally have arrived at one simple solution to install NS2 simulator.<br />
<br />
Not just NS2, but XGraph also. I have searched <a href="https://launchpad.net/" target="_blank" title="Launchpad"><b>Launchpad</b></a> (an user community where various packages are built for various Ubuntu Versions), to find the built. You can also search the website to download other packages. Mostly built for both 64-bit and 32-bit architectures are available.<br />
<br />
Here is the link to download <b><a href="http://uploading.com/files/m3ffd645/NS2.zip/" target="_blank" title="Download NS2 Ubuntu 10.04 64 bit edition">NS2</a> and <a href="http://uploading.com/files/fbeeabe5/GCC%252C%2BXgraph.zip/" target="_blank">XGraph.</a></b><br />
<br />
First install the <i>gcc 4.3 </i>which is required package for NS2. Then install <i>XGraph</i> and finally install <i>NS2.</i><br />
Go to this <b><a href="http://perform.wpi.edu/NS/simple_ns.html" target="_blank" title="Simple Network Simulation">link</a></b> to download a simple TCL script for Network Simulation. To run the script go to the folder where it is saved in the Terminal and then type <b>ns <i><script_name></i>.tcl. </b>For some simulations that involve XGraph you have to do an extra step like executing the <b>nam.</b><br />
<br />
Its better to have an Internet connection to install dependencies if anything is missing. If some dependencies are reported missing, then copy the name exactly and use Google to search it.<br />
<div style="text-align: center;"><iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=0672333449&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe> <iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=0132748509&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe> <iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=1430219998&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe> <iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=B004RYVI0Q&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe></div></div>Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com0tag:blogger.com,1999:blog-7314450340943444305.post-15830623275309840772011-01-22T23:32:00.002+05:302011-06-29T00:03:42.164+05:30Clean Windows at night!<div dir="ltr" style="text-align: left;" trbidi="on"><div dir="ltr" style="text-align: left;" trbidi="on">Non sense title.. huh!!<br />
Well, because most of us would like to clean the unwanted files like browser cache, temporary internet files, recycled items, etc. before we got to sleep. To do this, you need not create anymore batch files, because CCleaner allows us to do that in a simple step.<br />
<br />
First of all download <a href="http://www.piriform.com/ccleaner/download">CCleaner</a> and install it with default options. Now open CCleaner by right clicking on the Recycle Bin. Choose Options --> Settings --> Check "<b>Add Run CCleaner option to Recycle Bin context Menu". </b><br />
Close the window and right click on the Recycle Bin and select "<b>Run CCleaner</b>" <b>.</b><br />
Look at the <b>Taskbar Notification Area </b>to find this icon <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4YZRe5L2yKv9Ci_QosHZ5MB5PUVJv2J78YKcJ9K-HdR7WKReH1X5HxEZ6IdDiyHvJZK_0pW0ZmM5VHjEoVnnVnTGUo09B1GSZczvVTdw5LB-_esuwn6HFsZTteQcGW0pGjABID_yCyO40/s1600/Capture.PNG" />. Right click on the icon and select "Shutdown after cleaning".<br />
This will shutdown your computer after the cleaning has been completed and even close unresponsive programs. </div><br />
<iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=B0040GL47S&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=B000WMUHEU&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=B002NX0N0O&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=techhome-20&o=1&p=8&l=bpl&asins=B002QPYH8S&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe></div>Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com1tag:blogger.com,1999:blog-7314450340943444305.post-67326609638892786852011-01-21T19:06:00.000+05:302011-01-21T19:06:49.882+05:30Create your own shutdown timer.<div dir="ltr" style="text-align: left;" trbidi="on">Windows DOS has a <b>shutdown</b> command which can be used as a shutdown timer, as per our time requirements. It can be used for other functions like Logging off, Restarting etc.<br />
<br />
Another pranky feature of this commend is, it allows you to shutdown remote computers. But remember, the remote computer you are trying to shutdown should be running with administrative privileges or the remote shutdown facility should not have been disabled.<br />
<br />
Syntax:<br />
<span style="color: #cc0000;">shutdown -s -t "number of seconds to shutdown"</span> (without quotes)<br />
<br />
Example:<br />
<span style="color: #cc0000;">shutdown -s -t 120</span><br />
[This will shutdown your computer within 120 seconds]<br />
<br />
To shutdown a remote computer which is present on the same network enter <b>shutdown -s -m 192.168.1.10 -t 100.</b><br />
<br />
<b> </b>To abort a scheduled shutdown enter <b>shutdown -a</b> <b> </b><br />
<br />
<iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=ravi4frenz&o=1&p=8&l=bpl&asins=0596157622&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><br />
The <b>-s</b> parameter in the command specifies that it is going to shutdown the computer. Likewise you can use <b>-r </b>option to restart and <b>-l </b>to logoff.<br />
<br />
Type <b>shutdown /help </b>to see a list of options that you can use with <b>shutdown </b>command for different purposes.<br />
<br />
Hint:<br />
Type <b>shutdown -i</b> to get a GUI window to do your task easily.<br />
<br />
</div>Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com0tag:blogger.com,1999:blog-7314450340943444305.post-51190551422002049672011-01-17T17:04:00.000+05:302011-01-17T17:04:49.602+05:30Delete unwanted network connectionsin Windows 7.Are you constantly using different Wifi access points and mobiles or modems with your Windows 7 to connect to Internet? Then you might probably have the problem of having unwanted connections in your Network Connections list. Searching through the control panel will not give you the solution like we have in our beloved Windows XP.<br />
<iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=ravi4frenz&o=1&p=8&l=bpl&asins=B002NX0N0O&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><br />
Rather it's here:<br />
<b style="color: red;"><span style="color: black;">Click </span>Start-><span style="color: black;"> (Type) </span>View Network Connections<span style="color: black;"> (in the Search box)</span>-><span style="color: black;"> Select the unnecessary connections and press </span>Del. </b><br />
Now you have cleared the list :-)Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com0tag:blogger.com,1999:blog-7314450340943444305.post-54363320147872822612010-12-29T22:56:00.010+05:302011-01-26T17:20:03.261+05:30Ten useful Nokia E63 tips!<div dir="ltr" style="text-align: left;" trbidi="on"><style type="text/css">
li {
margin-bottom: 20px;
}
</style><br />
<ol><li>Switch between full screen and normal mode in real player by pressing <b>Space key.</b></li>
<li>If you want to play videos without audio every time, then select <b>Mute </b>from real player options. So it will be mute whenever you play the videos unless you change it manually. </li>
<li>To save a received message into notes then open the message and press <b>Shift + Delete</b>.</li>
<li>You can use the *, +, /, = in the keypad directly while using the calculator. </li>
<li>If you wish not to use the <b>navi key</b> then you can navigate to any application in menu by pressing the <b>Function key </b>(left bottom key) and the <b>appropriate number & symbol keys.</b></li>
<li>Turn <b>Predictive texting on and off </b>by pressing the <b>ctrl + shift</b> keys.</li>
<li>The enter key is equivalent to pressing the Joystick center button. You can open any applications by using the <b>Enter key.</b></li>
<li>Switch between <b>General and Silent profile </b>by pressing and holding the <b># </b>key in the home screen.</li>
<li>Assign your favorite applications to the one touch keys for easy access. </li>
<li>Download <a href="http://betalabs.nokia.com/apps/nokia-custom-dictionary">Nokia's custom dictionary</a> for deleting wrongly typed words with Dictionary mode on. That can also be used to take a backup of your frequently used and newly typed words. You can also add new words by importing them with a text file. <iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=ravi4frenz&o=1&p=8&l=bpl&asins=B00212HNA0&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe> </li>
</ol></div>Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com0tag:blogger.com,1999:blog-7314450340943444305.post-58388661701738830512010-12-29T22:29:00.000+05:302010-12-29T22:29:42.539+05:30Adding an Icon to QPushButton.It is very simple to add an icon to the QPushButton. To add an icon just place a QPushButton into the QMainWindow area and in the right bottom corner under the QPushButton properties select the icon and choose <b>Select File </b>to select an icon.<br />
<br />
Do not worry about the size of your image file since it will be automatically re-sized to 16x16.<br />
<b>Note:</b><br />
The maximum size of icon that can be set in a QPushButton is 16x16. If you want to set a bigger size then you have to use QToolButton or do some inheritance with QPushButton and override the default icon size settings.<br />
<br />
You can also add some css styles to enhance the look of your application.<iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=ravi4frenz&o=1&p=8&l=bpl&asins=0321635906&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe>Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com0tag:blogger.com,1999:blog-7314450340943444305.post-90579890774236061972010-09-01T01:35:00.000+05:302010-09-01T01:35:21.875+05:30In the last post we have seen how to send files (downloading) from laptop to mobile phone using wifi. Now we are going to learn how to send files (uploading) from mobile phones to laptop.<br />
If you haven't read my last post then you have to read it to setup the laptop and<br />
mobile to further proceed the steps in this post.<br />
<br />
<br />
<h2>Sending Files From Mobile To Laptop Using Wifi:</h2>In this actual process we are going to place three files inside the IIS server root folder for uploading our content to laptop. <a href="https://freefileserver.com/file/655/Extract-and-place-the-files-in-wwwroot-folder-zip.html" target="_blank" title="Click here">Click here</a> to download the files. After you have downloaded the files extract them and place them in the folder path <u>"C:\Inetpub\wwwroot"</u>, then as usual do the steps <a href="http://techies-home.blogspot.com/2010/08/transfer-files-using-wifi-in-nokia.html" target="_blank">(from the previous post) </a> to connect to laptop and type the link as <b>http://192.168.1.15/FileUpload.aspx</b> then follow the screen shots provided below to upload your file to your laptop successfully.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://a.imageshack.us/img696/640/screenshot0022e.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://a.imageshack.us/img696/640/screenshot0022e.jpg" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="http://a.imageshack.us/img833/5026/screenshot0023.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://a.imageshack.us/img833/5026/screenshot0023.jpg" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="http://a.imageshack.us/img594/1103/screenshot0027.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://a.imageshack.us/img594/1103/screenshot0027.jpg" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="http://a.imageshack.us/img576/8005/screenshot0031.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://a.imageshack.us/img576/8005/screenshot0031.jpg" /></a></div><div align="center"></div><div align="center"></div><div class="separator" style="clear: both; text-align: center;"><a href="http://img831.imageshack.us/i/screenshot0021.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://img831.imageshack.us/i/screenshot0021.jpg" /></a></div><div align="center"></div><div align="center"></div><div align="center"></div><div style="text-align: left;"><br />
<br />
Tip: </div>1. The file will be saved in "C:\temp" folder. If you like to change the folder, open the FileUpload.aspx.cs file in Notepad and find the line <b>File.SaveAs(@"C:\temp",FileUpload1.FileName); </b>and change it as follows <b>File.SaveAs(@"Your desired complete folder path (with drive name)",FileUpload.FileName);</b><br />
<br />
<b> </b>2. You must have installed .NET framework for this procedure to work. <a href="http://filehippo.com/download_dotnet_framework_3/" target="_blank">Click here</a> to download .NET framework 3.5. You can also download the latest version of .NET if you prefer so.<br />
<div class="zemanta-pixie" style="height: 15px; margin-top: 10px;"><a class="zemanta-pixie-a" href="http://www.zemanta.com/" title="Enhanced by Zemanta"><img alt="Enhanced by Zemanta" class="zemanta-pixie-img" src="http://img.zemanta.com/zemified_e.png?x-id=6b280439-4704-496d-9252-3a8a63dc8a21" style="border: medium none; float: right;" /></a></div>Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com0tag:blogger.com,1999:blog-7314450340943444305.post-77552872585821353472010-08-26T22:27:00.009+05:302010-08-29T15:31:32.648+05:30Transfer files using Wifi in Nokia mobile phone.<div class="wlWriterHeaderFooter" style="float: none; margin: 0px; padding: 4px 0px;"><iframe frameborder="0" scrolling="no" src="http://www.facebook.com/widgets/like.php?href=http://techies-home.blogspot.com/2010/08/transfer-files-using-wifi-in-nokia.html" style="border: medium none; height: 80px; width: 450px;"></iframe></div>Many of us have the idea of transferring files between Laptop and Mobile phone using wifi connection, but it is not possible to do that directly. So we are going to do some tricks and gonna make it happen.<br />
I am going to describe the steps using my mobile phone Nokia E63 and Laptop running Windows 7 Operating system. However other wifi enabled mobile phones and iPods will also be working.<br />
<b>Initially, we need the following:</b><br />
<blockquote><span style="background-color: white; color: #afb4a9;">1.Obviously, a wifi enabled mobile phone (say Nokia E63)</span><br />
<span style="background-color: white; color: #afb4a9;">2. Laptop (In this post I’m using Windows 7 Home Premium operating system)</span><br />
<span style="background-color: white; color: #afb4a9;">3. Web Server software. (IIS or Apache. In this post I’m using IIS 7.0 Web Server)</span></blockquote><br />
<b>Setting up the IIS Web Server:</b><br />
<div align="left">To setup the IIS Web Server you need either Windows XP Professional edition or Windows 7(any version except ‘Home Basic’). Here I’m going to show you how to install IIS Web Server in Windows 7 Home Premium.</div><div align="left">Open <b>Control Panel—> Programs And Features<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVXZDo2CMImMeWe8cBwXgFGdLrGo_0k_h-1mI6qXBf5uYmZ-tkMpgVDTbWAUKmIGNUlIiwDqKRSmF1eG5lGOBH4VHhL5PlJmjqwX_8rUPbf1CmZzIfdvujdKBYuLr3rnhbaBGwZnaXCHfB/s1600-h/Programsandfeatures5.png"><img alt="Programs and features" border="0" height="52" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0B7O7fdHUyhT3JDlPThGqbfgXZqjWgIk10eiFQwlEPSV7G-KJm0MsYJElkVd2_WV8kz4hFhTlSA0_d8ESrmEqYXxCiKcFUlLrSUR1x0e9MZCGD0Y7Tal1lCpIY_AdiC3K1p8-nTTaUiu5/?imgmax=800" style="border-width: 0px; display: inline;" title="Programs and features" width="185" /></a> –> Turn Windows Feature on or off<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf7cl8mPtxO06DSEtHw19joH7ZGueKmUMhKeaUGC5IWdkjIUnBcymptLSglvG6dljDLdXb9WQlrtcjY-njPpGB7fCN597BM57uYftyQ-YVgXTs7tEKVo3qKV1oQHRTImHQP-Pvc5TH7F4l/s1600-h/TurnProgramFeaturesOnorOff4.png"><img alt="Turn Program Features On or Off" border="0" height="49" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6T-UVYDeQPJw5sd7cg9kiu1DnRPXkDIBCdONuA73VNsXtCLtAFZ8sn8z-eOYYxHc5_RSusGQSS2I2tQ4Qkv97EU4gTkGJUSR5XuyTC-arjv-gnP2XqP7MWDCDSrsUIC6Nw01c4bqqGvpp/?imgmax=800" style="border-width: 0px; display: inline;" title="Turn Program Features On or Off" width="180" /></a> .</b></div><div align="left"><b></b></div><div align="left">A new dialog box will be opened. In that select <b>Internet Information Services </b>and click ok and wait while Windows installs IIS Server in your machine.</div><div align="left"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGunYSjR1UgbwyIOB4gfTomhm42GHKOo8tB3rGDoa7cBMYUPtWn9RpwrqsMIUFQaM-3zv_aQ5yfp0JWX4ZXR6Whx6RDty1xDHRASmSbuREtvTlWLvUf6E3OUsqbw7OedOl60124PLED4cR/s1600-h/WindowsFeatures7.png"><img alt="Windows Features" border="0" height="387" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyctN0bw1BNbPp6SgWhqEXjF_dRwE3jTnmZgDl38hL10FqlIoeDhsgEiRRc9llt9Yr_rPxn0NieluyIEnP1iQGj1whLYvVwyH4m7J8gdYJOQFiXj4ENaLa3_C0Tw4M7wYr4web8I3T-lv_/?imgmax=800" style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="Windows Features" width="435" /></a> </div><div align="left">Now IIS is installed successfully.</div><div align="left"><b>Setting up the Ad Hoc network:</b></div><div align="left">Now we have to setup the Ad Hoc network on our laptop.</div><div align="left">Open <b>Control panel—> Network and Sharing Centre </b><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtnupmjikk7L7or9x1knUiVrSuiBrRUznIQHBzIVASatTfozfLYU-duIj_ACJixAFKFZ8vDUxE4idosgRBq4vToktiEP9giXwURHADPiJboYz-GFDHOAOtdV7DAoxcjZ4aMrCmlveweoW2/s1600-h/NetworkSharingCenter3.png"><b><img alt="Network Sharing Center" border="0" height="60" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVLxq9iVE7o0jesrzMf1cHAWMZ11G3pneOuvZCF3PY0YqeNL3ry0WqpD69vFaKIiV9SzpRlQg2gFM3MRuUUx85S9w9EWytZvkGoh59mo05TXCR07mr-cfqdKWPNqv7lyik5Scj-wEedRQE/?imgmax=800" style="border-width: 0px; display: inline;" title="Network Sharing Center" width="185" /></b></a><b> --> Setup new connection or network<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTQh5kPv0LpZ6EiFVm9iflLyKznUVs3IGR5IShbCMLJwZW3jeBzJ8ZkD7vg64JXB_x-exJ0NDBlVhG3zXGkwQfVTszzfTnqWQYURQQWSQ39t1SbD813RgeBJCZQqelGi8H8r0Bqk_gZsRc/s1600-h/SetupNewAdhocNetwork3.png"><img alt="Setup New Adhoc Network" border="0" height="67" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5v9gD2bk2nKu2zBZD4oCKiXU4wrboN3nWOeKVvlUO6lsT2G0SyKUN4OW9B26T-pVxdnNNXubsJOvE1vZqceaycq2j7RXMsieiuJX0QAzjBL2bmhKX8Pmm4jXOVvzADFcUJoACwgsBuEgd/?imgmax=800" style="border-width: 0px; display: inline;" title="Setup New Adhoc Network" width="100%" /></a> .</b></div><div align="left">In the new dialog window <b>select setup a new network </b>it will take some time to show the details. Then select the appropriate option to setup a ad hoc network with default values.</div><div align="left"><b>Configuring the website:</b></div><div align="left">To configure the website we need to do little work here. Open <b>Control Panel—> Administrative Tools—> Internet Information Services (IIS) Manager.</b></div><div align="left">In the new windows that appears select the website under <b>connections pane—> sites </b>under that select your web site by double clicking it.</div><div align="left">On the right pane select <b>Bindings </b>and click <b>Add. </b>Now select <b>http </b>as type and in the <b>IP Address </b>field put some ip address like <b>192.168.1.15 </b>and leave the <b>Port </b>as <b>80. </b>Leave the <b>Host Name </b>field empty and click Ok and click Close to return back to main window.</div><div align="left">In the right pane under <b>Manage Website </b>select <b>Restart. </b>Now you will see something like this <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge2uWkxOKLSKjCgCr8_P7ppc4mx7dWgSLgXPIpKnzwaIjpipisJMZx_miAp34ghjnscrKpYDh9hf0rWIGPVM3ycGgK7N5v9w3yXrc-UGzdpuxTOrtmq6p1BeyzkrWGte3k9xq9qLcjhFs8/s1600-h/BrowseSite5.png"><img alt="Browse Site" border="0" height="53" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1vN5CfVYFDySxvIQHWAOP2YUXJcATyiBPBpJbFw7rnqv_pMzake_mK0PpdTyzmLnUv4BcxWiePv11g8U9aebAVK6XCZZ_IvgCGb6RLNqum7FEzby1x87Nv3r6VxtOevcyAEKlf5HpwleH/?imgmax=800" style="border-width: 0px; display: inline;" title="Browse Site" width="179" /></a> . Now click on <b>Browse 192.168.1.15:80 (http) </b>to check the whether the website is working correctly. It will open your web browser and show the <b>Welcome Page or IIS 7 Page.</b></div><div align="left"><b>Configuring the firewall in Laptop:</b></div><div align="left">Open <b>Control Panel—> Windows Firewall.</b></div><div align="left">In the new window select <b>Allow a program or feature through Windows Firewall </b>option.</div><div align="left"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyUBg-gcIIbnFKD96SKdRNqxB4utT1n6PucitznvDXpFSSeUM4H0prB20AgREjuhIfl2hOG_mx2GWj4hQvxK1nEIkd0VrwdMgwOZUp8f2L0qL9eVieuWNl7tI_Pzh6fxW4EcvOXlhhI1hS/s1600-h/FirewallPrograms2.png"><img alt="Firewall Programs" border="0" height="48" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_mIFQOR8Js35OF93LzN4x8bkFIOaAkV-ori5KTbeCgi1mIxPx1zTZJ5zf0YB8C8x7iRgK1I17MYH38QeOzKF7gU4dmJcKpX4hERLVSkl5mGMVXXovCULQCAG6vC6xHfk0GSD0VRezSOpX/?imgmax=800" style="border-width: 0px; display: block;" title="Firewall Programs" width="204" /></a> </div><div align="left">It will open a new dialog window select <b>World Wide Web Services (HTTP) </b>select <b>Change Settings </b>and select the <b>Home/Work(private) and Public Check box </b>and click Ok.</div><div align="left"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIyHwf4e2yZTvhM_1tW_mid8Ru8zJGPgsWO8fUwZ4XnL7FD_sTKiHRxZeUSk3QU6EKpn-Fw1lSpCZ1BxfWiQNCm1FdV4MUojptH2F0o_o4ewYuIERnnaGJR1EgvkVWofjtGP7RicIE7xai/s1600-h/WindowsFirewallIISallowing9.png"><img alt="Windows Firewall IIS allowing" border="0" height="456" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeFcKBuCndyHaBGBOROhE9i2zFMQx-YGNLQnjaMkXfG2MWcOWPzLtKNqjI1Jny0-ZrGQwszFDmOvzJu-uTYJ0Q-4sHlTO5Ngv8D4V5SchN84G9Lkc4DxXlOpBJaDgg2iUVnKVlmhfTyFkQ/?imgmax=800" style="border-width: 0px; display: block; width: 100%" title="Windows Firewall IIS allowing" /></a> </div><div align="left"><b>Configuring the connection for mobile phone:</b></div><div align="left">Now click on the <b>Wireless Networks</b> icon in the <b>System Tray </b><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZRJb3xzR39E2Se8ZbqnDJl-POJuxVUKXQ3CPj2p_cuy-CMe36mT-SgqwT-nTd9U0v_xIVDCqVSRy7-CYUYggYSLrPfYyKfGV2bZkipLJDLAszYGDenAsZrGUvDAclNkjNK92GW-lDacVA/s1600-h/WirelessIcon2.png"><b><img alt="Wireless Icon" border="0" height="33" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGrA-dJL3wL6xjRwEgCMmJP-KRRD6PGDsL9Gdap72nBptaiXb0W7dkCPgokiaBjPdbHWag1E3tnmsqFbajRhYH76ToYsyobDSdCJDI8WhE96y84TLf-2kx_DmaTVtol7eQHBUl_fpTEpoA/?imgmax=800" style="border-width: 0px; display: inline;" title="Wireless Icon" width="33" /></b></a><b> </b>and select the Ad hoc network you have created. In this example the Ad hoc network name is <b>Dell Raja. </b>Now click connect.<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi06bUldxpOP0omeAu_aiKTG9pDO4NM6Mjsr3dPfkqW8dQdM9uZsvRKkqk9WL-sAHuyZpXCVhX8Y-0nD-Va_aS-4_0t0x1IEmfzRHivzGpVN1yliQ2kUYTeaBIdG7z3obwo0NF-Se4Ut9UF/s1600-h/DellRajaAP3.png"><img alt="Dell Raja AP" border="0" height="411" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg_x4htMFJI5hrCMNQiE69Lyn1e8NWovc4HTacmrWfxya3eVGTVI7GADEaEqcVr2u9hmzRmpFNHdj3O_gRuhoVIzcPGyWFnVbEI410NKOzRJVEOpV1H1SmdScG8Deae-kMax-pgw3OxJD6/?imgmax=800" style="border-width: 0px; display: inline;" title="Dell Raja AP" width="300" /></a> </div>Now scan for wireless access point in mobile and select <b>Start Browsing. </b>In the web browser type in the <b>IP Address </b>you have given for the website, in our example <b>192.168.1.15. </b>After getting connected to the Ad hoc network right click and select the <b>status </b>in the new dialog window select <b>Properties </b>in the <b>Internet Protocol Version 4(TCP/IP4) </b>and select <b>Properties </b>select <b>Use the following IP address </b>radio button and enter the ip address of the website we have previously configured, in our example <b>192.168.1.15 </b>in the <b>IP address field. </b>Then enter the <b>Default Gateway </b>as <b>255.255.255.0. </b>Click Ok if any pop up windows appears then click Ok. <br />
<blockquote><b><span style="background-color: white; color: #afb4a9;">Tip:</span></b><br />
<b> </b>If you connect your laptop to some other network then you may need to change the above settings to <b>Obtain IP address automatically </b>otherwise the connection may not work properly.<b> </b></blockquote><br />
Now disconnect your mobile phone from the laptop and connect it once again using the previous procedure. <br />
<blockquote><span style="background-color: white; color: #afb4a9;"><b>Tip:</b></span><br />
Save a bookmark with the IP address and Connection name in the mobile for easy and quick access. See an example screen shot below.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGzPuzlpWi8ZjRXSVzS97ND0FRWNx0S3DXzltK8TdIuNf1s6ml31o2qn9SoYB6JRPTBdCDo5cKqCWWMWGnWr0DWUtB0Ct1qdgjFsRAT7IJin8PmY-xFjm5JFaBVepyn4AAUwgD3vig_7Uq/s1600-h/Screenshot0008%5B2%5D.jpg"><img alt="Screenshot0008" border="0" height="184" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZDg5HAsTKcT3b3QsnWjBW2P07lUJsAiDnKRPqUB882lgRGEXbE62ZDGBl51kLgnM5tz8u4JQCekAri4irzFUbNrYthk6cn3kSOGbdwf0X-Zi1aebu8mLaF0_5FSWdULqctQdUVG53EEBI/?imgmax=800" style="border-width: 0px; display: inline;" title="Screenshot0008" width="244" /></a> </blockquote>After entering the IP address correctly you will see the IIS 7 Welcome page as you have seen before in the local (laptop’s) web browser.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhb45Yglibcf49sb-i6Mdh65lU1wBOTNzuJTw1QIX5g-D_KT5_e-ukZvlY1hamfa5soFtAh310_ywS8SPnRydziliyNlEoe1GBI3a9aAhmE7P8KoAz9xem4bsxisCthf2ZuHqE08NKqFQPj/s1600-h/Screenshot0009%5B2%5D.jpg"><img alt="Screenshot0009" border="0" height="184" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcEzau4U3BnIJA8IFpFUUEwMg9N4sDwg_cnZgpqiuUrfDqUEYC6dCBwSECq7WbNRiyD8dp5TjD4f4sITQpLl2PM1OxxaYO_JSFqn1QiExF2hSE6PI9vY21sZ8Hb7gtEunnO0eny48lFJml/?imgmax=800" style="border-width: 0px; display: inline;" title="Screenshot0009" width="244" /></a> <br />
<b>Transferring files:</b><br />
Now open the default folder for our website and paste the file you want to transfer. For our convenience we rename the file like “<b>Sample.zip”. </b>Now type in the address something like <b>http://192.168.1.15/Sample.zip.</b><br />
<b><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4Hq3y_TJSDKbk1bbs-ced7I6VKOCsPVQ6hYn9XGqUWOyiuFtVr0U-iICf6T0eDuXiraGOKtPcmzywUdl8Uhzg03p1J6YL-e6IoDcCEb17AAtsOn3bL2dzXAEbx8CWH528CNvjx_tZxdti/s1600-h/Screenshot0013%5B2%5D.jpg"><img alt="Screenshot0013" border="0" height="184" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKJ4bhY6isQf6J-3B-i41J-fLrvow-IOxZ6t1_WZ-AFsd80Z4d6QB5sI7AZVo10b1BkVSrtOiRS0g4W0P2qmBTh3vvXpBICwwccppsFhSzGFMsaF7d267bhka9YHFnJwwJRw764TS6d8Dd/?imgmax=800" style="border-width: 0px; display: inline;" title="Screenshot0013" width="244" /></a> </b><br />
It will start to download the file with almost <b>550 kbps </b>at an average<b>.</b><br />
<b><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7eSc8mxivbcv-uP5u2HCkvPZJqGy6jyB2H8WTebJoVC_nwZZkFrXO3aVTuZ4q3eqPpLyokZavtLsZShDpKLayHLHnnMSPIYrOqQvJQRkvhBW5V7i2TKnQKJ2JSKGZTkfCSR732dRDLNb-/s1600-h/Screenshot0015%5B2%5D.jpg"><img alt="Screenshot0015" border="0" height="184" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd5iVhEoY34SlQygfq_YaDrmQKKz6RIJ2CUA5S4l4dm5PUdtSXV56SpfTFfr2cCqTD-JYxoQWZbm2F8pTVHY27EMUH5DIzbDx6QJFOy_AueyaJk6Wv5T1afr0QcB5Q-bp9qhSrZGuo3rLv/?imgmax=800" style="border-width: 0px; display: inline;" title="Screenshot0015" width="244" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgln8KV6gjiGsqsxZa5D8Tl_VGQyAWW-oaFHCL8JmqeFD7-6_gEKQvdCiOugXXq4075xzVbLiC_A521gCAC3My7p15m9_qw08G8YngWcDbJSUKMYc-omTjzzC3LGI0Y2de3FbRDW1GjY39f/s1600-h/Screenshot0019%5B14%5D.jpg"><img alt="Screenshot0019" border="0" height="184" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGdSIwWCT7c7lq0EkWPizG30mN2cp-vSLL9EjaU-x255LPwRvgBEOIq0XEiGYUABgduKu0X7jGJinqTbYkQD0TodSN0dSYroISpGIzLfSvInYZLGTBm0uWPQanmEpKArb6mWz7uPogN3Qj/?imgmax=800" style="border-width: 0px; display: inline; margin-left: 0px; margin-right: 0px;" title="Screenshot0019" width="244" /></a> </b><br />
The above screen shot shows the file is being downloaded at <b>606.54 KBps</b>, quiet fast isn’t it<b>. </b><br />
<blockquote><b><span style="background-color: white; color: #afb4a9;">Important Note:</span></b><br />
This trick will work for almost any mobile phone, PDA, IPod enhanced with Wifi.<br />
You can use also use Apache Web Server, which is an open source software but you have to follow its own installation and configuration procedure. To know how to setup Apache Web Server <b><a href="http://techies-home.blogspot.com/2010/05/how-to-set-up-server-with-apache-php.html" target="_blank">Click Here.</a></b></blockquote><br />
<br />
Enjoy faster file transfer.Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com3tag:blogger.com,1999:blog-7314450340943444305.post-38265968829911125772010-08-12T20:23:00.004+05:302010-08-14T13:53:12.780+05:30Print a character to screen without using any Library functions in C.<iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=ravi4frenz&o=1&p=8&l=bpl&asins=0672326663&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe><br />
<br />
<span style="color: red;"><b>void main()</b></span><br />
<span style="color: red;"><b>{</b></span><br />
<span style="color: red;"><b>char far* src = (char far*) 0xB8000000L;</b></span><br />
<span style="color: red;"><b>*src = 'H';</b></span><br />
<span style="color: red;"><b>src += 2;</b></span><br />
<span style="color: red;"><b>*src = 'i';</b></span><br />
<span style="color: red;"><b>src+=2;</b></span><br />
<span style="color: red;"><b>*src='!';<br />
getch();<br />
}</b></span><br />
<br />
You may wonder whether it is possible to display a character in the screen without using any C library functions. Yes, it is possible by directly accessing the memory of the device's display buffer with a character pointer and assigning some character to it.<br />
<br />
In the above code, the first line assigns the address of the memory location where we want to put the character. Actually the display buffer will be having 4000 memory blocks for printing characters in pure DOS mode.<br />
<br />
Pure DOS mode supports printing of 2000 characters per screen.<br />
<br />
Generally for displaying a character, two memory blocks(bits) are used. The first block for specifying <b>What the character</b> is and the second block of memory is to represent the <b>property of the character,</b> like color.<br />
<br />
If you are printing something using the above method you will find the characters only at the top-left corner of the screen since you are accessing the initial memory address of the display buffer (<span style="color: red;">0xB8000000L</span>). <br />
<br />
Anything you have printed on the screen before executing this code will be sent to the lower screen (if you have not specified any <u>clrscr();</u> in this program)Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com0tag:blogger.com,1999:blog-7314450340943444305.post-45960243990331494522010-07-04T17:02:00.002+05:302010-07-14T01:02:07.442+05:30Solution for Nokia Music Player Playlist updating Problem.HI fellow readers, this Sunday I came up with a new solution for a well known problem of <b>.mp3</b> files not being added to the <b>Music Player Play List</b> in new Nokia devices like <b>Nokia E63</b>. Mine is Nokia E63 and I faced the same problem too and one day I got the solution for this problem.<br />Let me tell you how to add the Music songs into your Music Player Play List Library. Some other solutions can be found<b>. </b>But those solutions will take a lot of time and will require much patience.<br />Here is the new method which is quiet time saving than other methods.<br />Before starting you might want to have these,<br /><ul><li>Computer. </li><li>Nokia PC Suite. </li><li>Nokia Data Cable. </li><li>Internet Connection. </li><li>Memory Card Reader (optional). </li></ul><b></b><br /><b>Step 1:</b><br />Connect your mobile with pc with the data cable in <b>Mass Storage</b> format (use a Memory Card Reader to transfer data for faster file transfer). You may connect it in <b>PC Suite Mode</b> also but the data transfer will be slower.<br /><b>Step 2:</b><br /><b></b>Copy all the music files from the mobile phone to a folder in your computer. You may also add new music files to the folder if you want.<br /><b>Step 3:</b><br />Connect to the Internet and open the Nokia PC Suite. Now click the<b> Explore Music Icon </b><b><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic-pUi03A8hZnYlm6-7iVH-BUBSKewvi5wyGScNicKv0KI1dBWflZusUyPXYkCNLdeQ7RuEKwQl0bgw82cpcNS-rLmABmgG-W3w_eCyA3ZdqvpTWzH_th17eA4IzF23jSZNlSSYs1uiNtg/s1600-h/clip_image002%5B3%5D.jpg"><img alt="clip_image002" border="0" height="56" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUahCkSRo1H1n45E1m8ixy0xfkEH4ofStOdqXc_A21LRjgdyvdGgVnA3CB1BCXKMpdJrETDACRX1n31y899cT4nSq8I-EjgdtnZLUy52EUB_xbwxxVLU0HNkogmg64qzvV38ejo9arrrZL/?imgmax=800" style="border-width: 0px; display: inline;" title="clip_image002" width="57" /></a> . </b>Now it will download the necessary files. Do not uncheck anything and let it download everything it wants. It will automatically install the software programs downloaded by it. <b></b><br /><b></b><br /><b>Step 4:</b><br />After installation has been finished <b>open </b>the Nokia Ovi Player from you desktop. Setup everything as you need but do not export anything into the library. Now remove your Nokia from the USB and reconnect it with the Data cable using the Media Transfer mode (otherwise it won’t work). Wait few seconds until the Ovi player finds your device.<br /><b>Step 5:</b><br /><b></b>After the device has been found Import the necessary Music files that you have already saved in a folder. If you find some unwanted music files in the Ovi Player simply select everything and delete it from the playlist. <br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhodZ1cPuozEfLR6poveK775SQePjGLCcaZgvI6xj2lDmH6Jl2i2gMypzA26MqpUv4aUgXo-aN3c4C2aNMbFVniG5i1JeqMUJLJbvvb2p7lW8UFD8d8kPvfx1OYkrEcPaEwKBDtpwq6774P/?imgmax=800"><img alt="image" border="0" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLW649oxepbFAPIYwuGiSoEJYS9v6aXc_Lw8Jr4z96iaSM_nUGvW5M3Ag-EH848jews1-mQJDZLB7cfVlayYkhIkYi-igSXKagvGma1OfexygVUro45jOkVL1BmEx5uTpwlRWtKDCFmXmn/?imgmax=800" style="border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto;" title="image" width="481" /></a> <br /><b>Step 6:</b><br /><b></b>Now use <b>ctrl+A </b>to select all the files and drag and drop them to the Mobile Phone icon <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcUq6FDnwe1PE6aEV4bZu47A_NYC7PitDCNo2PfA_1nVEpURUAZRleeRm6lVT7SGLcYwqL-bbGsJ_0xy_X-QRFRwxEnertO1tZgDTX-K2dcU06jMAyBNVdssFvvQpLBHaA15JvqKrkHPr9/s1600-h/clip_image006%5B3%5D.jpg"><img alt="clip_image006" border="0" height="78" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz82DQy36CIEkE-umofpks3zupWGCwEZhgX7os-MV_aGR096M4kIHkLfw6T7GgUIeDjsNdcr2LKEvQOKbbcsOtabdEevMjbaEEDtc_HYi1kVouFcqxg2oEGb-FSUcCCnRe2oBPT9rVXTcA/?imgmax=800" style="border-width: 0px; display: inline;" title="clip_image006" width="133" /></a> on the left side. Now everything you have transferred will be added to your Nokia’s Music Player Play List. I have checked it with my Nokia E63 and this works fine.<br /><blockquote>For any doubts about the procedure leave your comments here.</blockquote>Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com0tag:blogger.com,1999:blog-7314450340943444305.post-31540459059115914882010-06-05T20:42:00.000+05:302010-07-14T01:02:58.003+05:30How to delete auto complete history in MS Outlook.<div style="text-align: left;">Definitely outlook is one of the best email client around but the complexity involved in it prevent us from using it. One such annoying thing is the auto complete feature in outlook. </div><div style="text-align: left;"><br /></div><div style="text-align: left;">The worst thing about it is, it remembers all the email addresses we have typed in even after deleting everything. So to get rid of this thing follow the steps below.</div><div style="text-align: left;"><br /></div><ul><li>Go to the following folder path 'C:\Documents and Settings\"Your Account Name"\Application Data\Microsoft\Outlook'. </li><li>Search for .NK2 files and then delete it.</li><li>This is file which stores much details about your email activity including the mail ids for auto completion.</li><li> In the fore mentioned folder path change the "Your Account Name" with your "User Account Name". Each user have separate Application Data. So be aware while deleting that .NK2 file.</li><li> Instead you can also search for the .NK2 file if you have only one account for your computer.</li><li>Otherwise you can search for the .NK2 file and delete the appropriate file by looking at the Folder Path Details provided in the search results.</li></ul><div style="text-align: left;"><br /></div><div style="text-align: left;"><br /></div><div style="text-align: left;"> Note:</div><div style="text-align: left;"> Close the outlook express program and then delete the file, else it will prevent you from deleting it.</div><div style="text-align: left;"><br /></div>Rajahttp://www.blogger.com/profile/16429879169269790524noreply@blogger.com0