Форум: "Основная";
Текущий архив: 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