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

bcb6 Memo->Text.c_str() problem

[es] :: C/C++ programiranje :: bcb6 Memo->Text.c_str() problem

[ Pregleda: 2390 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

miksin

Član broj: 41918
Poruke: 98
*.dynamic.sbb.co.yu.



Profil

icon bcb6 Memo->Text.c_str() problem26.04.2007. u 12:30 - pre 207 meseci
Kada pretvorim celokupan text iz Memo-a u string na ovaj nacin Memo->Text.c_str() i snimim u fajl (fstream), uvek mi na kraju svakog reda u fajlu dopisuje neki znak. (u notepad-u pise neki kvadratic na kraju svakog reda).
Sta on to dopisuje i moze li se na neki drugi nacin sadrzaj celokupnog Memo-a snimiti u fajl (fstream)?
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.tekostolac.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: bcb6 Memo->Text.c_str() problem26.04.2007. u 12:48 - pre 207 meseci
Taj kvadratic je KRAJ REDA, verovatno \n ako ne i \r\n.

To je sasvim u redu, i tako i treba da bude da bi vratio na staro stanje.

TMemo ima i metode TStrings::SaveToFile() i TStrings::SaveToStream(), pa ih mozes svakako upotrebiti
ako ti trebaju:

Memo1->Lines->SaveToFile()
Memo1->Lines->SaveToStream()
 
Odgovor na temu

miksin

Član broj: 41918
Poruke: 98
*.dynamic.sbb.co.yu.



Profil

icon Re: bcb6 Memo->Text.c_str() problem26.04.2007. u 13:09 - pre 207 meseci
predpostavio sam ja da je to kraj reda, ali problem je u tome sto posle 5 snimanja imam 5 tih znakova na kraj pa mi jako smetaju.
btw kako da liniju po liniju iz jednog memo-a prebacim u drugi posto mi Memo2->Lines=Memo1->Lines prekopira sav text jednog u drugi memo kao metoda Text
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.dsl.iskon.hr.



+9 Profil

icon Re: bcb6 Memo->Text.c_str() problem26.04.2007. u 13:30 - pre 207 meseci
Code:
Memo2->Lines->Clear();
for(int i = 0; i < Memo1->Lines->Count; i++)
    Memo2->Lines->Add(Memo1->Lines->Strings[i]);

 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.tekostolac.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: bcb6 Memo->Text.c_str() problem26.04.2007. u 13:30 - pre 207 meseci
Citat:

predpostavio sam ja da je to kraj reda, ali problem je u tome sto posle 5 snimanja imam 5
tih znakova na kraj pa mi jako smetaju.

Pokaži kod koji koristiš za snimanje. Ako koristiš klasično C/C++ snimanje za TXT format,
onda će se svi CR pretvoriti u CR+LF. Ako koristiš BINARNO snimanje, to se neće dogoditi.

TMemo sadržaj svakako ne može biti 'kriv' za bilo koji problem, vec je potrebno korigovati
kod za snimanje, a vec sam rekao da imas i metode koje to rade bez ikakvih problema.


Citat:

btw kako da liniju po liniju iz jednog memo-a prebacim u drugi posto mi
Memo2->Lines=Memo1->Lines prekopira sav text jednog u drugi memo kao metoda Text

Nisam razumeo sta hoces da postignes?

Code:

// ovo prebacuje ceo tekst 
Memo2->Lines = Memo1->Lines;


Code:

// ovo takodje prebacuje ceo tekst
Memo2->Lines->Assign( Memo1->Lines );


Code:

// ovo dodaje tekst, mada se kao kroz maglu secam da je neko pominjao neke bug-ove
// metode AddStrings, ali svakako probaj:
Memo2->Lines->AddStrings( Memo1->Lines );


Code:

// ovako se vrsi iteracija kroz pojedinacne redove i dodavanje
for ( int i=0; i<Memo1->Lines->Count; i++ )
{
   Memo2->Lines->Add( Memo1->Lines->Strings[i] );
}


Code:

//Pristup pojedinacnim elementima (karakterima) unutar stringa je ovako:
Memo1->Lines->Strings[i][ovde redni broj karaktera, indeks ide od jedinice za razliku od kolona koje pocinju od nule]

 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.dsl.iskon.hr.



+9 Profil

icon Re: bcb6 Memo->Text.c_str() problem26.04.2007. u 13:36 - pre 207 meseci
Citat:
Code:
//Pristup pojedinacnim elementima (karakterima) unutar stringa je ovako:
Memo1->Lines->Strings[i][ovde redni broj karaktera, indeks ide od jedinice za razliku od kolona koje pocinju od nule]



...mali ispravak ;)

Code:
Memo1->Lines->Strings[i][j]
... gdje j počinje od 1 a ne od 0



EDIT:
dodao sam CODE tag unutar QUOTE taga, jer se tag ITALIC poklapa sa "i" indeksom i tako izbugi iz liste, i pretvori ostatak teksta u Italic :)


[Ovu poruku je menjao X Files dana 26.04.2007. u 23:04 GMT+1]
 
Odgovor na temu

miksin

Član broj: 41918
Poruke: 98
*.dynamic.sbb.co.yu.



Profil

icon Re: bcb6 Memo->Text.c_str() problem26.04.2007. u 14:03 - pre 207 meseci
Hvala ljudi puno ste mi pomogli
Snimao sam file preko fstreama pa je to bio problem, kada koristim SaveToFile Metodu sve radi super.
Sto se tice kopiranje linija memo-a Strings[j] je ono sto nisam znao, sad je sve ok ( ja sam pokusavao sa Lines[j] :( , a u helpu nisam obracao paznju na Strings[j] )
Hvala jos jednom
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: bcb6 Memo->Text.c_str() problem26.04.2007. u 22:02 - pre 206 meseci
Citat:

Code:

Memo1->Lines->Strings[i][j]


Da, ne znam ni šta sam bio napisao:
i = 0 .. broj_redova-1
j = 1 .. broj_karaktera_u_i-tom_redu

Valjda tako treba.
 
Odgovor na temu

[es] :: C/C++ programiranje :: bcb6 Memo->Text.c_str() problem

[ Pregleda: 2390 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

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