Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.10.30;
Скачать: [xml.tar.bz2];

Вниз

RichEdit   Найти похожие ветки 

 
DimaK   (2003-10-19 16:03) [0]

Ребята, помогите плиз с кодом, необходимо програмно определить последний символ (букву) в RichEdit и удалить ее.


 
Palladin   (2003-10-19 16:05) [1]

Кодом не помогу, намек сделаю.

TRichEdit.Lines
TRichEdit.Lines.Count
SetLength (как вариант Delete если уж сложно додуматся до SetLength)


 
Dimak   (2003-10-19 17:22) [2]

Блин, не получается, можно по подробнее, плиз!


 
DimaK   (2003-10-19 17:22) [3]

Удалено модератором


 
DimaK   (2003-10-19 17:23) [4]

Удалено модератором


 
Palladin   (2003-10-19 17:55) [5]

А что именно не получается? Ты не можешь продумать последовательность действий используя приведенную мной информацию? Тогда см. http://delphimaster.net/view/1-1066568028/


 
DimaK   (2003-10-19 18:10) [6]

Извеняюсь, машина подвисла, и получилось несколько сообщений :(

У меня такая проблема, есть 2 RichEdit, один как бы окно ввода, другой - окно вывода. Работаю с COM портом, что пишу в RichEdit2, обрабатывается (компонент ComDrv32) и пишется в RichEdit1 для отправки в порт, но когда я затираю символ (BackSpase), то в RichEdit1 пишется фигня,и естественно, эта фигня при нажатии на Enter посылается в порт и возникает ошибка, поэтому и хотельсь бы при нажатии на BackSpase в RichEdit1 просто затереть последний символ.


 
Anatoly Podgoretsky   (2003-10-19 18:19) [7]

Тяюело жить бех пистолета.


 
DimaK   (2003-10-19 18:29) [8]

Да, ТЯЮЕЛО!!! :)

А можно помочь, без издевательств?


 
Anatoly Podgoretsky   (2003-10-19 18:37) [9]

А тебе уже ответили в [1]
Может тебе не помощь нужна, а надо написать программу?


 
DimaK   (2003-10-19 18:54) [10]

Да не надо мне писать прогу, у меня почти работает, не пойму почему и где глюк есть. Пишу так:

var Stpos, Pos, Endpos: Integer;

if Key=chr(8) then // Если нажат BackSpase
begin
Stpos:=0;
with RichEdit1 do
begin
Endpos:=Length(RichEdit1.Text)-Stpos;
Pos:=Endpos-1;
// SetFocus;
SelStart:=Pos;
SelLength:=Endpos;
RichEdit1.ReadOnly:=False;
RichEdit1.ClearSelection;
RichEdit1.ReadOnly:=True;
end;
end
else // Передаем введенные данные в компонент
CommDrv32.SendChar(Key);


 
Palladin   (2003-10-19 19:38) [11]

вот что значит через заднее место...

stpos:=Lines.Count-1;
Lines[stpos]:=Copy(Lines[stpos],1,Length(Lines[stpos])-1);


 
DimaK   (2003-10-19 20:13) [12]

Спасибо, вроде работает.
И еще один вопрос, а как заставить RichEdit писать только большие буквы не прибегая к принудительному включению Caps Lock?


 
DimaK   (2003-10-19 23:14) [13]

Похоже никто не знает :(
Ладно, спасибо за помощь!


 
Song   (2003-10-19 23:16) [14]

2DimaK © (19.10.03 20:13) [12]
onKeyPress / onChange


 
DimaK   (2003-10-19 23:19) [15]

Это я понял, а дальше, UpperCase как правильно описать?


 
Song   (2003-10-19 23:23) [16]

S:=UpperCase(S);
Это для англ.
Для русского AnsiUpperCase()


 
DimaK   (2003-10-19 23:45) [17]

Воопще-то я писал так:

procedure TForm1.RichEdit1Change(Sender: TObject);
begin
RichEdit1.Text:=UpperCase(RichEdit1.Text);
end;

Все работает, только на оборот.


 
Anatoly Podgoretsky   (2003-10-19 23:54) [18]

То есть хочешь сказать, что превращает в малые :-)


 
DimaK   (2003-10-20 00:04) [19]

Смешно... :)
Напиши и попробуй.


 
Плохиш_   (2003-10-20 00:37) [20]

>DimaK © (20.10.03 00:04) [19]

Ещё как смешно :-))))
А позицию курсора за тебя кто сохранять будет ;-))))


 
Palladin   (2003-10-20 02:12) [21]


> DimaK © (20.10.03 00:04) [19]

Слушай... не зачем пробовать очевидные вещи.

А вот еще одна очевидная вещь: не кажется ли тебе что ты выбрал немного не подходящее и слишком ресурсоемкое событие для обработки? Прочитай внимательно Song © (19.10.03 23:16) [14]

Еще одна подсказка
function AnsiUpCase(c:char):char;
var
b:byte absolute c;
begin
if c="ё" then result:="Ё" else
if b in [224..255] then result:=chr(b-32)
else result:=UpCase(c);
end;



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.10.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.011 c
1-98660
Фагот
2003-10-21 14:08
2003.10.30
Поиск везде


14-98811
Иван Шихалев
2003-10-12 18:17
2003.10.30
Сьранные модераторы завелись....


3-98464
Broot
2003-10-11 06:29
2003.10.30
Русский язык в базе данных DBASE


1-98725
Dmitriy
2003-10-20 20:08
2003.10.30
Показ картинки в Hint e


1-98708
Hook
2003-10-21 09:45
2003.10.30
Проблема с компилятором (record)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский