![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Скопировать в буфер обмена несколько строк. [D5, Win95/98]
Огромное Кулясищще © (2004-07-18 00:29:00)Юзаю такой код.
var s: String;
i: Integer;
If SomeList.Items.Count > 0 then
begin
s := '';
for i := 0 to SomeList.Items.Count-1 do
s := s + SomeList.Items[i] + Chr(13);
Delete(s, Length(s), 1);
Clipboard.AsText := s;
end;
Нужно, чтобы при вставке в редактор какой-нибудь были те же несколько строк подряд, каждая на своей строке. Но при вставке в Notepad всё идёт сплошной строкой и вместо переноса (#13) акой-то малопонятный символ. Что не так?
GanibalLector (2004-07-18 23:03:00) [1]>Ну не знаю, Win 98.
Дык проверь...и нам расскажешь.
Убери ActivateKeyboardLayout(LoadKeyboardLayout('00000419',0),0)
и повставляй в БЛОКНОТ.
Огромное Кулясищще (2004-07-18 22:57:00) [2]Ну не знаю, Win 98.
GanibalLector (2004-07-18 22:00:00) [3]>Проблемма с абракодаброй насколько я помню свойственна новым операционкам на ядре nt.
ага
Mim1 (2004-07-18 21:54:00) [4]Проблемма с абракодаброй насколько я помню свойственна новым операционкам на ядре nt.
Mim1 (2004-07-18 21:52:00) [5]Хочется думать, что есть другой текст скопировать в буфер, не используя
> ActivateKeyboardLayout(LoadKeyboardLayout('00000419',0),0)
копать скорее всего надо в сторону unicode и форматов двнных буфера
Если же лень разбираться или по каким либо другим причинам, не забывайте восстанавливать раскладку.
Огромное Кулясищще (2004-07-18 21:44:00) [6]> Anatoly Podgoretsky © (18.07.04 18:29) [8]
Не проверял, скорее всего нет, но для моей задачи это не совсем подходит. В конечном итоге нужно будет реализовывать копирование выделенных строк, так что всё в принципе по делу.
Anatoly Podgoretsky (2004-07-18 18:29:00) [7]Нет ли у этого SomeList свойства Text
Огромное Кулясищще (2004-07-18 18:15:00) [8]Ну вот я уже удалил, всё реально пашет, ещё раз спасибо.
GanibalLector (2004-07-18 17:44:00) [9]>Я не есть понимать. Нельзя - это потому что ты так захотел или так надо?
А ЧЁ там понимать??? Если тебе уж так хочется улалить,то удаляй.Только не один символ,а 2 т.к. #13 + #10
Кстати,если ты не удалишь,то ничего,собственно,и не произойдет.Только переход на новую строку.
Решай сам...
Огромное Кулясищще (2004-07-18 17:29:00) [10]> НИЗЯ
Я не есть понимать. Нельзя - это потому что ты так захотел или так надо?
GanibalLector (2004-07-18 16:52:00) [11]>Объясни, пожалуйста, что делает ActivateKeyboardLayout(LoadKeyboardLayout('00000419',0),0)?
Ну...попробуй без.Тоже вставится,но !!! Попробуй и увидишь,что вместо русских будут иероглифы.
>А нафига мне лишний перенос? Курсор должен быть в конце последней строки.
НИЗЯ
Огромное Кулясищще (2004-07-18 16:48:00) [12]Спасибо, сработало.
Объясни, пожалуйста, что делает ActivateKeyboardLayout(LoadKeyboardLayout('00000419',0),0)?
> во вторых,мне не понятна эта строка кода :
Delete(s, Length(s), 1);
зачем???
А нафига мне лишний перенос? Курсор должен быть в конце последней строки.
GanibalLector (2004-07-18 01:55:00) [13]И вообще,что такое SomeList ???
Накой его так называть ???
GanibalLector (2004-07-18 01:54:00) [14]во первых #13 + #10
во вторых,мне не понятна эта строка кода :
Delete(s, Length(s), 1);
зачем???
в третьих ,перед Clipboard.AsText := s;
нужно вставить ActivateKeyboardLayout(LoadKeyboardLayout('00000419',0),0);