|
|
|
Редактирование текста в файла
|
|||
|---|---|---|---|
|
#18+
я загружаю текстовый файл в RichEdit. Текст имеет 2 кодировки, ДОС и ВИН; несколько строк в одной кодировке, а остальные в другой. Я из ВИН перекодирую в ДОС, но весь текст. TStringList *dd = new TStringList(); char buf[1024]; dd->LoadFromFile("C:\\1.txt"); for(int i=0; i<dd->Count; i++) { OemToChar(dd->Strings .c_str(),buf); RichEdit1->Font->Name="Courier New"; RichEdit1->Lines->Add(buf); } Не знаю как сделать для некоторой части текста перекодировку. Подскажите, плз, как сделасть весь текст кодировкой ДОС???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 08:45 |
|
||
|
Редактирование текста в файла
|
|||
|---|---|---|---|
|
#18+
Если перекодировать немного, то легче всего заставить пользователя выделить часть текста в неправильное кодировке и перекодировать только выделенный текст (RichEdit->SelText) Если же неправильного текста много, то тогда логично попробовать алгоритмы распознавания кодировки Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 08:48 |
|
||
|
Редактирование текста в файла
|
|||
|---|---|---|---|
|
#18+
нет, текста не много, буквально 2 строки. Можно код в студию, плз. Как оно хоть будет выглядеть!!?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 09:06 |
|
||
|
Редактирование текста в файла
|
|||
|---|---|---|---|
|
#18+
seeerg_23Можно код в студию, плз И ключ от квартиры, где деньги лежат ? :) Код слишком тривиален, чтобы его приводить. Используй свойства SelText, SelStart, SelLength Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 09:22 |
|
||
|
Редактирование текста в файла
|
|||
|---|---|---|---|
|
#18+
спасибо и на этом, а то даже и не знал с чего начать!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 09:42 |
|
||
|
Редактирование текста в файла
|
|||
|---|---|---|---|
|
#18+
seeerg_23а то даже и не знал с чего начать!! Дерзай. Нашедший готовое останется на том же месте и умрет с голоду. Ищущий же будет идти дальше. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 09:43 |
|
||
|
Редактирование текста в файла
|
|||
|---|---|---|---|
|
#18+
Вначале у меня происходит преобразование всего текста в кодировку ДОС. Но некоторые слова в кодировке ВИН. Я отыскиваю слово, выделяю его! Как его тоже преобразовать в кодировку ДОС???? void __fastcall TForm1::Button1Click(TObject *Sender) { FindDialog1->Position=Point(RichEdit1->Left+RichEdit1->Width,RichEdit1->Top); FindDialog1->FindText="T.+. =хьхўъшэра"; //FindDialog1->FindText="T.=. ¦рэvў" ; FindDialog1->Execute(); } //--------------------------------------------------------------------------- void __fastcall TForm1::FindDialog1Find(TObject *Sender) { Beep(); int FoundAt, StartPos, ToEnd; if (RichEdit1->SelLength) StartPos=RichEdit1->SelStart+RichEdit1->SelLength; else StartPos = 0; ToEnd=RichEdit1->Text.Length()-StartPos; FoundAt=RichEdit1->FindText(FindDialog1->FindText,StartPos,ToEnd,TSearchTypes()<<stMatchCase); if (FoundAt!=-1) { RichEdit1->SetFocus(); RichEdit1->SelStart=FoundAt; RichEdit1->SelLength=FindDialog1->FindText.Length(); } // Меняю кодировку RichEdit1->SelText=RichEdit1->Font->Charset<<OEM_CHARSET; Вместо букв вообще цифры появляются, (пару раз получились каракули). Подскажите, плз, какую функцию использовать и как её приделать к последней строке!!??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 12:42 |
|
||
|
Редактирование текста в файла
|
|||
|---|---|---|---|
|
#18+
seeerg_23 s> RichEdit1->SelText=RichEdit1->Font->Charset<<OEM_CHARSET; Вот эта строка не имеет смысла. Надо взять текст из селтекст и преобразовать его с помощью CharToOem и вернуть обратно в селтекст Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 13:46 |
|
||
|
Редактирование текста в файла
|
|||
|---|---|---|---|
|
#18+
киньте кусочек кода , плз!!! Не совсем пойму как обратно вернуть текст. Без последней строки слово находится и выделяется! Осталось только перекодировать. Подскажите как!!! RichEdit1->SelText ?????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 15:44 |
|
||
|
Редактирование текста в файла
|
|||
|---|---|---|---|
|
#18+
В моём коде поиск слова осуществляется с помощью компонента FindDialog1. Как осуществить поиск слова без этого компонента, т.е. чтобы форма открылась, весь текст перекодировался!!??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 15:49 |
|
||
|
Редактирование текста в файла
|
|||
|---|---|---|---|
|
#18+
seeerg_23Не совсем пойму как обратно вернуть текст RichEdit1->SelText = "новеший перекодированнейший текст"; Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 16:00 |
|
||
|
Редактирование текста в файла
|
|||
|---|---|---|---|
|
#18+
Пишу так: char bbuuff[20]; RichEdit1->SelText=OemToChar("T.+. =хьхўъшэра",bbuuff); Вместо букв появляются цифры(единицы)!!??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 16:10 |
|
||
|
Редактирование текста в файла
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 16:22 |
|
||
|
Редактирование текста в файла
|
|||
|---|---|---|---|
|
#18+
Да, в принципе так, но теперь не отображаются инициалы. Здесь зашифровано ФИО А.А. Немечкина, а перекодирует не полностью, а имеено в результате T.+. =емечкина ???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 16:32 |
|
||
|
Редактирование текста в файла
|
|||
|---|---|---|---|
|
#18+
Может, неправильно скопировал текст? Почему у тебя первая А выглядит как Т, а вторая как плюс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 16:41 |
|
||
|
Редактирование текста в файла
|
|||
|---|---|---|---|
|
#18+
Вроде правильно скопировал, из текстового файла! 1.Как осуществить поиск слов в тексте без компонента FindDialog? 2. У меня надо перекодировать 2 слова, а выделяет только одно. Писал так, может не правильно: (FindDialog1->FindText="T.+. =хьхўъшэра") && (FindDialog1->FindText="T.=. ¦рэvў"); и в конце (CharToOem("T.+. =хьхўъшэра",bbuuff)) &&(CharToOem("T.=. ¦рэvў",bbuuff)); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2006, 16:58 |
|
||
|
Редактирование текста в файла
|
|||
|---|---|---|---|
|
#18+
А воз и ныне там... Эх, молодёжь, молодёжь... почитай вот: http://sources.ru/builder/gui/printing_from_tstringgrid.shtml ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2006, 03:15 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33929065&tid=2030661]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
143ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 257ms |
| total: | 491ms |

| 0 / 0 |
