Forum huvudsida -> Programmering -> string object inuti For Loop C#
Sidor: 1
| netKen | 11:23 - 22:a December 2009 | Post #1 | |
|
Medlem Inlägg: 25 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); ------------------------- / Mvh netKen |
|
| martin310 | 15:18 - 22:a December 2009 | Post #2 | |
|
Medlem Inlägg: 234 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: 234 Skicka PM |
Citat av Kekke:
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: 25 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)); } ------------------------- / Mvh netKen Senast redigerad 18:09 - 24:e Januari 2010 |
|
| netKen | 13:46 - 7:e Januari 2010 | Post #6 | |
|
Medlem Inlägg: 25 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. ------------------------- / Mvh netKen |
|
| netKen | 19:28 - 9:e Januari 2010 | Post #7 | |
|
Medlem Inlägg: 25 Skicka PM |
sådärja, datorn igång igen. 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å? ------------------------- / Mvh netKen |
|
| martin310 | 19:35 - 9:e Januari 2010 | Post #8 | |
|
Medlem Inlägg: 234 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: 25 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); } ------------------------- / Mvh netKen |
|
| martin310 | 19:09 - 11:a Januari 2010 | Post #10 | |
|
Medlem Inlägg: 234 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: 25 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 ------------------------- / Mvh netKen |
|
| netKen | 12:38 - 15:e Januari 2010 | Post #12 | |
|
Medlem Inlägg: 25 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? ------------------------- / Mvh netKen |
|
| martin310 | 14:10 - 15:e Januari 2010 | Post #13 | |
|
Medlem Inlägg: 234 Skicka PM |
Använd socket och StremWriter! ------------------------- 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: 25 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! ------------------------- / Mvh 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: 25 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! ------------------------- / Mvh netKen |
|
| netKen | 21:55 - 8:e April 2010 | Post #17 | |
|
Medlem Inlägg: 25 Skicka PM |
Tack för all hjälp. tycker det är svårt så därför använder jag nu mig av codeprojects "My Downloader" (open source). http://www.codeproject.com/KB/IP/MyDownloader.aspx ------------------------- / Mvh netKen |
|
| netKen | 21:55 - 13:e April 2010 | Post #18 | |
|
Medlem Inlägg: 25 Skicka PM |
satt å lekte lite å vips så funkar det att ladda ner till mapp, så nu har jag iaf en bra början. Nu har jag använt både webclient och httpwebrequest klasserna, det finns säkert smidigare sätt att skriva koden på men för mig funkar det. Tar ca 30 sekunder vid nedladdning av 700 dokument (7kb/dokument), Ladda ner stora filer är inte att rekommendera, har provat med ca 80kb och det funkar bra men med större hänger det sig och tar all kraft från datorn. För att få filerna sparade i olika format ex. xml/xls/txt lägg till efter {0}: String.Format(@"C:\Users\KMJ\Downloads\foldernamn\{0}.xml", ("omgang=") + i, Path.GetExtension(sFiles))); private void button1_Click(object sender, EventArgs e) { for (int i = 3484; i < 3489; i++) { string sFiles = string.Format("http://netken.se/test/id=1&omgang={0}", +i); listView1.Items.Add(new ListViewItem(sFiles)); { WebClient wc = new WebClient(); HttpWebRequest request = null; HttpWebResponse response = null; string ret = ""; try { request = (HttpWebRequest)WebRequest.Create(sFiles.Trim()); request.Method = "GET"; request.ContentType = "application/xml"; request.Timeout = 15000; response = (HttpWebResponse)request.GetResponse(); ret = new StreamReader(response.GetResponseStream(), Encoding.Default).ReadToEnd(); wc.DownloadProgressChanged += new DownloadProgressChangedEventHandler(wc_DownloadProgressChanged); //spara till mapp wc.DownloadFileAsync(new Uri(sFiles.Trim()), String.Format(@"C:\Users\KMJ\Downloads\foldernamn\{0}", ("omgang=") + i, Path.GetExtension(sFiles))); response.Close(); } catch { } finally { if (response != null) { response.Close(); } } } } } public void wc_DownloadProgressChanged(Object sender, DownloadProgressChangedEventArgs e) { pbDownloadStatus.Value = e.ProgressPercentage; } } } ------------------------- / Mvh netKen Senast redigerad 13:09 - 31:a Juli 2010 |
|
| netKen | 19:40 - 21:a April 2010 | Post #19 | |
|
Medlem Inlägg: 25 Skicka PM |
vidare vill jag istället använda folderbrowserdialog. men när jag lagt till vald mapp behövs \ för att det ska fungera (tankas ner), hur lägger jag till slash och var? wc.DownloadFileAsync(new Uri(sFiles.Trim()), String.Format(textBoxSpara.Text + "{0}.xml", ("omgang=") + i, Path.GetExtension(sFiles))); private void btnFolder_Click(object sender, EventArgs e) { if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { textBoxSpara.Text = folderBrowserDialog1.SelectedPath; } } ------------------------- / Mvh netKen Senast redigerad 19:44 - 21:a April 2010 |
|
| netKen | 17:21 - 3:e Maj 2010 | Post #20 | |
|
Medlem Inlägg: 25 Skicka PM |
lösning= @"\" och ev. använda Combine.Path ------------------------- / Mvh netKen |
|
Sidor: 1
Forum huvudsida -> Programmering -> string object inuti For Loop C#
Du får inte posta i den här tråden | Till toppen
Datum
2010-09-08 12:05
Vecka: 36
Besökare (Lista)
Inloggade: 1
Gäster: 22
Medlemmar (Lista)
Medlemmar: 1316
Senaste medlemmen: shaithan
Forum
Senaste inlägget: Python problem (17:37 - Igår, av jla)
Wiki
Senaste ändringen:
HAR (rev: 49, tid: 22:56 - 4:e Augusti 2009)
Chatt
#blinkenlights @ Freenode
Webbchatt
Information om Bada hälsocenter.
Hitta bussbokning av bussar på Interbuss.
En hemsida som handlar om julkort till företag eller som välgörenhet.
Köp dina hushållsmaskiner här.
En webbutik som är specialicerad på baby -och barnkläder. Har även sortiment inom herr -och damkläder till lågpris.
Bedriver limousineservice i Växjö och hela lander. Åk ståndsmässigt till bröllopet eller svensexan.
Developing software for IT cost management and overview. Sollutions for hardware and software inventory and licence management.
Leverer komplette emballageløsninger til internationale industrivirksomheder primært indenfor telekomudrustning- og bilindustri.
Här hittar ni trägolv och parkettgolv av ek, ask, bok mm.
Bedriver översättningar och språkgranskning. Ser till att du får experthjälp av kvalificerade facköversättare.
Gratis shellkonton för IRC, webbsidor mm.