![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Русский шрифт в Memo
Демерго © (2010-12-01 16:23:00)Я переношу текст из webbrowser в memo и вместо русского шрифта получаются иероглифы. Можно это как-то исправить?
Игорь Шевченко (2010-12-01 17:00:00) [1]use Delphi 2010, Luke
Ega23 (2010-12-01 16:57:00) [2]
> А не в юникоде ли оно сохраняется?
Конечно.
Медвежонок Пятачок (2010-12-01 16:31:00) [3]кроме того, переключение это когда через буфер.
а у тебя анси строки как приемник и юникод данные в браузере как источник.
а это уже совсем другая песня
DiamondShark (2010-12-01 16:31:00) [4]
> Result := Succeeded(ps.Save(sa, True));
А не в юникоде ли оно сохраняется?
Медвежонок Пятачок (2010-12-01 16:29:00) [5]дело в том что я переношу програмно а не вручную
а когда в винде переключается раскладка, то это делается не программно.
Это маленький билгейц сидящий в клаве переключает ее вручную.
Медвежонок Пятачок (2010-12-01 16:28:00) [6]и чего?
Демерго (2010-12-01 16:26:00) [7]дело в том что я переношу програмно а не вручную, вот код:
function WB_GetHTMLCode(WebBrowser: TWebBrowser; ACode: TStrings): Boolean;
var
ps: IPersistStreamInit;
ss: TStringStream;
sa: IStream;
s: string;
begin
ps := WebBrowser.Document as IPersistStreamInit;
s := '';
ss := TStringStream.Create(s);
try
sa := TStreamAdapter.Create(ss, soReference) as IStream;
Result := Succeeded(ps.Save(sa, True));
if Result then ACode.Add(ss.Datastring);
finally
ss.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
WB_GetHTMLCode(Webbrowser1, Memo1.Lines);
end;
Медвежонок Пятачок (2010-12-01 16:25:00) [8]переключиться на русский перед копированием.
но иногда и это не поможет
Ega23 (2010-12-01 16:24:00) [9]
> Можно это как-то исправить?
Можно. Перед тем, как копируешь из webbrowser переключай раскладку клавиатуры на русскую.