Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];

Вниз

Помогите пожалуйста!   Найти похожие ветки 

 
HDD   (2002-01-30 05:54) [0]

Как в RichEdit1 сменить кодировку текста с Дос в Виндовс и обратно? Желательно на примере?
Заранее благодарен Кирилл!


 
pasha_golub   (2002-01-30 11:58) [1]

CharToOem, OemToChar. Функции такие. Методов у самого Рича нет. Так что берешь цикл по строкам конвертируешь и обратно записываешь. 1 - из Винды в ДОС, 2 - наооборот. Больше информации в хелпе! Удачи


 
HDD   (2002-01-30 13:08) [2]

To Pasha
А по подробнее с примерами кода?


 
HDD   (2002-01-30 13:59) [3]

Люди добрые помогите пожалуйста!


 
Андрей Сенченко   (2002-01-30 14:30) [4]

Тебе же все сказали CharToOem, OemToChar
Набираешь, жмешь Ctrl-F1 и смотришь


 
HDD   (2002-01-30 15:29) [5]

Извините что добиваю своей тупостью, но что-то не могу нифига разобраться. Пробую вот так нифига!
CharToOEM(PChar(RichEdit1.Lines.Text), PChar(RichEdit1.Lines.Text));


 
Андрей Сенченко   (2002-01-30 15:50) [6]

RichEdit1.Lines - это НАБОР СТРОК Твоего RichEdit-a. Фактически получается, что Ты пытаешься преобразовать неизвестно что.
Сделай по другому:
RichEdit1.Lines.Strings[i]
где i-номер строки. Учти, что нумерация здесь с "0"


 
Андрей Сенченко   (2002-01-30 15:54) [7]

Потому что RichEdit1.Lines - это просто НАБОР СТРОК Твоего RichEdit. К каждой строке этого набора нужно доступаться по его индексу, а не по первому попавшемуся свойству нужного типа.
Сделай так:
RichEdit1.Lines.Strings[i]
где i - инджекс ( номер ) строки. Учти, что здесь нумерация с "0"


 
HDD   (2002-01-30 16:10) [8]

procedure TForm1.ToolButton1Click(Sender: TObject);
var
i: integer;
begin
for i:=0 to RichEdit1.Lines.Count - 1 do begin
CharToOem(PChar(RichEdit1.Lines.Strings[i]), PChar(RichEdit1.Lines.Strings[i]));
end;
end;
Пробую вот так! Не получается!


 
Андрей Сенченко   (2002-01-30 16:16) [9]

В чем выражается "Не получается" ?


 
HDD   (2002-01-30 16:20) [10]

Пишет типа ошибка в kernel32 когда большой текст пытаешся перевести!
А когда маленький кусочек тогда просто вообще ничего не происходит!


 
Андрей Сенченко   (2002-01-30 17:03) [11]

Извини, отлучался... Работать то работает, вот только видимого результата у Тебя не будет.
Попробуй поиграть вот с этим кодом и многое поймешь:
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
s : string;
begin
for i:=0 to RichEdit1.Lines.Count - 1 do
begin
s := RichEdit1.Lines.Strings[0];
messageBox(0,pchar(s),pchar("do"),mb_ok);
CharToOem(PChar(s),PChar(s));
messageBox(0,pchar(s),pchar("posle"),mb_ok);
RichEdit1.Lines.Delete(0);
RichEdit1.Lines.Add(s);
end;


 
HDD   (2002-01-31 02:56) [12]

Вот так вроде работает! Но если есть пустые строки в тексте! То опятьтакая же ошибка!


 
HDD   (2002-01-31 06:53) [13]

Люди добрые помогите пожалуйста!


 
Mbo   (2002-01-31 07:04) [14]

ответ вытекает из вопроса
s := RichEdit1.Lines.Strings[i];
if s<>"" then ...


 
KS   (2002-01-31 09:14) [15]

to: Андрей Сенченко © (30.01.02 15:50)

Чтож Вы HDD запретили с RichEdit1.Lines.Text работать
(он же именно Text пытался использовать)

А с ним вроде бы красивее получается (если конечно в длину
string-а поместимся :о) )

var
S: string;
begin
S := RichEdit1.Lines.Text;
if Length(S) > 0 then begin
OEMToChar(PChar(S), PChar(S));
RichEdit1.Lines.Text := S;
end;
end;


 
serjant   (2002-01-31 10:11) [16]

Используй функции CharToOEM && OEMToChar


 
IronHawk   (2002-01-31 10:25) [17]

>>> HDD

windows charset

RichEdit1.Font.Charset:=ANSI_CHARSET;

dos charset

RichEdit1.Font.Charset:=OEM_CHARSET;


 
IronHawk   (2002-01-31 10:28) [18]

excuse me

NO RichEdit1.Font.Charset:=ANSI_CHARSET;

correct

RichEdit1.Font.Charset:=DEFAULT_CHARSET;


 
Андрей Сенченко   (2002-01-31 12:29) [19]

> KS (31.01.02 09:14)
Никто ничего не запрещал ... я сказал то, что сказал : "Фактически получается, что Ты пытаешься преобразовать неизвестно что"
И это действительно так: Вы же сами в соей реплике наложили ограничение в виде размера string-овой переменной


 
pasha_golub   (2002-01-31 13:56) [20]

>IronHawk © (31.01.02 10:28)
Я не уверен, но Default по-моему значит по умолчанию, а это не обязательно ANSI.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.004 c
1-42749
xmapa
2002-01-30 13:13
2002.02.14
User Functions в Quick Report


6-42828
Дремучий
2001-11-21 19:24
2002.02.14
Файловая структура веб-узла


1-42766
Ura
2002-01-31 12:44
2002.02.14
Создание INI файла по имение exe файла


14-42853
zero
2001-12-26 11:59
2002.02.14
Сегодня день рождения Чарльза Бэббиджа - изобретателя компьютера


6-42814
Русский
2001-11-20 20:44
2002.02.14
Помогите.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский