Forum: string object inuti For Loop C#

Forum huvudsida -> Programmering -> string object inuti For Loop C#

Sidor: 1

Till botten

netKen 11:23 - 22:a December 2009 | Post #1
Medlem
Inlägg: 11

Skicka PM
Hoj!

Jag har inte fattat ett skvatt hur jag ska göra, har googlat men inte hittat bra exempel.

Jag har url till xmlfiler som jag vill ladda hem till min HD, några tusen dokument jag vill slippa ladda ner manuellt.
Det är en engångs nedladdning, när jag väl har dem behövs ej for loop igen, så därför söker jag enklast möjliga kod för att hantera detta. Jag vet inte exakt hur många xmlfiler som finns men jag vill inte ladda hem för mycket så därför tror jag for loop passar så jag bestämmer start och slut själv. Har frågat codeproject.com men de säger jag ska läsa en nybörjarebok, har kollat i böcker men kan ej hitta hur jag ska gå till väga, de hade som förslag att använda while eller for loop och string object som nedan visar. Men hur fortsättningen ska vara har jag inte den blekaste aning om?!

url slutar med matchID=255200 och fortsätter några tusen fram
http://www.somedomain.com/../../XMLmatchID=255200

for loop
for (int i = 255200;i != 256200; i ++)

string object
string sFile = string.format{"http://www.somedomain.com/../../XMLmatchID=255200{0}",ID);


-------------------------
/netKen



martin310 15:18 - 22:a December 2009 | Post #2
Medlem
Inlägg: 203

Skicka PM
ID:et ska väl vara där 255200 är?

-------------------------
Hmm... Singnatur Hmmm...

Crazy Banana Collectors Game Studios - eller är det Game Studio???



Kekke 21:27 - 22:a December 2009 | Post #3
Medlem
Inlägg: 29

Skicka PM
for (int i = 255200; i < 256200; i++)
{
string sFile = "http://www.somedomain.com/../../XMLmatchID=" + i.ToString();
}


-------------------------
Ingen signatur!

Senast redigerad 21:28 - 22:a December 2009


martin310 09:28 - 23:e December 2009 | Post #4
Medlem
Inlägg: 203

Skicka PM
    Citat av Kekke:
for (int i = 255200; i < 256200; i++)
{
string sFile = "http://www.somedomain.com/../../XMLmatchID=" + i.ToString();
}


i.ToString()

Är onödigt!
i

Istället!

-------------------------
Hmm... Singnatur Hmmm...

Crazy Banana Collectors Game Studios - eller är det Game Studio???



netKen 19:05 - 3:e Januari 2010 | Post #5
Medlem
Inlägg: 11

Skicka PM
Ändrade så det går att testa med verklig url

Vad är mitt nästa steg för att dessa filer ska laddas ner??, nu visas bara länkarna i listview utan att de i själva verket har laddats ner från just url:en.

private void button1_Click(object sender, EventArgs e)
{

for (int i = 3484; i < 3489; i++)

{
string sFile = string.Format("http://netken.se/test/id=1&omgang={0}", +i);
// se vilka filer som hämtas
listView1.Items.Add(new ListViewItem(sFile));
}



-------------------------
/netKen

Senast redigerad 18:09 - 24:e Januari 2010


netKen 13:46 - 7:e Januari 2010 | Post #6
Medlem
Inlägg: 11

Skicka PM
Min dator har tyvärr krashat fullständigt. Så gör er inget besvär att svara på tråden på ett tag.

-------------------------
/netKen



netKen 19:28 - 9:e Januari 2010 | Post #7
Medlem
Inlägg: 11

Skicka PM
sådärja, datorn igång igen.Smiley

så, jag ska spara till min hd och spara till min databas.

ska ta en titt på sqlbulkcopy eftersom det är tusentals filer att ladda ner. Sen ska det bara laddas ett fåtal xmldokument till databasen 1-2 ggr/veckan, till det vet jag inte, är SqlDataAdapter något att föredra?

och slutligen spara till hd, vet någon vad jag ska kolla på?


-------------------------
/netKen



martin310 19:35 - 9:e Januari 2010 | Post #8
Medlem
Inlägg: 203

Skicka PM
SqlDataAdapter är bra om du ska använda listor i Windows Forms så det är nog något att föredra.

Att spara till HD är ju bara att använda fil-funktionerna i C# (en snabb googling så hittar du det!)

-------------------------
Hmm... Singnatur Hmmm...

Crazy Banana Collectors Game Studios - eller är det Game Studio???



netKen 21:37 - 10:e Januari 2010 | Post #9
Medlem
Inlägg: 11

Skicka PM
spara till hd, har googlat en massa men hittar inte vad jag söker. Vill spara filerna med innehållet med samma namn som url i en mapp. Kan nu hämta den första url'en i loopen. Fattar inte hur resten ska gå till (är väl för gammal å trög,hehe)


try
{
XmlDocument doc = new XmlDocument();
doc.Load(sFile);
doc.Save("C:/test.xml");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

-------------------------
/netKen



martin310 19:09 - 11:a Januari 2010 | Post #10
Medlem
Inlägg: 203

Skicka PM
Ta bara namnet på den "C:\\" + sFile
Om det var det du mena?

-------------------------
Hmm... Singnatur Hmmm...

Crazy Banana Collectors Game Studios - eller är det Game Studio???



netKen 20:05 - 11:a Januari 2010 | Post #11
Medlem
Inlägg: 11

Skicka PM
Ja, det var tänkt så men Illegal characters blir det då, men har hittat en del på nätet om det. Hoppas det ordnar sig Smiley

-------------------------
/netKen



netKen 12:38 - 15:e Januari 2010 | Post #12
Medlem
Inlägg: 11

Skicka PM
det verkar kört, hittar inget som beskriver hur man laddar ner många filer samtidigt till hd.

Hur är det med den funktionen i C++?
Eller något annat språk?

-------------------------
/netKen



martin310 14:10 - 15:e Januari 2010 | Post #13
Medlem
Inlägg: 203

Skicka PM
Använd socket och StremWriter!Smiley

-------------------------
Hmm... Singnatur Hmmm...

Crazy Banana Collectors Game Studios - eller är det Game Studio???



netKen 22:17 - 28:e Januari 2010 | Post #14
Medlem
Inlägg: 11

Skicka PM
Tack martin310, för din hjälp

Det verkar som ingen har kodat detta i C#
ladda ner 1 fil är inga problem, men när det kommer till flera hittar jag ingen lösning, oavsett metod som används. Det finns många många "Download Manager" exempel men ingen som kör igenom loop och sparar direkt till hårddisk. Inte vad jag har sett iaf.

Fortsätter så länge med nästa project, i annan tråd så småningom!

-------------------------
/netKen



Kekke 18:14 - 9:e Februari 2010 | Post #15
Medlem
Inlägg: 29

Skicka PM
Såhär laddar jag ner filer med min youtube downloader:


private void Download()
{
try
{
Uri objUri = new Uri(YoutubeDownload.GetYoutubeLink(this.txtYoutubeLink.Text));

//Get file content
WebRequest wrRequest = WebRequest.Create(objUri);
WebResponse wrResponse = wrRequest.GetResponse();
Stream objStream = wrResponse.GetResponseStream();

Int64 fileSize = wrResponse.ContentLength;

if (!Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\KekTube"))
{
Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\KekTube");
}

FileStream fsStream = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\KekTube\\" + this.lblOrgTitle.Text, FileMode.Create, FileAccess.Write);
byte[] bteRead = new byte[256];

int iCount = objStream.Read(bteRead, 0, bteRead.Length);

while (iCount > 0)
{
fsStream.Write(bteRead, 0, iCount);
iCount = objStream.Read(bteRead, 0, bteRead.Length);

this.Invoke(new UpdateProgessCallback(this.UpdateProgress), new object[] { fsStream.Length, fileSize });
}

fsStream.Close();
objStream.Close();
wrResponse.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
if (this.cboMp3.Checked)
{
YoutubeDownload.EncodeFormatFromMp4ToMp3(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\KekTube\\" + this.lblOrgTitle.Text,
Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\KekTube\\" + this.lblSaveAs.Text, false);
}
else
{
File.Copy(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\KekTube\\" + this.lblOrgTitle.Text,
Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\KekTube\\" + this.lblSaveAs.Text, true);
File.Delete(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\KekTube\\video4.mp4");
}
if (this.tboLog.InvokeRequired)
{
string strUpdateText = "[*] File completly downloaded, it can be accessed at " + Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\KekTube\\";
// It's on a different thread, so use Invoke.
SetTextCallback d = new SetTextCallback(updateLog);
this.Invoke
(d, new object[] { strUpdateText });
}

}
}


-------------------------
Ingen signatur!



netKen 19:46 - 10:e Februari 2010 | Post #16
Medlem
Inlägg: 11

Skicka PM
Tack så mycket Kekke.
Ska kolla i nästa vecka, ska bli spännande att se om det funkar bra för mig, hurra hurra!

-------------------------
/netKen



Sidor: 1

Forum huvudsida -> Programmering -> string object inuti For Loop C#
Atom feed

Du får inte posta i den här tråden | Till toppen