Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  C# Kaks RTF'i stringi vaja kolmandaks ühiseks RTF'iks kokku mixida märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
RudiTurbo
HV kasutaja

liitunud: 11.10.2003




sõnum 13.05.2009 13:26:25 C# Kaks RTF'i stringi vaja kolmandaks ühiseks RTF'iks kokku mixida vasta tsitaadiga

Tere

Koolis projekt siis just lõppemas ja üks jama veel vaja ära lahendada. Application settingsites on siis kaks või isegi kolm stringi salvestatud richtextbox.rtf moel.
Ning nüüd oleks vaja need kolmandasse Richtextboxi sättida nii, et nad on nüüd kõik üheks stringiks kokku keevitatud ja, et kõik fondid ja asjad oleksid alles.

Lisaks veel üks probleem, meil on ka variant, kus anname kogu jama HTML'i kujul Outlookile e-maili saatmiseks ning sinna on vaja banner panna, proovisime mingitmoodi, kuid Outlooki ei ilmunud pilt, vaid see X'i märk, nagu kui pilti ei leita.Mis kujul see HTML'i kood peaks olema, et see image sinna e-maili lisatud saaks kui source on aadress kõvakettalt?

Ma loodan, et mu selgitused pole väga raskesti mõistetavad, sest õppetöö käib Taanis ning Inglise keeles, seega pole harjunud koodijuttu Eesti keeles rääkima icon_smile.gif
Kommentaarid: 14 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 13
tagasi üles
vaata kasutaja infot saada privaatsõnum
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 13.05.2009 13:40:41 vasta tsitaadiga

RudiTurbo kirjutas:
Mis kujul see HTML'i kood peaks olema, et see image sinna e-maili lisatud saaks kui source on aadress kõvakettalt?
Ma pole küll sellega tegelenud kuid kas oled ikka kindel, et tahad source'ks määrata pilti kõvakettalt mitte maili attatchmendist?
_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Absona
Lõuapoolik
Lõuapoolik

liitunud: 17.09.2008




sõnum 13.05.2009 15:03:50 Re: C# Kaks RTF'i stringi vaja kolmandaks ühiseks RTF'iks kokku mixida vasta tsitaadiga

RudiTurbo kirjutas:
Tere

Koolis projekt siis just lõppemas ja üks jama veel vaja ära lahendada. Application settingsites on siis kaks või isegi kolm stringi salvestatud richtextbox.rtf moel.
Ning nüüd oleks vaja need kolmandasse Richtextboxi sättida nii, et nad on nüüd kõik üheks stringiks kokku keevitatud ja, et kõik fondid ja asjad oleksid alles.




       private void Tosta_Stringe_Ymber()
       {
            string RTF1 = Ava("RTF aadres 1");
            string RTF2 = Ava("RTF aadres 2");

            Kirjuta("RTF aadress", RTF1 + "\n" + RTF2);
        }

        private string Ava(string aadress)
        {
            FileStream fs = new FileStream(aadress, FileMode.Open, FileAccess.Read);
            StreamReader sisse = new StreamReader(fs);
            string rida = sisse.ReadToEnd();
            sisse.Close();
            fs.Close();
            return rida;
        }

        private void Kirjuta(string kuhu, string mida)
        {
            FileStream f = new FileStream(kuhu, FileMode.Truncate, FileAccess.Write);
            StreamWriter valja = new StreamWriter(f);
            valja.Write(mida);
            valja.Close();
            f.Close();
        }



RudiTurbo kirjutas:

Lisaks veel üks probleem, meil on ka variant, kus anname kogu jama HTML'i kujul Outlookile e-maili saatmiseks ning sinna on vaja banner panna, proovisime mingitmoodi, kuid Outlooki ei ilmunud pilt, vaid see X'i märk, nagu kui pilti ei leita.Mis kujul see HTML'i kood peaks olema, et see image sinna e-maili lisatud saaks kui source on aadress kõvakettalt?


Kui pilt asub projektiga samas kasutas (debug), siis aitab selline asi

string aadress = Application.StartupPath + "faili nimi või kaust edasi kus fail asub";


Kui asub kusagil arvutis suvaliselt, siis nii:

string aadress = @"faili aadress";


Muidu HTML'is kuvatakse arvutis asuvaid faile sellise aadressiga: file:///C:/Documents%20and%20Settings/Kasutaja/jne
Näiteks:


string failiAadress =System.IO.Path.GetDirectoryName(openFileDialog.FileName);
string lisaHTMLiPildiAadress = "file:///" + failiAadress;

_________________
Veebilehed, veebiprogrammeerimine, veebilahendused
Erinevad rakendused ja skriptid.


viimati muutis Absona 13.05.2009 15:15:32, muudetud 2 korda
Kommentaarid: 11 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
RudiTurbo
HV kasutaja

liitunud: 11.10.2003




sõnum 13.05.2009 16:07:41 vasta tsitaadiga

Ho Ho kirjutas:
RudiTurbo kirjutas:
Mis kujul see HTML'i kood peaks olema, et see image sinna e-maili lisatud saaks kui source on aadress kõvakettalt?
Ma pole küll sellega tegelenud kuid kas oled ikka kindel, et tahad source'ks määrata pilti kõvakettalt mitte maili attatchmendist?


Praegu hakkasin mõtlema, et päris sedasi ei saa panna vist jah, kui just Outlook seda pilti kuidagi ära ei omista saates. Kuid see on väixem mure nagunii, peamine mure on see RTF'i purakas icon_razz.gif


Absona kirjutas:
RudiTurbo kirjutas:
Tere

Koolis projekt siis just lõppemas ja üks jama veel vaja ära lahendada. Application settingsites on siis kaks või isegi kolm stringi salvestatud richtextbox.rtf moel.
Ning nüüd oleks vaja need kolmandasse Richtextboxi sättida nii, et nad on nüüd kõik üheks stringiks kokku keevitatud ja, et kõik fondid ja asjad oleksid alles.






        private string Ava(string aadress)
        {
            FileStream fs = new FileStream(aadress, FileMode.Open, FileAccess.Read);
     






Kui jõuab selle reani, siis viskab errori : invalid characters in path.

Sinna söötsin siis pmst richtextbox1.Rtf'ist tuleva value või tuleb sinna midagi muud sööta?

EDIT: Tegelt kui nüüd õieti aru saan, siis Su lahendus on vist juhul, kui mul olexid kaks dokumenti salvestatud kusagil ning sooviksin kaks rtf faili ühendada üheks ühtseks failiks?
Aga minul on kahest richtextboxist võetud see value, mis Ta annab richTextBox1.Rtf käsklusega, mitte richTextBox1.Text käsklusega ja siis on seal huinjaa value, mida ei anna lihtsalt kahe erineva puhul ühex liita nagu seda saaks teha tavalise stringi puhul richTextBox3.Text = richTextBox2.Text + "\n" + richTextBox1;
Ehk siis mul oleks vaja richTextBox3.Rtf = richTextBox2.Rtf + richTextBox1.Rtf; Kuid sedasi ei saa, sest siis ta kirjutab midagi üle ja jääb vist ainult viimane antud value vms icon_smile.gif
Kommentaarid: 14 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 13
tagasi üles
vaata kasutaja infot saada privaatsõnum
Absona
Lõuapoolik
Lõuapoolik

liitunud: 17.09.2008




sõnum 14.05.2009 00:41:06 vasta tsitaadiga

RudiTurbo kirjutas:

...

Kui jõuab selle reani, siis viskab errori : invalid characters in path.

Sinna söötsin siis pmst richtextbox1.Rtf'ist tuleva value või tuleb sinna midagi muud sööta?

EDIT: Tegelt kui nüüd õieti aru saan, siis Su lahendus on vist juhul, kui mul olexid kaks dokumenti salvestatud kusagil ning sooviksin kaks rtf faili ühendada üheks ühtseks failiks?
Aga minul on kahest richtextboxist võetud see value, mis Ta annab richTextBox1.Rtf käsklusega, mitte richTextBox1.Text käsklusega ja siis on seal huinjaa value, mida ei anna lihtsalt kahe erineva puhul ühex liita nagu seda saaks teha tavalise stringi puhul richTextBox3.Text = richTextBox2.Text + "\n" + richTextBox1;
Ehk siis mul oleks vaja richTextBox3.Rtf = richTextBox2.Rtf + richTextBox1.Rtf; Kuid sedasi ei saa, sest siis ta kirjutab midagi üle ja jääb vist ainult viimane antud value vms icon_smile.gif


Jap, õigesti said aru. Ma sain niimoodi aru, et tekst võetakse failist mitte richTextBox'ist. Aga järgnev kood peaks selle probleemi lahendama lihtsalt icon_smile.gif:


        public void Tosta_Stringe_Ymber()
        {
            asetatakseRichTextBox.Clear();

            Kopeeri_Ja_Aseta_Stringe(richTextBox1);
            Kopeeri_Ja_Aseta_Stringe(richTextBox2);
        }

        private void Kopeeri_Ja_Aseta_Stringe(RichTextBox kopeeritavRichTextBox)
        {
            kopeeritavRichTextBox.SelectAll();
            kopeeritavRichTextBox.Copy();
            asetatakseRichTextBox.Paste();

            asetatakseRichTextBox.AppendText("\n");
        }

_________________
Veebilehed, veebiprogrammeerimine, veebilahendused
Erinevad rakendused ja skriptid.
Kommentaarid: 11 loe/lisa Kasutajad arvavad:  :: 2 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
RudiTurbo
HV kasutaja

liitunud: 11.10.2003




sõnum 14.05.2009 11:28:36 vasta tsitaadiga

Absona kirjutas:
RudiTurbo kirjutas:

...

Kui jõuab selle reani, siis viskab errori : invalid characters in path.

Sinna söötsin siis pmst richtextbox1.Rtf'ist tuleva value või tuleb sinna midagi muud sööta?

EDIT: Tegelt kui nüüd õieti aru saan, siis Su lahendus on vist juhul, kui mul olexid kaks dokumenti salvestatud kusagil ning sooviksin kaks rtf faili ühendada üheks ühtseks failiks?
Aga minul on kahest richtextboxist võetud see value, mis Ta annab richTextBox1.Rtf käsklusega, mitte richTextBox1.Text käsklusega ja siis on seal huinjaa value, mida ei anna lihtsalt kahe erineva puhul ühex liita nagu seda saaks teha tavalise stringi puhul richTextBox3.Text = richTextBox2.Text + "\n" + richTextBox1;
Ehk siis mul oleks vaja richTextBox3.Rtf = richTextBox2.Rtf + richTextBox1.Rtf; Kuid sedasi ei saa, sest siis ta kirjutab midagi üle ja jääb vist ainult viimane antud value vms icon_smile.gif


Jap, õigesti said aru. Ma sain niimoodi aru, et tekst võetakse failist mitte richTextBox'ist. Aga järgnev kood peaks selle probleemi lahendama lihtsalt icon_smile.gif:


        public void Tosta_Stringe_Ymber()
        {
            asetatakseRichTextBox.Clear();

            Kopeeri_Ja_Aseta_Stringe(richTextBox1);
            Kopeeri_Ja_Aseta_Stringe(richTextBox2);
        }

        private void Kopeeri_Ja_Aseta_Stringe(RichTextBox kopeeritavRichTextBox)
        {
            kopeeritavRichTextBox.SelectAll();
            kopeeritavRichTextBox.Copy();
            asetatakseRichTextBox.Paste();

            asetatakseRichTextBox.AppendText("\n");
        }


Sellega on see probleem, et sel hetkel, kui ma neid juba ühendama pean, pole nad enam richtextboxides, vaid see rtf value on stringidesse salvestatud icon_razz.gif
Praegu töötame neljakesi selle kallal, ehk leiame lahenduse. Quadruple programming!
Kommentaarid: 14 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 13
tagasi üles
vaata kasutaja infot saada privaatsõnum
inzinz
HV kasutaja

liitunud: 26.01.2005




sõnum 16.05.2009 16:42:46 vasta tsitaadiga

Aga siis, tekitad jooksu pealt kaks uut rtf textboxi mällu (new RichTextBox()), ühte laete selle rtf stringi sisse, ja siis teed seda selectall, copy, paste, loogikat, seejärel laete esimese textboxi sisse teise rtf stringi ja teed sama selectall, copy, paste loogikat.
Seejärel on teises richtextboxis korrektne väärtus, selle võtad sealt nüüd välja, ja teed ennem tekitatud richtextboxidele dispose.

Ainus teine variant ilma richtextboxita seda asja teha oleks ise rtf parser ja writer teha vist

_________________
Upload.ee - eestimaine failiupload
Kommentaarid: 4 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
phpzone
HV kasutaja

liitunud: 02.04.2002




sõnum 19.05.2009 11:53:33 vasta tsitaadiga

Mina teeksin selle asja nii:

RichTextBox1.SelectAll()
RichTextBox2.SelectAll()
RichTextBox3.SelectedRtf = RichTextBox1.SelectedRtf
RichTextBox3.SelectedRtf = RichTextBox2.SelectedRtf

Üldiselt on väga halb praktika asju läbi clipboardi kopeerida. kasutaja võib väga kurjaks saada, kui sa ta clipoardis oleva info hävitad...

_________________
One man's constant is another man's variable
Kommentaarid: 13 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 13
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  C# Kaks RTF'i stringi vaja kolmandaks ühiseks RTF'iks kokku mixida
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.