Демонстрация: Манипулировать Clipboard в Делфи
Здесь быстрая демонстрация как легкий программировать в Делфи.
Этот малый app позволяют вам скопировать текст и прошлый оно снова выпрямляет - прочь с им преобразовал к правильным случаю или верхушке - случай. Это было написано для потребителя ZTree который имел пук архивов которым он хотел t переименует к частично uppercase. Был никакой путь выбрать вне часть имени он хотел в верхушке - случае. Так я написал этот режим для того чтобы позволить ему выделить часть текста, экземпляр удара и после этого ударить затир. И альт, он оно был бы фикчирован.
Так в Делфи, как вы достигаете доски зажима? Наилучшим образом, она не смогла быть простоее. Как раз добавьте блок clipbrd к вашему заявлению польз как это:
-
пользы Clipbrd;
После этого вы можете прочитать и написать к clipboard как текст как это:
-
A: = Clipboard.AsText;
-
Clipboard.AsText: = a + BC'; `
Конечно самое лучшее проверить что вы общаетесь с befor текста вы пробуете получить информацию назад от clipboard. То можно сделать как это:
-
если (Clipboard.HasFormat, то (CF_TEXT)) после этого DoIt;
См.! Оно ТО прямодушное. Если вы хотите увидеть, то чего другие формы clipboard там, как раз выделить CF_TEXT в Делфи и ударить F1 и вас получат полный список.
| Значение | Смысль |
| CF_TEXT | Текст с комбинацией CR-LF в конце каждой линии. Нулевой характер определяет конец текста. |
| CF_BITMAP | График поэлементного карты Windows. |
| CF_METAFILEPICT | График metafile Windows. |
| CF_PICTURE | Предмет типа TPicture. |
| CF_COMPONENT | Любой упорний предмет. |
Так инструкции создать полный app довольно просто:
В Делфи, создайте новый app. В контролере предмета, назовите главное frmCBFix формы, измените тип граници к bsToolWindow, и измените тип формы к fsStayOnTop
Установьте TEdit на форме и назовите его editCorrected текст, освобождая значение текста значения по умолчанию.
Добавьте Clipbrd к пользам.
Оденьте в TTimer форма и двойной щелчок случай отметчика времени в контролере предмета.
Наклеите следующий Код в блок заменяя автоматическую произведенную процедуру по Timer1Timer:
-
{******************************************************************************
-
ProperCase
-
Преобразовывает шнур к правильному случаю путем писать каждое письмо прописными буквами после космоса или
-
пунктуация. Единственная общяя не используемая пунктуация апостроф/определяет
-
цитата. Это во избежание изменить не делает не делает, а будет закавыченные предложения
-
внутренние одиночные кавычки не будут иметь их первое написанное прописными буквами письмо.
-
******************************************************************************}
-
функция ProperCase (aSrcStr: Шнур): Шнур;
-
var
-
Len, индекс: интежер;
-
начните
-
aSrcStr: = строчная буква (aSrcStr);
-
Len: = длина (aSrcStr);
-
aSrcStr [1]: = UpperCase (шнур (aSrcStr [1]))[1];
-
для индекса: = 1 к Len - 1
-
начните
-
если (aSrcStr [индекс] в, то [``, `$ ', `«', `(', `) ', `` ', `! ', `? ', `< ', `! ', `> ', `# ', `= ', `+ ', `: ', `, ', `/', `. ', `& ', `- ', `{', `} «, «[»,»] `, `|'])
-
после этого aSrcStr [индекс + 1]: = UpperCase (шнур (aSrcStr [индекс + 1]))[1];
-
конец;
-
Результат: = aSrcStr;
-
конец;
-
-
{******************************************************************************
-
Timer1Timer
-
Пожары периодически (первоначально каждое 250ms), проверки доска зажима для текста,
-
если он изменял, то преобразуйте его к правильному случаю и положите результат в
-
clipboard и управление редактировать.
-
******************************************************************************}
-
процедура TfrmCBFix.Timer1Timer (прислужник: TObject);
-
начните // Timer1Timer
-
если Clipboard.HasFormat, то (CF_TEXT)
-
после этого начните
-
если (<> Clipboard.AsText editCorrectedText.Text), то
-
после этого начните
-
editCorrectedText.Text: = ProperCase (Clipboard.AsText);
-
Clipboard.AsText: = editCorrectedText.Text;
-
конец;
-
конец;
-
конец; // Timer1Timer
И вы сделаны!
Здесь архивы для этого проекта:
http://www.TheCodeCave.com/downloads/delphi/CBFixerUpper.exe
http://www.TheCodeCave.com/downloads/delphi/CBFixerUpper.dpr
http://www.TheCodeCave.com/downloads/delphi/u_CBFix.dfm
http://www.TheCodeCave.com/downloads/delphi/u_CBFix.pas















