DeanMSands3 69 Junior Poster

First, I would set up a Scanner object on the file. Which is strangely absent from your code.
o.O
Second, you're using an array with a fixed size. This is a no-no, but I'm guessing it suits your needs for the time being. ArrayLists are better and SAFER. You'll learn about them next semester. =)

I would setup a while loop (or a well-made for loop) whose condition is that the
Scanner hasNextInt. Within the loop, I'd grab the integers using the Scanner's getNextInt and put them into your array.
I'd also have a variable that keeps count of how many integers I'd parsed in and place them in the appropriate array index.
When the integer gets parsed in, I'd increment a second counter for each int less than ten.
Notice how I'm not writing any code. This looks a lot like homework.
Hope you make a good grade!
=D

DeanMSands3 69 Junior Poster

... OK... you renamed "itemStateChanged" to "actionPerformed." The compiler is looking for "itemStateChanged" because that's what ItemListener requires.

I simply changed the name back and the code ran fine.

DeanMSands3 69 Junior Poster

Remember that Java like C uses "zero based" arrays. That means that if an array has 7 elements, it's indices go from 0 to 6. With i<=A.length, you're setting i to 0 through 7. But A[7] doesn't exist. Hence the out of bounds exception.

            //Change i<=A.length to i<A.length
            for (int i=0; i < A.length; i++){
                  TextIO.putln(A[i]);
            }
DeanMSands3 69 Junior Poster
DeanMSands3 69 Junior Poster

Well, could you do a search through the folder then add them to an array, then cycle through on the picture box?

DeanMSands3 69 Junior Poster

If you really want to get into hardware but have no foundation to start from, I'd suggest getting an Arduino or TI-MSP430. Then buy a bag of LEDs and some resistors and start blinking lights. It's fun. You'll like it.

DeanMSands3 69 Junior Poster

I am perpetually astonished by how much I can accomplish in a single day when I have something more important I should be doing instead.

DeanMSands3 69 Junior Poster

Correction: That's the ctypes.h header. I apologize.

DeanMSands3 69 Junior Poster

For your program are you only using letters from the English alphabet? If so, you can create your freq array as an array of 26. To convert from ASCII to letters, simply subtract 65 from upper case letters or 97 from lower case letters.
To do this, make sure you're actually dealing with a letter. You can use the isalpha function from the types.h header.
In fact, this header also has a toupper function (to upper-case) that you can use to convert the lower case letters.
Once you have this, you can subtract 65 from the resulting value to give you an index value that ranges from [a=0...z=25].

Happy coding!

alice.ng.3344 commented: oo~ Understand!! thanks!!! ^^ +0
DeanMSands3 69 Junior Poster

Define "read."
The question that should be asked is "do you know how to actually load and process the BMP?" You know that the BMP data is upside down compared to your screen, right? (I was going to say the BMP is upside down, but, no, it's screens that are.)

DeanMSands3 69 Junior Poster

OK... strange... it didn't post this morning. Here's the repost:

#include <vector> //Include the header for the vector data type
#include <iostream> //Accept input and give output.
#include<fstream>

using namespace std; //Using the std namespace for coding simplicity

int main(){
    vector<double> test1,test2;
    double num;
    int i=0,j;
    ifstream infile;
    infile.open("input.txt");
    while(true){
        //First column
        infile>>num;
        if(!infile.good()) break; //If it's not good break.
        if(infile.eof()) break; //If it's the end of the file break.
        test1.push_back(num); //Back of the line for you, mister!

        //Second column
        infile>>num;
        if(!infile.good()) break; //If it's not good break.
        if(infile.eof()) break; //If it's the end of the file break.
        test2.push_back(num); //Back of the line for you, mister!

        i++; //And one more row please.
    }

    //Print them back out switched just for variety.
    for(j=0;j<i;j++){
        cout<<test2[j]<<"\t"<<test1[j]<<endl; //Notice I'm printing test2 first, then test1.
    }

    test1.clear(); //Clean up and free up!
    test2.clear();
    infile.close();
    return 0;
}

Here's the data set I used to test it:

0.5 -1.0
1.5 -2.0
2.5 -3.0
3.5 -4.0
4.5 -5.0

And here's what it prints out:

-1 0.5
-2 1.5
-3 2.5
-4 3.5
-5 4.5

DeanMSands3 69 Junior Poster

Ignore the bit about system("pause"); . I was being sarcastic. That's just something veteran coders use to humiliate junior coders. Using it IS a bad habit, but one that most of us (myself included) start out with.

As to your question, instead of double test1[size], test2[size]; use vector<double> test1, test2;
Next, read the numbers from infile into a temporary variable (make sure to declare it first).
Then, use the push_back member function to add the number into test1 or test2.
(A member function is a class function whose actions are -generally- specific to the object calling it).
You check the End of File flag on infile to see if you've run out of data.
I'll post an example shortly. First I need to rotate my laundry.

DeanMSands3 69 Junior Poster

How about a nice example?

//moo.h

#include <string>
extern std::string moo; //Declare the variable externally without actually creating it.


//moo.cpp
#include "moo.h"
std::string moo="Moo."; //Now we initialize the variable and give it an actual definition.


//moomain.cpp
#include "moo.h"
#include <iostream>
int main(){
    //Print out a happy message using the externally declared variable.
    std::cout<<"The cow says '"<<moo<<"' How I hate that cow."<<std::endl;
    return 0;
}


//Command line I used:
(Compiling)
$ g++ moo.cpp moomain.cpp -o moomain
(Running)
$ ./moomain
(Expected output)
The cow says 'Moo.' How I hate that cow.
DeanMSands3 69 Junior Poster

First off, you've committed an unpardonable sin on DaniWeb. You used system("pause"); Using getch(); is not better. This is a crime punishable by excessive belittling, arrogant condescension, and ostricism by the veteran community members.
I don't make the rules, and I am not making this up.
(The fix is to compile in the IDE, then run from the command-line, or find something in the preferences to

Second, you're attacking the problem the wrong way. Where (n) is not a constant, you want dynamic arrays in one form or fashion. The not fun way is to create the array with a single data slot, then allocate a new one, copy, and delete the old one every single time you add a new number.
This is less than ideal.

The "right way" (read: oh so much easier), is to use the pre-bundled Standard Template Library data types, most notably vector.
Here's an example:

#include <vector> //Include the header for the vector data type
#include <iostream> //Accept input and give output.

using namespace std; //Using the std namespace for coding simplicity

int main(){
    vector<double> array;
    double num;
    int i=0,j;
    cin.clear(); //clear any error flags
    cout<<"Please enter as many numbers as you like followed by a non-number to quit."<<endl; //So polite!

    //Accept an undefined number of double-precision floats.
    while(true){
        cin>>num;

        //Makes sure that the input type was the right data type.
        //(i.e. putting a string of letters into a number variable would be bad.)
        if(!cin.good()) break; 

        array.push_back(num); //Back of …
DeanMSands3 69 Junior Poster

I'm running a google search for "Virtual Machine PCI Pass-through" (making minimal progress) but I thought I'd ask your advice too.
I have an older (~2005) PCI WiFi card from Generic Off-brand Chinese Corporation X. I'm running Windows 7x64. The company that made the card has since gone out of business before a Vista driver was put out and there's little information on the card itself.

So... now what?

I'm considering running a Win2K VM to connect to the device, have it use its NT5 drivers, then have it ICS (Internet Connection Sharing) back to the host. Or something.

You have any interesting advice, DaniWeb? I'd love to hear from you.
-Dean

DeanMSands3 69 Junior Poster

SQLite. Get the amalgamation zip for the easiest start and go.
http://sqlite.org
Random Tutorial here:
http://www.dreamincode.net/forums/topic/122300-sqlite-in-c/
(There are correction suggestions in the comments. Be sure to read them!)

DeanMSands3 69 Junior Poster

"const int mazeArray" may have something to do with that.

DeanMSands3 69 Junior Poster

Well, that's fascinating, but unless you tell us what it is, we can't help. Funny how that works.

DeanMSands3 69 Junior Poster
DeanMSands3 69 Junior Poster

Semi-Kludge fix:
Disiable the record navigation buttons and create new ones that run the subs I need.
References:
Disabling the record navigation buttons:
http://www.access-programmers.co.uk/forums/showpost.php?p=311883&postcount=5

DeanMSands3 69 Junior Poster

I have a calculated field that takes the ID field of a table and pads it with leading zeroes.
So far, I've gotten this to work:
String$(4-Len(Trim$(Str$([ID]))),"0") & Trim$(Str$([ID]))
Broken down, it takes the ID field, and string-ifies it.
For some reason, this pads it with a space, hence the seemingly superfluous Trim$.
The Len function takes the count of the characters in the string.
This subtracted from 4 (I want 4 total digits).
The String$ function creates a set of zeroes the length of 4 minus the length of the ID number.
This concatenated back onto the trimmed, string-ified ID.
It works. It just feels like a freakish kludge.
I can't use the Format function in calculated fields, so this is what I've got.
You got anything better, DaniWeb? I sure would like to know.

EDIT: I just noticed I ought to add in some Modulus's to the formula. This is OK as the records in this one get purged annually and we'll never get over 10000 in a single year.

DeanMSands3 69 Junior Poster

To share the semaphore, it has to be in the shared memory space. Therefore, you'll want to redefine the semaphore variable as a pointer, then point it somewhere in the shared memory space that isn't being used, then initialize it.

DeanMSands3 69 Junior Poster

Greetings, DaniWeb! I have an Access DataBase with a Form I need to modify. When the user moves between records, I need to trigger an event. Is there an event that triggers, and what is it? I know it's not Form.Load.
Thanks, DaniWeb!

DeanMSands3 69 Junior Poster

Microsoft Office VBA is a language many of us love to hate. I am no exception, but I know better than to kick the cash cow that feeds me. As it is, the grand and spacious realm that is DaniWeb lacks a VBA forum. There's VB.NET, VB4,5,6 and Legacy Languages. VBA, especially VBA in Access, really doesn't fit in any of those. Even as I write this, I'm tempted to feel very silly for my request, but my other post-in-progress has no hope for home except in the overly generic "Software Development" super-forum.

Or, we could just create an Office forum under Hardware & Software->Microsoft Windows.

So, how about y'all at DaniWeb HQ? Can we show that (annoyingly rich) red-headed step-child some love?

DeanMSands3 69 Junior Poster

Just watched Hobbit. A friend suggested that it might have been a better experience had I read the Silmarillion and some of the other supporting Tolkein books. So, having only read the Hobbit cover to cover, it was kind of jarring seeing all the extra bits. I saw it in "3D" which was alright, but I didn't really get how the experience was different than 2D.

All in all, it was a good, fun, movie, and I'd do it again.

Edit: Watching Saruman dismiss the possibility darkness creeping back into the land was amusing. I kept thinking "There is no war in Middle Earth" if you'll excuse the Avatar:TLA reference.

DeanMSands3 69 Junior Poster

@Adak: Much obliged. I'd been worrying about that.

DeanMSands3 69 Junior Poster

cout and pretty much everything else in the Standard Template Library (i.e. the header files without the .h at the end) are members of the std namespace.

On line #2 add in: using namespace std;

DeanMSands3 69 Junior Poster

It's not dead; it's resting.
http://www.youtube.com/watch?v=4vuW6tQ0218

DeanMSands3 69 Junior Poster

I apologize that I haven't gotten this to you yet. I got halfway through then realized the data (being somewhat symmetrical) can be misleading. I'm still working on it. I'll test it Saturday and Sunday.

Happy coding!

DeanMSands3 69 Junior Poster

Man, how I miss my Operating Systems class. BEST. CLASS. EVER.

Let me rewrite this with comments:

void P(){
    A();
    //Begin critical section
    wait(S1); //Grab S1
    B();
    signal(S1); // Release S1
    //End of critical section
    C();
    D();
    signal(S2); // Producer
    E();
}

void Q(){
    F();
    //Begin critical section
    wait(S1);
    G();
    H();
    J();
    signal(S1); // Release S1
    //End of critcal section
    wait(S2); //Consumer
    K();
}

Hope this helps.

DeanMSands3 69 Junior Poster

This is a lot like a binary search.
Looking at this, you can already tell where to look after 4 readings.
So drop it to 4 readings: 0,90,180,270 (you already know 0 and 360 are the same.)
Find your two highest.
Pick exactly in the middle.
Take a reading.
Repeat.

For sanity's sake, you may want to start with an initial reading of 8 values.

DeanMSands3 69 Junior Poster
//class
class vehicle
{
    protected:
    char model[20], color[20], brand[20];
    float price, deposit, rate, monthly_installment, newprice;
    int term;

    public:
    void calculate_installment();
};

class car:public vehicle
{
    private:
    float installment; //newprice removed since provided by vehicle

    public:
    void calculate_installment();
};

//main program

#include <iostream>
#include <string.h> //Use cstdio instead
#include <stdlib.h> //Use cstdlib instead
//#include "classvehicle.h"

using namespace std;

int main()
{
    //vehicle vehicle1; //You can add this back if you really want it.
    car car1;  

    //vehicle1.calculate_installment(); // See above.
    car1.calculate_installment();
    //system ("PAUSE"); 
}

void vehicle::calculate_installment()
{
    cout<<"\n Program to calculate car price:";
    cout<<"\n Model:";
    cin>>model;
    cout<<"\n Color:";
    cin>>color;
    cout<<"\n Brand:";
    cin>>brand;
    cout<<"\n Program to calculate new price of car:";
    cout<<"\n Price of car :";
    cin>>price;
    cout<<"\n Deposit:";
    cin>>deposit;   
    newprice = price - deposit;
    cout<<"\n The new price of car is :" <<newprice<<endl; 
}

void car::calculate_installment()
{   
    vehicle::calculate_installment();
    cout<<"\n Program to new price installment:";
    cout<<"\n Rate of car :";
    cin>>rate;
    cout<<"\n Term of car:";
    cin>>term;  
    installment= newprice+(rate*term); //THIS LINE IS WRONG
    cout<<"\n The new price installment is :" <<installment<<endl;
    monthly_installment = installment/(float)(term*12); //Added (float) for sanity's sake 
    cout<<"\n The montly installment that have to pay is :" <<monthly_installment<<endl; 
}

Disclaimer: I apologize for my poor English. I am, unfortunately, American.
This is mostly working code. But it is still wrong. Really, you should rewrite it so that it asks for the information in a different member function like get_vehicle_info() or something. Then call calculate_installment().

Lastly, that line I marked as wrong? It's wrong as the day is long. If …

DeanMSands3 69 Junior Poster

I'm going to go ahead and get the ball rolling.
The best plan of action would be to:

  • Set your primary's DHCP to limit IP assigning from .2 to .252
  • Assign your secondary routers LAN IP's to .253 and .254 respectively.
  • Disable the DHCP on your secondary routers.
  • Run cables from the primary's LAN switch to the secondaries' LAN switch. I doubt you'll need crossover adapters.
  • Configure your primary router and 2 secondaries to broadcast their WiFi on channels 6, 1, and 11 respectively.

If I neglected something, someone on the forum will cheerfully call me an idiot and give the correct configuration.

DeanMSands3 69 Junior Poster

Looks like you're already preoccupied, but if I may be so bold, try a podcast ripper.
What a podcast ripper teaches you:
Sockets (i.e. network connections and transfers)
XML Parsing
Binary File Writing
(In addition to whatever bells and whistles you add like a GUI interface via MFC, GTK+, Qt, wxWidgets, etc.)

DeanMSands3 69 Junior Poster

Did a little Google-fu. I found the Armadillo library hosted on Sourceforge. It has a Psuedo-Inverse function (http://arma.sourceforge.net/docs.html#pinv)

Also found a codeforge sample: http://www.codeforge.com/article/41545 - Might be more useful if you've never linked libraries.

(Disclaimer: This is Google-fu only. I haven't tested either.)

DeanMSands3 69 Junior Poster

http://en.wikipedia.org/wiki/Persistent_browser-based_game
In effect, the game doesn't reset when you close your browser.

OK, so first things first. You're going to want to start small. I'd get either a free web host or a XAMPP installation on your home computer.
The down-side of a free web host is that you have less control over your project.
The down-side of a XAMPP installation is that you can't share with your friends yet until you set up port-forwarding - exposing your PC to the Internet. This can be dangerous.

Next, after you have a "server," start playing with the PHP. Do a <?php phpinfo(); ?> and have a look at what's available.
Write a simple PHP program that prints your name and a random number.

Then get a little deeper. After you've gotten the hang of PHP, write a program that can communicate with a MYSQL database. I'd recommend having PHPMyAdmin installed. It's a life-saver. Set up a small database with a single table. Write to it and display it from a web page.
http://lmgtfy.com/?q=php+mysql+tutorial

Then make a simple guest book program and have a textbox for input. You type in the message and the page reloads.
http://lmgtfy.com/?q=php+mysql+guestbook+tutorial

Modify it to show the last twenty posts so it's a sort of slow-moving chat program.

Why a chat program? Well, effectively, the MMO text adventure game will be a glorified chat program. With orcs. Gotta have orcs.
(Well, that's complete baloney …

DeanMSands3 69 Junior Poster

Try this. You'll like it.
http://www.antlr.org/
EDIT:
And if you're feeling adventurous...
http://en.wikipedia.org/wiki/Shunting-yard_algorithm

DeanMSands3 69 Junior Poster

Those work, but they tend to be slow.
Have you looked into Multi Precision Number libraries?
There's GMP and MPFR to name a few.
FYI: uint64_t will get you into the very shallow end of 20-digit numbers (i.e. 0-18446744073709551615)

DeanMSands3 69 Junior Poster

A string is not exactly the same as a character array. There's a bit of overhead that goes into it.
Try using

 curl_easy_setopt(curl, CURLOPT_URL, m_sURL.c_str());
DeanMSands3 69 Junior Poster

Googles "Oromiya" (Henicken's location) and "notes of birr". facepalm
Now I get it.
OK, so our friend Henicken is Ethiopian. Notes of birr are their currency.

However, as stated in previous posts, Henicken, YOU NEED TO POST WHAT YOU'VE DONE ALREADY.

Show us at least half of a program, and we'll help you finish it.

Ancient Dragon commented: now it makes sence +14
NathanOliver commented: Good detective work +10
DeanMSands3 69 Junior Poster

EDIT: @AD: I seriously thought so too, but I googled it first.
SECOND EDIT: @rithish: DO NOT DO THIS UNLESS YOU KNOW WHAT YOU'RE DOING!
Apparently, you can. I'd try it first on your compiler just to be sure.
Make sure it's pointed at a valid memory location that has been allocated.
http://stackoverflow.com/questions/3473675/negative-array-indexes-in-c

#include <stdio.h>

int main(){
    int array[16];
    int *ptr=array+8;
    int i;
    for(i=0;i<16;i++)
        array[i]=i;
    for(i=-8;i<8;i++)
        printf("ptr[%d]:%d\t", i, ptr[i]);
    return 0;
}

(Tested in MinGW 4.7 on Windows XP x86, then GCC 4.6 in Ubuntu x64)

DeanMSands3 69 Junior Poster

Gotta use the environment variables.
Google "cgi c++ tutorial"
There are several libraries that handle this for you like CGIcc.
EDIT: Oops, I (sort of) lied.
For a "GET", you need to use the "QUERY_STRING" environment variable.
For a "POST", you need to first read the "CONTENT_LENGTH" variable, then read in from stdin.

DeanMSands3 69 Junior Poster

Rewrite the code to print out debugging at the beginning and end of each function:

#include <iostream>
using namespace std;
void addSpace(int depth){
    for(int i=0;i<depth;i++)
        cout<<"  ";
}
int fun(int x, int depth) {
    int retVal=7;
    addSpace(depth); cout<<"begin fun("<<x<<"):\n";
    if (x <= 0){ retVal= 0;}
    else
        if (x >= 9 && x % 2 == 1){ retVal= x - 1;}
    else
        if (x >= 9 || x % 3 == 0){ retVal= x - 2;}
    addSpace(depth); cout<<"end fun("<<x<<"):"<<retVal<<"\n";
    return retVal;
}
int rec(int x, int depth) {
    int retVal;
    addSpace(depth); cout<<"begin rec("<<x<<"):\n";
    if (x < 10){
        retVal=fun(x,depth+1);
    }
    else{
        retVal=rec(x / 10,depth+1) + rec(x % 10,depth+1);
    }
    addSpace(depth); cout<<"end rec("<<x<<"):"<<retVal<<"\n";
    return retVal;
}
int main() {
    cout << fun(3,0) << endl; // line (a)
    cout << fun(30,0) << endl; // line (b)
    cout << fun(33,0) << endl; // line (c)
    cout << rec(33,0) << endl; // line (d)
    cout << rec(999,0) << endl; // line (e)
}

Try it. See what comes out.

DeanMSands3 69 Junior Poster

No.
Instead, I'll give you this.

#include <iostream>

using namespace std;
#define KM_M  1000
#define M_CM  100
#define CM_MM 10

int main(){
    long long mm, cm, m, km;
    cout<<"Input number of kilometers:";
    cin>>km;
    cout<<"Input number of meters:";
    cin>>m;
    cout<<"Input number of centimeters:";
    cin>>cm;
    cout<<"Input number of millimeters:";
    cin>>mm;
    m+=km*KM_M;
    cm+=m*M_CM;
    mm+=cm*CM_MM;
    cout<<"Your total distance in millimeters is: "<<mm<<"mm.\n";
    return 0;
}
DeanMSands3 69 Junior Poster

A moment of introspection between two characters in an up-coming fan-novel I'm writing.

“You ever wonder if, maybe it’s all in our heads? Maybe everyone else is normal, and we’re the only a__holes here? You ever wonder about that?”
(Thoughtfully): “Yeah.”
"Huh." (Pauses) “And?”
“No.”
“Me neither.”

DeanMSands3 69 Junior Poster

The longer I work in this business, the more I realize that I don't know s___.

DeanMSands3 69 Junior Poster

Howdy and welcome to DaniWeb. We're glad to have you.
Some things to remember:

  • Be courteous to others.
  • Don't spam. (Though in the Geek's Lounge, it's becoming more of a "guideline." Even so, please, don't.)
  • Always use the Code tag in the Formatting Menu (up top) when you're posting code.
  • Asking for help on homework is totally cool IF you've done a sufficient amount of work yourself.
  • Posting the homework followed by "HELP ME PLEASE!!!" is less than cool.
  • Don't be less than cool.
  • Think before you down-vote, and, when you do, give a reason in the comment section.
  • When a question is solved, mark it as solved and thank the person who helped you.
  • Don't ressurect old old threads unless it's absolutely necessary (i.e. something really obscure that someone somewhere might need to know and you can't find a good answer to anywhere else.)
  • Be humble. I've written firmware for industrial machinery that gets exported to other countries on other continents. I still feel like a noob here.

Most importantly: have fun, and happy coding.

DeanMSands3 69 Junior Poster

Glad to help if only a little.
Edit: This looks useful for non-strict HTML. http://htmlagilitypack.codeplex.com/
Second Edit: I just looked at my code I'd posted and realized that when I copy/pasted then modified the DownloadFileWithCredentials function, I forgot to update the comments. It should be trivial to figure out.

DeanMSands3 69 Junior Poster

So... this code is totally untested. Hope it works for you. :)

' RocketHubReader.vb
' Compiled from sources by DeanMSands3
' Disclaimer: This code is untested. Use at your own risk.

Option Explicit
Option Strict

Imports System
Imports System.IO
Imports System.Net
Imports System.Xml

Class RocketHubReader
    Public Shared myUserName as String = "username"
    Public Shared myPassWord as String = "password"
    Public Shared myTargetURL As String = "http://192.168.1.1/" ' Please keep the trailing '/'
    Public Shared Sub Main()
        Dim SourceHTML As String 
        Dim DocumentXML As New XmlDocument()
        Dim StrengthTD As XmlElement
        Dim StrengthImageList As XmlNodeList
        Dim strengthImage As XmlNode
        Dim strengthImageName As String = ""
        Dim strengthImageURL As String = ""
        ' Grab the Source
        SourceHTML = GetSourceWithCredentials(myTargetURL,myUserName,myPassWord)
        ' If it worked
        If SourceHTML <>"" Then
            ' Load the xml into the XMLDocument
            DocumentXML.LoadXML(SourceHTML)
            ' Find the Element named "Strength"
            StrengthTD = DocumentXML.GetElementById("Strength")
            ' Get the Child tags named "img"
            StrengthImageList = StrengthTD.GetElementsByTagName("img")
            ' Get the first image
            strengthImage = StrengthImageList.ItemOf(0)
            ' Get URL text in "src" attribute
            strengthImageName = strengthImage.Attributes.ItemOf("src").InnerText
            ' Is this an absolute or relative address?
            If Not strengthImageName.StartsWith("http://") Then
                ' Get Base address from TargetURL
                ' Warning! This expects at least a '/' after the hostname in myTargetURL
                strengthImageURL=GetWebBaseLocation(myTargetURL)
                ' On the off chance the strengthImageName is referencing the root
                If strengthImageName.StartsWith("/") Then
                    strengthImageName = strengthImageName.Substring(1)
                End If
            End If
            ' 
            strengthImageURL = strengthImageURL + strengthImageName
            ' Download the file
            Dim Success As Boolean = DownloadFileWithCredentials(strengthImageURL, strengthImageName, myUserName, myPassWord)
            If Success Then
                Console.WriteLine("File Downloaded: " …
DeanMSands3 69 Junior Poster

Tell us more about your project.
What database are you using?
Can you retrieve values from it?
What do you want the HTML file to look like?
EDIT: This might be helpful. http://www.dotnetperls.com/xmlwriter