Thursday, October 29, 2009

Vector Masking using Adobe Fireworks.

Wow fireworks make's vector masking a child's play, first of all I have to tell you what is vector mask "vector mask is a gradient mask which used to hide a portion of image with some solid color, this solid color have two transparency points in first point the opacity is 100 % and in second point the opacity level is on O% percent, the revealed area of the image is under 0% opacity”. Vector mask are usually used to merge more than two images in a single image.
Now we start this tutorial.

Step 1:

Select an image


Step 2:

Place a rectangle block using Rectangle Tool (or press U) behind the image, which is equal to the desired banner width.

Step 3:

Toggle image and rectangle block position, by using layer palette or Ctrl + keys

Step 4:

  • Use Marquee tool to select area of the image and crop it, we used ruler to make sure that we select required height.
  • Under properties panel we have all properties of a Marquee, which we can adjust as per our requirement.

After Cropping we have this result.

Step 5

Go to command select creative option then select Auto Vector mask.

After selecting Auto vector mask a panel open with following mask options

Select your desired mask option and press Apply button.
OK below image I have done few steps together but below image help you to find out what all I have done.
These two handles visible on image (we also pointed one of them a circle) are used to control mask position and opacity level.
Under the properties panel we have all vector mask options.
Vector mask layer is also highlighted in Layer Palette.


Step 6:

After final adjustment of Vector mask, we put some text on Banner.
Good Luck, I hope that you will learn Vector mask with this simple Tutorial. Please give your feedback to help me to make things better.





At the end of this tutorial i am thank full to Makeup Forever for their image contribution and Dafont.com for their fonts.





Tuesday, October 20, 2009

Building a Java Desktop Database Application



This tutorial shows how to create a desktop Java application through which you canaccess and update a database. The tutorial takes advantage of support inNetBeans IDE for the following technologies:

  • The Java Persistence API (JPA), which helps you use Java code to interact with databases.

  • Beans Binding (JSR-295), which provides a way for different JavaBeans components
    to have property values that are synchronized with each other. For example, you can use beans
    binding to keep the values of cells in a JTable visual component in
    synch with the values of fields in an entity class. (In turn, the entity class
    represents the database table.)

  • The Swing Application Framework (JSR-296), which provides some useful
    building blocks for quickly creating desktop applications.



We will create a database CRUD (create, read, update, delete)
application with a custom component used for visualizing the data (car design preview).



This tutorial is largely based on a screencast that was based on a development build.
Some of the user interface has changed since that demo
was made, so you might notice some differences between this tutorial and the demo.
You can view the demo (about 9 minutes) now
or download a zip
of the demo
.


Setting Up the Database


Before you begin creating a desktop CRUD (create, read, update, delete) application
in the IDE, you should already have the IDE connected to the database that
your application will use. Having this connection set up in advance will
allow you to take advantage of IDE features that automate the binding of the
database to your application.



In this tutorial, we provide instructions for using a Java DB database, since
there is a convenient interface for starting and stop the Java DB database server from the IDE.
However, you can use a different database server without too much difficulty.


First verify that you have Java DB registered in the IDE.
Java DB is
automatically registered in the IDE in a number of cases, such as when
you have Sun Java System Application Server registered in the IDE
or when you are running on JDK 6. If Java DB is not registered in the IDE,
register it manually.



To verify whether Java DB is registered in NetBeans IDE 6.1:



  1. Open the Services window.

  2. Right-click the Databases > Java DB node and choose Properties.

    If Java DB is registered, the Java DB Installation and Database Location
    fields will be filled in.



    If Java DB is not registered, fill in the following two fields:



    • Java DB Installation. Enter the path to the database server.

    • Database Location. Enter the folder where you want the databases to be stored.


  3. Click OK.


To verify whether Java DB is registered in NetBeans IDE 6.0:



  1. Choose Tools > Java DB Database > Settings.

  2. If Java DB is registered, the Java DB Installation and Database Location
    fields will be filled in.


    If Java DB is not registered, fill in the following two fields:




    • Java DB Installation. Enter the path to the database server.

    • Database Location. Enter the folder where you want the databases to be stored.


  3. Click OK.



Starting the Server and Creating a Database



Once Java DB is registered with the IDE, you can easily start and stop
the database server, as well as create a new database.


To start the database server in NetBeans IDE 6.1:



  • In the Services window, right-click Databases > Java DB and
    choose Start Server.

    If you do not already have a location set for the database, the Set Database Location
    dialog box appears. Enter a location for the database server to store the databases. You can create
    a new folder there if you wish.





To start the database server in NetBeans IDE 6.0:



  • Choose Tools > Java DB Database > Start Server.

    If you do not already have a location set for the database, the Set Database Location
    dialog box appears. Enter a location for the database server to store the databases. You can create
    a new folder there if you wish.





Once the server is started, Java DB Database Process tab opens in the
Output window and displays a message similar the following:


Apache Derby Network Server - 10.2.2.0 - (485682) started and ready
to accept connections on port 1527 at 2007-09-05 10:26:25.424 GMT




To create the database in NetBeans IDE 6.1:




  1. In the Services window, right-click Databases > Java DB and
    choose Create Database.

  2. For the Database Name text field, type car_database. Also set the User Name and
    Password to nbuser.

  3. Click OK.



To create the database in NetBeans IDE 6.0:



  1. Choose Tools > Java DB Database > Create Database. The
    Create Java DB Database dialog opens.

  2. For the Database Name text field, type car_database. Also set the User Name and
    Password to nbuser.


  3. Click OK.



Connecting to the Database



So far, we have successfully started the the database server and created a database.
However, we still need to connect to the new database before we can
start working with it in the IDE. To connect to the car_database database:




  1. Switch to the Services window (Ctrl+5) and expand the Databases node to see
    your new database.


  2. Right-click the database connection node
    (jdbc:derby://localhost:1527/car_database[nbuser on NBUSER]) and choose
    Connect.

    The connection node icon should now appear whole (connection node icon), which signifies that the connection was successful.






  3. Expand the connection node, right-click its Tables subnode, and choose Execute Command.

  4. Copy the contents of the
    car.sql file
    and paste them into the SQL Command 1 tab of the Source Editor.

    This is the SQL script which will populate the database with data about cars.



  5. Click the Run SQL button (Run SQL button)in
    the toolbar of the Source Editor to run the script.




Creating the Application



  1. Choose File > New Project.

  2. In the first panel of the wizard, expand the Java category and select the Java Desktop Application template. Click Next.

    The Java Desktop Application template provides many basics of a visual application, including basic menu items and commands.



  3. In the Name and Location page of the wizard, do the following things:

    1. In the Project Name field, type CarsApp. The value of this field sets the display name for the project in the Projects window.

    2. Select the Set As Main Project checkbox.

    3. Optionally, edit the Project Location field to change the location of your project metadata.

    4. In the Choose Application Shell field, select Database Application.


    5. Click Next.


  4. In the Master Table page of the wizard, select the database connection for the CAR database.
    The listing for the database should look something like the following: jdbc:derby://localhost:1527/car_database[nbuser on NBUSER]

  5. Fill in the password (nbuser) for the database and select the
    Remember Password During This Session checkbox.

    After the connection to the database is established, the Database Table field
    should display CAR and
    the Columns to Include list should include the names of
    10 columns for the CAR database. For now, we will use only five of them in the application.

  6. Select the bottom five column names (beginning with
    SUN_ROOF and ending with MODERNNESS) and click the < button
    to move them to the left column. Click Next.

  7. In the Detail Options panel, click Finish.

    The wizard then generates the a basic user interface with a table and a
    database connection. This might take a few seconds as the IDE generates the
    project and the code..







Running the Generated Application


At this point, you have a basic running application with a
graphical user interface (GUI) that has the following features:



  • Ability to view and modify values in five columns of the CAR database.

  • Basic menu items.


  • Persistence of its window state between sessions. When you
    close the application, the window position and size are remembered. So
    when you reopen the application, the window opens in the same position as
    it was when you closed it.

  • An About dialog box, which you can easily customize.

  • .properties files containing the labels in the user interface. Using
    .properties files is a good way to keep the logic of your code separate from the
    text that appears in the user interface of your application. Such separation is useful
    for making it easier to localize your program, among other reasons.



To see some of the features that are already built into the application, follow these steps:



  1. Right-click the project's node and choose Run.

    After a few seconds, the application stars and a window called Database Application Example appears.
    This window contains a table and several controls that enable you to edit the CARS database.


  2. Select the first record in the table (for the Acura).

  3. Select the Price text field and replace the existing value with 46999. Then press Enter.

    The value should appear updated in the table. (However, that value will
    not be reflected in the database until you click Save.)



    Similarly, you can update any other values in the table.


  4. Click New to create a new record. Then fill in values for each of the fields (Make, Model, Price, Body Style, Color). For example, you can fill in
    Trabant, Classic, 1000, wagon, and blue. Click Save to
    save the entry in the database.

  5. Click the Database Application Example title bar and drag the application to a different place on your screen.


  6. Click the left border of the Database Application Example window and drag to the left to increase the size of the window.

  7. In the Database Application Example menu bar, choose File > Exit.

  8. In the IDE, right-click the project's node and choose Run Project.

    The Database Application Example window will open in the same size and position it was in when you
    closed the application.





Reviewing the Generated Parts of the Application



The connection between the master table (a JTable component) and the database is
handled with a combination of the following mechanisms, all of which have been
generated by the IDE:




  • The Car.java entity class, which is used to read and write data to
    the CAR database table. Entity classes are a special type of class
    that enable you to interact with databases through Java code.
    Entity classes use Java annotations to map class fields to database columns. .

  • The META-INF/persistence.xml file, which defines a connection between
    the database and the entity class. This file is also known as the persistence unit.


  • Using beans binding to connect the properties of the entity class
    with the properties of the JTable component. Beans binding is a new technology
    based on JSR 295 and which will probably be included in a future Java SE release.

  • The entityManager, query, and list
    objects, which are defined in the CarsAppFrame class and
    which are listed in the Inspector window.


    • The entity manager object is used to retrieve and commit data
      within the defined persistence unit scope.

    • The query object defines how the particular data collection is retrieved from
      the entity manager. (You can change the way that the query object works by selecting the
      query object in the Inspectory window and changing the query property in the property sheet.
      The query property uses JPA query language.

    • The list object is an observable collection that holds the data from the query. An
      observable collection is a special kind of collection on which you can place a listener to
      find out when changes to the collection have been made.






Using the Inspector window and the property sheet, you can follow these steps to see how
the JTable is bound to data:



  1. In the Inspector window, select the
    mainPanel[JPanel] > masterScrollPane [ScrollPane] > masterTable [JTable]
    node.
    Then click the Binding tab in the Properties window.


  2. Look at the elements property to confirm that it is bound to a list.

  3. Click the ellipsis [...] button to open the Bind masterTable.elements customizer, where you can
    further customize the binding between the table and the database. For example, you can see that the
    customizer enables you to specify which table columns are bound.


Besides the Binding category in property sheet you can also use the
Bind menu in context menu.





Adding More Controls



We will now add controls to the form for some of the attributes we initially excluded.
Instead of using a table, we will add JSlider components (for the tire size and
modernness attributes) and JCheckbox components (for the sun roof and the spoiler).

Follow these steps to add the additional components:


  1. Add the first slider by clicking the Slider button in the Palette window and
    then clicking in the form just above the New button. Before clicking in the form
    to insert the slider, make sure that no horizontal slotted guiding lines are shown.
    These lines indicate that the slider will be inserted in the same line as the
    fields or the buttons. See the figure below to see where you should drop the
    slider into the form.

    Note: If you drop the component in a place you do not want and thus
    cause several undesired layout changes, you can use the Undo command
    to reverse the changes. Choose Edit > Undo or press Ctrl-Z.




  2. If necessary, stretch the slider to the left to align it with the left side of the text field components.

  3. Stretch the slider to the
    right to span the whole form width.

  4. Add a label to the left of the slider and set its text to Tire Size.
    (Click the label to make it editable.)

  5. Add another slider below the first slider, and adjust its width and alignment where necessary.

  6. Add another label below the Tire Size label and set its text to Modernness.


  7. Add two checkboxes below the sliders. Set their text to Spoiler and Sun Roof.
    (Make the display text editable by clicking the checkbox once, pausing, and then clicking
    the checkbox again. You can also right-click the checkbox and choose Edit Text.)


The form should look like the screenshot shown below.



A screenshot of the design area with all controls added"

Binding Controls to Values in the Table



We will now use beans binding features to tie the values shown in table cells to
the state of the controls we have added. This will allow you to change the values
of cells in the table by using the sliders and checkboxes.



To bind the sliders to their corresponding table elements:



  1. In the form, right-click the Tire Size slider and choose Bind > value.

  2. In the Binding Source drop-down list of the Binding dialog box, select masterTable.


  3. In the Binding Expression drop-down list, select the selectedElement > tiresize node.



    "

  1. In the form, right-click the Modernness slider and choose Bind > value.

  2. In the Binding Source drop-down list of the Binding dialog box, select masterTable.


  3. In the Binding Expression drop-down list, select selectedElement > modernness.



To bind the checkboxes to their corresponding table elements:



  1. In the form, right-click the Spoiler checkbox and choose Bind > selected.


  2. In the Binding Source drop-down list of the Binding dialog box, select masterTable.

  3. In the Binding Expression drop-down list, select selectedElement > spoiler.

  4. Click OK to exit the Bind dialog box.


  5. In the form, right-click the Sun Roof checkbox and choose Bind > selected.


  6. In the Binding Source drop-down list of the Binding dialog box, select masterTable.

  7. In the Binding Expression drop-down list, select selectedRow > sunRoof.

  8. Click OK.




You should now be able to change database entries using the slider and
checkboxes.



To verify that the sliders and checkboxes work:



  1. Open the Services window.

  2. Make sure the IDE has a connection to the database by right-clicking
    Databases > jdbc:derby;//localhost:1527/car_database and choosing Connect.

  3. Right-click the Databases > jdbc:derby;//localhost:1527/car_database > Tables > node
    and choose View Data.


  4. Look at the SUN_ROOF, SPOILER, TIRE_SIZE, and MODERNNESS values
    for the first record.

  5. Choose Run > Run Main Project to execute the application.

    The running application should look similar to the screenshot shown below.



    "

  6. In the running application, select the first record.

  7. Move the sliders and change the checkbox selections.


  8. Click Save to save the changes into the database.

  9. In the Services window, use the View Data command again.

    The values in the database should reflect changes that you have made.




Wednesday, September 23, 2009

"Header already sent" error and other use of Header function in PHP


Using the Header() function you can do the following things


1) Redirect your user to some other page.

2) Tell the browser not to cache your files

3) Content Disposition.


"Header already sent" error


Most of the PHP learner (including me) has spent hours in debugging this problem. This problem happens while using session variables. While using session variables you must initialize the session using the function session_start(), and the problem occurs here.

This problem has got an unbelievably simple solution, just start the PHP block (where you have written the session_start() at the very first line of the page.


To illustrate this

<?php
session_start();
?>

is OK. But

<HTML>
<?php
session_start();
?>

is wrong.

Again , you can not even leave a blank line above the PHP code as it is considered as HTML code


<?php
session_start();
?>
As you can see there is a blank line above the PHP block , this will raise error.


Another example ,

<?php
echo 'Hello';
session_start();
?>

will give error as the statement "echo 'Hello' output an HTML on the page before "session_start();" is executed .


So , the bottom line is do not output anything before the session_start() is executed.

1) Redirect your user to some other page.

You can redirect you user to some other page using the code "Location" parameter of header() function.


<?php
header ( "Location: http://www.koderguru.com/" ); /* Redirect browser */
/* Make sure that code below does not get executed when we redirect. */
exit;
?>

This code will redirect your user to the page http://www.example.com.

Warning : The statement
"header ( "Location: http://www.example.com/" );"

does not generate 302 response, that mean the page will be redirected but it will not be counted as a hit to "www.koderguru.com", so the target page looses a hit count. To avoid this use the following code.

<?php
header ('HTTP/1.1 301 Moved Permanently');
header ('Location: http://www.koderguru.com');
?>

This code generates a 301 status and hit count of "www.koderguru.com" will increase.

Also , you can redirect after some interval , using the code


// Redirects the browser after $sec seconds
header("Refresh: $sec; http://www.koderguru.com" );
should be:
header("Refresh: $sec; url= http://www.koderguru.com" );


2) Force the browser not to cache the pages.

You can do this with the code

<?php
// Date in the past , tels your browser the cache has already expired
header ( "Expires: Wed, 06 Jul 2006 05:00:00 GMT" );
// Here the line tells the browser that the last modification date of this page is right now
//So it must reload the page
header ( "Last-Modified: " . gmdate ( "D, d M Y H:i:s" ) . " GMT" );
// HTTP/1.1
header ( "Cache-Control: no-store, no-cache, must-revalidate" ); // do not cache/store this page
header ( "Cache-Control: post-check=0, pre-check=0" , false );
// HTTP/1.0
header ( "Pragma: no-cache" );
?>


3) Content Disposition.
You can also generate different type of content other than html , using Header() function

<?php
// We'll be outputting a PDF
header ( 'Content-type: application/pdf' );
// It will be called downloaded.pdf
header ( 'Content-Disposition: attachment; filename="downloaded.pdf"' );
// The PDF source is in original.pdf
readfile ( 'original.pdf' );
?>


The above code tells the browser the type of document is PDF.


So , that's all for now. I hope you find this tutorial useful. Thank You.

Hide .php extension with url rewriting using .htaccess

Using this technique you will see product.html in the address bar of the browser but the actual file name remains product.php and you don’t need to rename the file extension. Furthermore you can rewrite the URL like product.php?id=5 to product-5.html.

what is the benefits of rewriting URL?

When a search engine visits the dynamic url like product.php?id=5 it does not give much importance to that URL as search engine sees “?” sign treat it as a url which keeps on changing. so we’re converting the dynamic URL like the product.php?id=5 to static url format like product-5.html. We’ll rewrite the url in such a way that in browser’s address bar it will display as a product-5.html but it actually calls the file product.php?id=5. So that why these kind of URL also named as SEO friendly URL.

what is required for URL rewriting ??

To rewrite the URL you must have the mod_rewrite module must be loaded in apache server. And furthermore, FollowSymLinks options also need to be enabled otherwise you may encounter 500 Internal Sever Error. If you don’t know much about mod_rewrite module then please check this post to know how to check and enable mod_rewrite module in apache?
Examples of url rewriting for seo friendly URL

For rewriting the URL, you should create a .htaccess file in the root folder of your web directory. And have to put the following codes as your requirement.

1)Rewriting product.php?id=12 to product-12.html

It is a simple redirection in which .php extension is hidden from the browser’s address bar and dynamic url (containing “?” character) is converted into a static URL.

RewriteEngine on
RewriteRule ^product-([0-9]+)\.html$ product.php?id=$1

2) Rewriting product.php?id=12 to product/ipod-nano/12.html

SEO expert always suggest to display the main keyword in the URL. In the following URL rewriting technique you can display the name of the product in URL.

RewriteEngine on
RewriteRule ^product/([a-zA-Z0-9_-]+)/([0-9]+)\.html$ product.php?id=$2

3) Redirecting non www URL to www URL

If you type yahoo.com in browser it will be redirected to www.yahoo.com. If you want to do same with your website then put the following code to .htaccess file. What is benefit of this kind of redirection?? Please check the post about SEO friendly redirect (301) redirect in php and .htaccess.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^optimaxwebsolutions\.com$
RewriteRule (.*) http://www.optimaxwebsolutions.com/$1 [R=301,L]

4) Rewriting yoursite.com/user.php?username=xyz to yoursite.com/xyz

Have you checked zorpia.com.If you type http://zorpia.com/roshanbh233 in browser you can see my profile over there. If you want to do the same kind of redirection i.e http://yoursite.com/xyz to http://yoursite.com/user.php?username=xyz then you can add the following code to the .htaccess file.

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ user.php?username=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ user.php?username=$1

5) Redirecting the domain to a new subfolder of inside public_html.

Suppose the you’ve redeveloped your site and all the new development reside inside the “new” folder of inside root folder.Then the new development of the website can be accessed like “test.com/new”. Now moving these files to the root folder can be a hectic process so you can create the following code inside the .htaccess file and place it under the root folder of the website. In result, www.test.com point out to the files inside “new” folder.

Wednesday, September 2, 2009

BCS Comsats Timetable

Timetable for all classes of BCS Comsats is finalized.

Download Complete Timetable

Sunday, August 16, 2009

Watch TV on your Computer

Hey people Readon has made Best Web TV for the people how use computer and want to see TV on the Computer. Some people buy a device so that it can work both as computer and TV but now Readon give a nice Internet TV.



Respect to Readon.



Use there TV and enjoy almost all the TV channals according to the location.



For that i have uploaded its setup you can download it from following link:

ftp://helpopedia.ueuo.com@helpopedia.ueuo.com/Softwares/setupTV.zip

Note : Always use the Positive part of every thing.

Regards

Umair

Saturday, August 15, 2009

A simple code to handle Time



$time="08:05:00"; //for sake of example .initial time
$curtime="01:05:00";//end time

$t=explode(':',$time);
$h=intval($t[0]);
$m=intval($t[1]);

$add=1;

while($ntime!=$curtime)
{
$h=intval($h);
$m=intval($m);
$m+=$add;

if($m>=60)
{
$h++;
$m=$m-60;
}
if($h>23)
$h=0;

if($h<10)
{
$h="0".$h;
}
if($m<10)
{
$m="0".$m;
}

$ntime=$h.":".$m.":00";
echo $ntime."
"; //it will echo each minute
}