» »

[c#] savefiledialog, en sfd a več datotek

[c#] savefiledialog, en sfd a več datotek

japol ::

Kako z enim safefiledialogom shranim več datotek in več različnih datotek (npr. .txt in .jpg)?

Primer:

SaveFileDialog saveFile1 = new SaveFileDialog();          
            saveFile1.DefaultExt = "*.jpg";
            saveFile1.Filter = "jpg Files|*.jpg";
                if (saveFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK && saveFile1.FileName.Length > 0)
                {
                    Image slika1 = f1.pictureBox1.Image;
                    Image slika2 = f1.pictureBox2.Image;
                    Image slika3 = f1.pictureBox3.Image;
                    Image slika4 = f1.pictureBox4.Image;
                    slika1.Save(saveFile1.FileName, ImageFormat.Jpeg);
                    slika2.Save(saveFile1.FileName, ImageFormat.Jpeg);
                    slika3.Save(saveFile1.FileName, ImageFormat.Jpeg);
                    slika4.Save(saveFile1.FileName, ImageFormat.Jpeg);
                }


ta seveda shrani le zadnjo sliko (slika4), želim pa shraniti vse.

In še, kako bi shranil .txt in .jpg istočasno? Seveda spet z enim savefiledialogom.

paco ::

Vse shranjuješ pod istim imenom, zato ti sliko 3x prepiše in ti ostane le zadnja.
It iz aj.

w00tnes ::

Vse shranjujes v isto datoteko (saveFile1.FileName) zato se ti prepisejo, shranjevati moras vsako v svojo datoteko - mogoce boljse, ce namesto SaveFileDialog uporabis FolderBrowserDialog in potem dodas v pot imena slik/txt datotek.
Za txt uporabi kaksen TextWriter

Edit: me je paco prehitel :)

Zgodovina sprememb…

  • spremenil: w00tnes ()

japol ::

Saj v tem je problem, ampak mora biti savefiledialog.

Poskušal sem nekaj v tej smeri:

slika1.Save(saveFile1.FileName + "_pre", ImageFormat.Jpeg);
slika2.Save(saveFile1.FileName + "_def", ImageFormat.Jpeg);
slika3.Save(saveFile1.FileName + "_ID, ImageFormat.Jpeg);
slika4.Save(saveFile1.FileName + "_ris", ImageFormat.Jpeg);

da bi filename-u dodal še nek tekst, ampak ne dela, ker že vsebuje končnico.

Primer, če shrani z imenom "projekt1", bi moral dobiti 4 slike z imeni:

slika1 ima ime: projekt1_pre.jpg
slika2 ima ime: projekt1_def.jpg
slika3 ima ime: projekt1_ID.jpg
slika4 ima ime: projekt1_ris.jpg

darkolord ::

string path = Path.GetFileNameWithoutExtension(saveFile1.FileName);
slika1.Save(path + "_pre.jpg", ImageFormat.Jpeg);

Zgodovina sprememb…

  • spremenilo: darkolord ()

japol ::

savefile1.FileName vsebuje celotno pot do slike (C:\\Users\\....... imedatoteke.jpg), path pa je le imedatoteke. S tem ne dobim datotek na disku.

Mi je uspelo s:

string potdodatoteke_S_koncnico = saveFile1.FileName;
string[] potdodatoteke_DO_koncnice = potdodatoteke_S_koncnico.Split('.');
in
slika1.Save(potdodatotekeDOkoncnice[0] + "_def.jpg", ImageFormat.Jpeg);
slika2.Save(potdodatotekeDOkoncnice[0] + "_pre.jpg", ImageFormat.Jpeg);
slika3.Save(potdodatotekeDOkoncnice[0] + "_ID.jpg", ImageFormat.Jpeg);
slika4.Save(potdodatotekeDOkoncnice[0] + "_ris.jpg", ImageFormat.Jpeg);

Zgodovina sprememb…

  • spremenil: japol ()

darkolord ::

Tisto ne bo v redu, če je pika kje v imenu.

string path = Path.Combine(Path.GetDirectoryName(saveFile1.FileName), Path.GetFileNameWithoutExtension(saveFile1.FileName));

japol ::

To pa je v redu. Hvala.

darkkk ::

Čist tko, vsi dialogi imajo v nekem memberju shranjeno "izbrano pot", kar lahko kasneje manipuliraš po želji.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[c#] iz class v class

Oddelek: Programiranje
5871 (745) darkolord
»

[c#] shrani text, tabele, slike

Oddelek: Programiranje
251500 (1106) klemen93
»

C# Problem

Oddelek: Programiranje
131243 (1039) joze67
»

C# text v .pdf

Oddelek: Programiranje
81414 (1203) japol
»

[VB] Open

Oddelek: Programiranje
71520 (1359) Monster

Več podobnih tem