Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

RichEdit - kopiranje sadrzaja iz jednog u drugi

[es] :: C/C++ programiranje :: RichEdit - kopiranje sadrzaja iz jednog u drugi

Strane: 1 2

[ Pregleda: 3710 | Odgovora: 24 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Barni Kamenko
Novi Sad

Član broj: 206221
Poruke: 49
*.adsl-a-1.sezampro.yu.



Profil

icon Re: RichEdit - kopiranje sadrzaja iz jednog u drugi07.04.2010. u 16:59 - pre 170 meseci
Ma to sam vec skontao... Smislio sam kako da odradim, i sve je radilo osim velikog K. katastrofa. Moram neki drugi nacin pronaci. Borland je iz 2002. - 2003. godine otprilike, verzija 6. Moram jos cackati po netu... Hvala na savetu, skroz si u pravu
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
212.200.65.*

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: RichEdit - kopiranje sadrzaja iz jednog u drugi07.04.2010. u 20:52 - pre 170 meseci
Maločas sam izvršio test:

1. Kreirao ćirilični RTF (žšđč掊ĐČĆ) <--- ovde je ćirilica
2. Napravio ovaj kod (Document.RTF je u istom folderu gde i EXE, šaljem ga u prilogu):
Code (cpp):

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    RichEdit1->Lines->LoadFromFile("Document.rtf");
}
 

3. Kliknuo na Button1
4. Ćirilica se prikazala u RichEdit1 objektu


Inače, XP je podešen ovako:
http://www.elitesecurity.org/p2300219


AKo se ne varam, TRichEdit u BCB6 je zasnovan na verziji 2 Windows richedit dll-a, pa nema Unicode podršku. Ili pronađi Unicode verziju RichEdit komponente, ili pređi na novu verziju BCB ili podesi XP kao ja.
Prikačeni fajlovi
 
Odgovor na temu

Barni Kamenko
Novi Sad

Član broj: 206221
Poruke: 49
*.adsl-a-6.sezampro.rs.



Profil

icon Re: RichEdit - kopiranje sadrzaja iz jednog u drugi07.04.2010. u 22:27 - pre 170 meseci
Vidi stvarno otvara .rtf, a .txt nece pa nece...
Hvala puno
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
212.200.65.*

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: RichEdit - kopiranje sadrzaja iz jednog u drugi08.04.2010. u 07:25 - pre 170 meseci
TRichEdit za BCB6 je zasnovan na nekoj prepotopskoj verziji Windows-ovog RICHED32.DLL-a, tako da su sva ogranicenja projektovana i na Borlandov TRichEdit.

Ovde je tip (pored ostalog) opisao neke nacine kako se moze iskoristiti noviji DLL:
http://bellsouthpwp2.net/r/e/rediv/Yacs.html

Ipak, najelegantnije je naci neku besplatnu modernu verziju TRichEdit-a ili preci na novije okruzenje.
 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: RichEdit - kopiranje sadrzaja iz jednog u drugi09.04.2010. u 04:34 - pre 170 meseci
Može da se konvertuje tekst fajl u rtf. Uzme se rtf kao taj što je poslao X files, odvoji "zaglavlje" od kraja a u sredinu se ubaci tekst. Tekst se konvertuje u kodove, gde je malo a: \'e0, malo b je: \'e1. Ostali kodovi su u nastavku a \par je za novi red. Ništa drugo nije potrebno za konvertovanje i tako se može dobiti ćirilični rtf koji se učitava.

Na codesearch mogu da se nađu slični primeri:

Code:

//---------------------------------------------------------------------------
//This function writes the complex number into the RichEdit
void ComplexToRTF(Func32::Complex C, TRichEdit *RichEdit)
{
  const TData &Data = Form1->Data;
  //Create rtf string to everything to become bold
  //Font f0: MS Sans Serif
  //Font f1: Symbol
  AnsiString Str = "{\\rtf1\\ansi\\deff0{\\fonttbl{\\f0\\fswiss\\fprq2\\fcharset0 MS Sans Serif;}{\\f1\\froman\\fprq2\\fcharset2 Symbol;}}\n\\f0\\fs18 ";

  switch(Data.Property.ComplexFormat)
  {
  case cfReal:
    //Check for an imaginary part
    if(std::abs(C.imag()) < MIN_ZERO)
      Str += RoundToStr(C.real(), Data);
    break;
  case cfRectangular:
  {
    //Round numbers to chosen number of decimals
    AnsiString Real = RoundToStr(C.real(), Data);
    AnsiString Imag = RoundToStr(std::abs(C.imag()), Data);

    if(Imag == "0" || std::abs(C.imag()) < MIN_ZERO)  //(-1.50)^2 = 2.25+2.4395E-19i
      Str += Real;
    else //If there is a imaginary part
    {
      if(Real != "0")
        Str += Real + (C.imag() < 0 ? '-' : '+');
      //Add imaginary part to string
      if(Imag != "1")
        Str += Imag;
      Str += "\\b i";
    }
    break;
  }
  case cfPolar: //Polar format
    //The complex number 0 does not have an angle
    if(C.real() == 0 && C.imag() == 0)
    {
      Str += '0';
      break;
    }

    Str += RoundToStr(abs(C), Data); //Get numeric value as a string
    //Add angle symbol to text in Symbol font
    Str += "\\f1\\fs20 \xD0\\f0\\fs18 ";
    if(Data.Axes.Trigonometry == Func32::Degree)
      //Add degree symbol, if angle is in degree
      Str += RoundToStr(std::arg(C) * 180 / M_PI, Data) + "\\f1\\fs20 \xB0";
    else
      Str += RoundToStr(arg(C), Data);
  }

  Str += "\n}";
  //Use stream to put data into RichEdit
  std::auto_ptr<TStringStream> Stream(new TStringStream(Str));
  RichEdit->Lines->LoadFromStream(Stream.get());
}



Ovaj primer ne radi baš to što se traži, samo je primer za formiranje rtf fajla.

 
Odgovor na temu

[es] :: C/C++ programiranje :: RichEdit - kopiranje sadrzaja iz jednog u drugi

Strane: 1 2

[ Pregleda: 3710 | Odgovora: 24 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.