Diskuze: Jak ukladat v Appdata
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

					Člen				
			
Zobrazeno 15 zpráv z 15.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Path.GetPathRoot(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);a to mam dat kam
toto je muj celej zdrojak
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;
using System.IO;
namespace WindowsFormsApplication7
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            WebClient client = new WebClient();
            client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
            client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
            client.DownloadFileAsync(new Uri("http://assets.minecraft.net/1_4_7/minecraft.jar"), @"Zde se ma ukladat do appdat ale jak ??");
        }
        void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
        {
            MessageBox.Show("Hotovo nahrano");
            progressBar1.Value = 0;
        }
        void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
        {
            string sFormatted = string.Format("{0} of {1}", e.BytesReceived, e.TotalBytesToReceive);
            Invoke(new MethodInvoker(delegate
            {
                progressBar1.Value = e.ProgressPercentage;
            }));
        }
    }
}string MojeCestaDoAppData = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "MOJESLOZKA");no a pak budeš ukládat pomocí tohodle stringu ^^ například
//...
using System.IO;
class mujprogra
{
      public void UlozSoubor(string soubor,string obsah)
      {
            using(StreamWriter sw = new StreamWriter(soubor))
            {
                 sw.Write(obsah);
                 sw.Flush(); // vyprazdni buffer
            }
      }
}
// no a pak už jen voláš funkci
UlozSoubor(MojeCestaDoAppData + "\\Data", "ahoj");nebo zjednodušeně...
string MojeCestaDoAppData = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "MOJESLOZKA");A tady pak něco ukládáš
using(StreamWriter sw = new StreamWriter(MojeCestaDoAppData))
//...V tvém případě by to mohlo být nějak takhle
//..
client.DownloadFileAsync(new Uri("http://assets.minecraft.net/1_4_7/minecraft.jar"), MojeCestaDoAppData);srry za spam ale mám tam chybu a už to nejde editovat ... má tam v prvním příkladu být cesta k souboru a ne do složky...
UlozSoubor(MojeCestaDoAppData + "\\Data\\MUJSOUBOR.txt", "ahoj");Tak by to mělo být už správně.
Tomáš
Co to máte s tím Path? Používá se toto:
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)Tedy:
WebClient name = new WebClient();
name.DownloadProgressChanged += new DownloadProgressChangedEventHandler(name_DownloadProgressChanged);
name.DownloadFileCompleted += new AsyncCompletedEventHandler(name_DownloadFileCompleted);
name.DownloadFileAsync(new Uri("source"), Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\target.extension");Místo name zvol vhodný název - žádné xxx2...
Pokud to ja napisu bez toho Path, tak mi to vrací cestu až za aktuální složkou - tzn. C:/..../projekt/bin/debug/C:/..../AppData
Já to tam nedávám schválně. Jen říkám, že mě to nefunguje bez toho Path....
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)Proč mě nikdo neposlouchá? 
Zobrazeno 15 zpráv z 15.
 
				


