Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2014, 13:12   #1
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию Печатную машинку Memo1 Delphi7 использовать для Memo[i]

Есть печатная машинка для Memo1 (Работает. Где украл не помню. Вносил изменения не понимая, что делаю.).

Вызывать её можно так:
begin
Key:= chr(j4 + 48) ;//чего-то делаем, чтобы привести к виду Key:Char;
Typewriter(Key);//процедура печатной машинки для Memo1
end;

Хочу добавить параметр номера Memo[i]:
Код:
procedure TForm1.Typewriter(var Key: Char);//заменить на (var Key: Char; i:Integer); {далее по тексту заменю Memo1 на Memo[i] сам.}
begin
 begin
  case Key of
  #8:
    begin
      Memo1.text:=copy(Memo1.text,1,length(Memo1.text)-1);        
    end;
  #13:
    begin
      Memo1.lines.add('');
    end;
  else
    begin
      Memo1.Text:=Memo1.Text+key;
    end;
  end;

  Memo1.SelStart:=length(Memo1.Text);
  sendmessage(Memo1.handle,EM_SCROLLCARET,0,0);  
 end;
end;
Репутация: полный "0"

Последний раз редактировалось zvygin1964; 03.11.2014 в 13:15.
zvygin1964 вне форума Ответить с цитированием
Старый 03.11.2014, 13:27   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Key:= chr(j4 + 48) ;//чего-то делаем, чтобы привести к виду Key:Char;
Что это еще за финт? О_о
Цитата:
Хочу добавить параметр номера Memo[i]:
Чито чито сделать??
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.11.2014, 14:21   #3
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Цитата:
Что это еще за финт?
Это вы у МЕНЯ спрашиваете?!! Я же ничего не понимаю...! Для чего то нужно. Без "+48" работает не правильно. А "j4: Integer;",- просто глобальная переменная, это я её так обозвал.
Хочу эту процедуру использовать для других Memo.
Если не найду как, то буду изменять номера Memo в блокноте (вставлять эту пишущую машинку много раз).
Репутация: полный "0"
zvygin1964 вне форума Ответить с цитированием
Старый 03.11.2014, 14:35   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Код:
procedure TForm1.Typewriter(var Key: Char; Memo: TMemo);
Так передавай
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 03.11.2014, 14:41   #5
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Дядьмиша, всё фигнёй маешься? Съездил бы на рыбалку или внуков навестил, штоли...
Накой хрен тебе этот комп?
Код:
procedure TForm1.Typewriter(var Key: Char; AMemo: TMemo);
begin
  if not Assigned(AMemo)
    then Exit;

  case Key of
    #8:  AMemo.text:= copy(AMemo.text, 1, length(AMemo.text) - 1); // bad idea
    #13: AMemo.lines.add('');
  else   AMemo.Text:= AMemo.Text + key;
  end;

  AMemo.SelStart:= length(AMemo.Text);
  sendmessage(AMemo.handle, EM_SCROLLCARET, 0, 0);
end;
А «+48» – это код клавиши «0».
Изображения
Тип файла: png 21.png (10.5 Кб, 25 просмотров)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 03.11.2014 в 14:47.
min@y™ вне форума Ответить с цитированием
Старый 03.11.2014, 18:21   #6
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Легче не стало...
Код:
Typewriter(Key;AMemo);
Not enough actual parameters.
Теперь бы пример использования "AMemo", как его присваивать (или как это называется...).
Репутация: полный "0"
zvygin1964 вне форума Ответить с цитированием
Старый 03.11.2014, 18:28   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что-то по-моему и правда лучше последовать совету про рыбалку.

При вызове вместо второго параметра надо подставить нужный Memo:

Код:
Typewriter(Key, Memo1);
Typewriter(Key, Memo2);
Typewriter(Key, Memo[i]);
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 03.11.2014, 18:45   #8
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Код:
Typewriter(Key, Memo3);
Да, так работает. Спасибо.
Репутация: полный "0"
zvygin1964 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi7 поле Memo, если изменилось - выполнить действие bad_patefa Помощь студентам 2 15.09.2010 16:15
каким параметрам оценивать машинку для стрижки волос alex(21) Свободное общение 7 26.07.2010 12:59
как создать печатную форму в дизайнере Rave? >>arty<< Помощь студентам 0 28.02.2010 15:21
нарисовать машинку в паскале Эйфория Помощь студентам 9 06.05.2009 15:55