Текущий архив: 2008.10.19;
Скачать: CL | DM;
ВнизПроблемы с кодировкой. Найти похожие ветки
← →
programmer90 (2008-09-10 12:33) [0]Здравствуйте уважаемые мастера. Ох уж эти кодировки....
Проблема такова при копировании из мемо в буфер обмена, и при вставке например в блокнот, русские буквы неверно отображаются.
А точно чнаю что надо перекодировать, даже знаю откуда куда из Win1251 в Dos 866.
Так вот до того как возникла эта трабла, я использовал такой кодPChr := Memo[AdvPageControl1.ActivePageIndex].Lines.GetText;
Этот код был специально написан чтобы привыполнении 16-битных програм через командную строку Русские буквы правильно отображались. После того как я приминил этот код , вдруг почему-то буфер обмена стал глючить.Как это исправить?
AnsiToOem(Pchr,Pchr);
Memo[AdvPageControl1.ActivePageIndex].Lines.Text := StrPas(Pchr);
memo[AdvPageControl1.ActivePageIndex].Lines.SaveToFile("C:\Progra~1\FPSE\Project s\file.pas");
ShellExecute(Handle,"open","cmd","/c C:\Progra~1\FPSE\bin\i386-win32\fpc C:\Progra~1\FPSE\Projects\file.pas >C:\Progra~1\FPSE\Projects\file.err && cls && c:\progra~1\fpse\projects\file.exe && pause",nil,1);
PChr := Memo[AdvPageControl1.ActivePageIndex].Lines.GetText;
OemTOAnsi(Pchr,Pchr);
Memo[AdvPageControl1.ActivePageIndex].Lines.Text := StrPas(Pchr);
Заранее спс.
← →
clickmaker © (2008-09-10 12:38) [1]где в коде обращение к буферу обмена?
что значит "буфер обмена стал глючить"?
← →
Правильный$Вася (2008-09-10 12:41) [2]1. The caller is responsible for freeing the returned value using the StrDispose procedure.
2. не вижу использования буфера обмена
← →
programmer90 (2008-09-10 12:43) [3]
> где в коде обращение к буферу обмена?
memo[advpagecontrol1.ActivePageIndex].CopyToClipBoard;
Вот обращение.
Код которы был указан в [0] это вроде не имеет прямого отношения к копрованию, это совсем другое событие, просто я уверен что это и явилось причиной....
> что значит "буфер обмена стал глючить"?
Это означает что копируем это:
begin
writeln("Привет");
End.
,а получаем это:
begin
writeln("Ïðèâåò");
End.
← →
clickmaker © (2008-09-10 12:52) [4]> [3] programmer90 (10.09.08 12:43)
charset у шрифта того, куда копируешь, какой?
← →
programmer90 (2008-09-10 12:59) [5]
> charset у шрифта того, куда копируешь, какой?
Кажется кириллический....
← →
brother © (2008-09-10 13:00) [6]> Кажется
когда кажется - крестятся. если точно?
← →
programmer90 (2008-09-10 13:03) [7]Я пытался так сделать
PChr := Memo[AdvPageControl1.ActivePageIndex].Lines.GetText;
AnsiToOem(Pchr,Pchr);{OemToAnsi(Pchr,Pchr);}
Memo[AdvPageControl1.ActivePageIndex].Lines.Text := StrPas(Pchr);
memo[advpagecontrol1.ActivePageIndex].CopyToClipBoard;
Но это не помогло...
Если какие-нибудь средства для работы с буфером обмена, например изменить текстовую информацию ?
← →
programmer90 (2008-09-10 13:05) [8]Да и в блокноте и мемо оба кириллические. Я там пытался изменить на другие чарсеты, эффекта нет.
← →
programmer90 (2008-09-10 13:08) [9]Да кстати при сохрании мемо в файл, всё нормально.
Я проверил сохранил файл на диске .Поэтому я думаю что проблемы именно с буфером обмена...
← →
Правильный$Вася (2008-09-10 13:12) [10]
> memo[advpagecontrol1.ActivePageIndex].CopyToClipBoard;Вот
> обращение.
это до твоей перекодироки из [0] или после?
← →
Amoeba © (2008-09-10 13:22) [11]Проблемы копирования русского текста в clipboard и обратно:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=780
← →
programmer90 (2008-09-10 13:29) [12]
> [11]
помогло. большое спасибо.
← →
Anatoly Podgoretsky © (2008-09-10 13:30) [13]> programmer90 (10.09.2008 12:33:00) [0]
AnsiToOem - For compatibility with 16-bit versions of Windows
← →
programmer90 (2008-09-10 13:34) [14]
> AnsiToOem - For compatibility with 16-bit versions of Windows
Я убедился что компатибельность к буферу обмена не относится)))
← →
programmer90 (2008-09-10 13:36) [15]
> это до твоей перекодироки из [0] или после?
Они находятся в разных обработчиках.... но если вы о том где эти обработчики находятся , то копирование находится выше
← →
Правильный$Вася (2008-09-10 14:10) [16]
> Они находятся в разных обработчиках..
и что?
какой из них раньше выполняется? может, он и портит?
← →
Anatoly Podgoretsky © (2008-09-10 14:19) [17]> programmer90 (10.09.2008 13:34:14) [14]
А кого интересует буфер обмена в свете AnsiToOem
Страницы: 1 вся ветка
Текущий архив: 2008.10.19;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.007 c