Буфер обмена, FreePascal |
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
Буфер обмена, FreePascal |
Bokul |
Сообщение
#1
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Как скинуть в буфер обмена(Ctrl+C) текстовую информацию?
-------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
Bokul |
Сообщение
#2
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Спаибо Volvo, теперь все работает . Компилятор и раньше писал что-то про mode, только я поставил вместо {$mode DELPHI} {$mode ObjFpc}.
Осталось несколько моментов, которые я не понял: Цитата Setlength(S, MAX_PATH + 1); Откуда взялась переменная MAX_PATH? Или это константа? Чему она ровна? Цитата C := S[1]; S[1] := '$'; --------- S[1] := C; Для чего сначала первому символу строки присваивать символ '$', а потом возвращать предыдущее значение? Чтобы снизить вероятность нахождения другого окна с тем же именем? Цитата chiBuffer: string; ---------------------- for i := 0 to pred(rd) do begin chiBuffer := chiBuffer + buf[i]; Сколько символов помещается в string? Я думал 255... а тут получается больше 400 - rd = size = 80 * 50, да плюс еще 50 раз по #13#10. Получается 500 символов. Я не прав? Сообщение отредактировано: Bokul - -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
volvo |
Сообщение
#3
|
Гость |
Цитата(Bokul @ 16.09.2006 18:04) Откуда взялась переменная MAX_PATH? Или это константа? Чему она ровна? Константа... Описана в модуле SysUtils, в свою очередь равна константе MaxPathLen (из модуля System) = 256 (зависит от ОС)Цитата(Bokul @ 16.09.2006 18:04) Для чего сначала первому символу строки присваивать символ '$', а потом возвращать предыдущее значение? Чтобы снизить вероятность нахождения другого окна с тем же именем? Именно так... Вообще Microsoft в этом случае рекомендует заменить заголовок окна на сгенерированный GUID, чтобы вообще исключить возможность присутствия второго такого же заголовка, но я думаю, это лишнее Цитата(Bokul @ 16.09.2006 18:04) Сколько символов помещается в string? Я думал 255... а тут получается больше 400 - rd = size = 80 * 50, да плюс еще 50 раз по #13#10. Получается 500 символов. Я не прав? К сожалению, нет Или к счастью... В FPC String = AnsiString в режиме совместимости с Дельфи, аЦитата(ref.pdf) 3.2.4 Ansistrings Ansistrings are strings that have no length limit. They are reference counted and null terminated. P.S. Кстати, чтобы убрать лишние пробелы (о чем я говорил выше), достаточно сделать так: { Это уже есть в программе ... } |
Текстовая версия | 20.04.2024 14:02 |