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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.07.2016, 23:45   #1
Candide
 
Аватар для Candide
 
Регистрация: 09.07.2016
Сообщений: 6
Стрелка Есть код нужно сделать программу

Помогите сделать из этого то что надо.
PS я не знаю как должны стоять кнопки и остальное и сколько их вообще.

PHP код:
unit Unit1;

interface

uses
Windows
MessagesSysUtilsClassesGraphicsControlsFormsDialogs,
StdCtrlsLinkLabel;

type
TfmMain 
= class(TForm)
Memo1TMemo;
Memo2TMemo;
Label2TLabel;
Button1TButton;
Label1TLabel;
Label3TLabel;
Edit1TEdit;
StaticText1TStaticText;
LinkLabel1TLinkLabel;
procedure Button1Click(SenderTObject);
procedure Memo1Click(SenderTObject);
private
public
end;

var
fmMainTfmMain;

implementation

{$R *.DFM}

function 
RusToUpper(StrString): String;
const
LetL 'abcdefghijklmnopqrstuvwxyz';
LetU 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var 
iInteger;
begin
Result
:=Str;
for 
i:=1 to Length(Str) do
if 
Pos(Str[i],LetL) > 0 then
Result
[i]:=LetU[Pos(Str[i],LetL)];
end;


function 
Transliterate(sstring): string;
var
iinteger;
tstring;
begin
for i:=1 to Length(s) do
begin
case s[iof

'а't:=t+chr(70);
'б't:=t+chr(18;
'в't:=t+chr(6;
'г't:=t+chr(85);
'д't:=t+chr(76);
'е't:=t+chr(84);
'ё't:=t+chr(192);
'ж't:=t+chr(186);
'з't:=t+chr(80);
'и't:=t+chr(66);
'й't:=t+chr(81);
'к't:=t+chr(82);
'л't:=t+chr(75);
'м't:=t+chr(86);
'н't:=t+chr(89);
'о't:=t+chr(74);
'o't:=t+chr(74);
'п't:=t+chr(71);
'р't:=t+chr(72);
'с't:=t+chr(67);
'т't:=t+chr(7;
'у't:=t+chr(69);
'ф't:=t+chr(65);
'х't:=t+chr(219);
'ц't:=t+chr(87);
'ч't:=t+chr(8;
'ш't:=t+chr(73);
'щ't:=t+chr(79);
'ъ't:=t+chr(221);
'ы't:=t+chr(83);
'ь't:=t+chr(77);
'э't:=t+chr(222);
'ю't:=t+chr(190);
'я't:=t+chr(90);

' 't:=t+chr(32);
'.'t:=t+chr(191);
','t:=t+chr(16)+chr(191);
'!'t:=t+chr(16)+chr(49);
'?'t:=t+chr(16)+chr(55);
':'t:=t+chr(16)+chr(54);
'-'t:=t+chr(189);
'"'t:=t+chr(16)+chr(50);
'('t:=t+chr(16)+chr(57);
')'t:=t+chr(16)+chr(4;
'№'t:=t+chr(16)+chr(51);
'А'T:=T+chr(20)+chr(70)+chr(20);
'Б'T:=T+chr(20)+chr(18+chr(20);
'В'T:=T+chr(20)+chr(6+chr(20);
'Г'T:=T+chr(20)+chr(85)+chr(20);
'Д'T:=T+chr(20)+chr(76)+chr(20);
'Е'T:=T+chr(20)+chr(84)+chr(20);
'Ё'T:=T+chr(20)+chr(192)+chr(20);
'Ж'T:=T+chr(20)+chr(186)+chr(20);
'З'T:=T+chr(20)+chr(80)+chr(20);
'И'T:=T+chr(20)+chr(66)+chr(20);
'Й'T:=T+chr(20)+chr(81)+chr(20);
'К'T:=T+chr(20)+chr(82)+chr(20);
'Л'T:=T+chr(20)+chr(75)+chr(20);
'М'T:=T+chr(20)+chr(86)+chr(20);
'Н'T:=T+chr(20)+chr(89)+chr(20);
'О'T:=T+chr(20)+chr(74)+chr(20);
'П'T:=T+chr(20)+chr(71)+chr(20);
'Р'T:=T+chr(20)+chr(72)+chr(20);
'С'T:=T+chr(20)+chr(67)+chr(20);
'Т'T:=T+chr(20)+chr(7+chr(20);
'У'T:=T+chr(20)+chr(69)+chr(20);
'Ф'T:=T+chr(20)+chr(65)+chr(20);
'Х'T:=T+chr(20)+chr(219)+chr(20);
'Ц'T:=T+chr(20)+chr(87)+chr(20);
'Ч'T:=T+chr(20)+chr(8+chr(20);
'Ш'T:=T+chr(20)+chr(73)+chr(20);
'Щ'T:=T+chr(20)+chr(79)+chr(20);
'Ъ'T:=T+chr(20)+chr(221)+chr(20);
'Ы'T:=T+chr(20)+chr(83)+chr(20);
'Ь'T:=T+chr(20)+chr(77)+chr(20);
'Э'T:=T+chr(20)+chr(222)+chr(20);
'Ю'T:=T+chr(20)+chr(190)+chr(20);
'Я'T:=T+chr(20)+chr(90)+chr(20);
else 
t:=t+s[i];
end;
end;
Result:=t;
end;

procedure TfmMain.Button1Click(SenderTObject);
const 
ShiftLitset of char = [',','!'];
var
i,tintegerc:charstr:string;
begin
t
:=strtoint(edit1.text);
Memo2.Lines.Clear;
for 
i:=0 to Memo1.Lines.Count-do
Memo2.Lines.Add(Transliterate(Memo1.Lines.Strings[i]));

str:=RusToUpper(memo2.text)+' ';
i:=0;
sleep(2000);
repeat
i
:=i+1;
c:=str[i] ;
sleep(t);
keybd_event(ord(C) , 000);
Keybd_event(20,0KEYEVENTF_KEYUP0);
Keybd_event(32,0KEYEVENTF_KEYUP0);
if 
ord(c) = 16 then
sleep
(1)
else
Keybd_event(16,0KEYEVENTF_KEYUP0)

until ilength(str);



end;

procedure TfmMain.Memo1Click(SenderTObject);
begin
memo1
.Clear;
end;

end
___________________
Candide вне форума Ответить с цитированием
Старый 10.07.2016, 00:11   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

у Вас в коде формы кнопка всего одна.

а вообще на форме есть
Цитата:
Код:
Memo1: TMemo; 
Memo2: TMemo; 
Label2: TLabel; 
Button1: TButton; 
Label1: TLabel; 
Label3: TLabel; 
Edit1: TEdit; 
StaticText1: TStaticText; 
LinkLabel1: TLinkLabel;
Два мемо, три лейблы, одна кнопка, один Edit, один TStaticText, один TLinkLabel
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.07.2016, 14:08   #3
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Меня убивает выражение:
Код:
function Transliterate(s: string): string; 
var 
i: integer; 
t: string; 
begin 
for i:=1 to Length(s) do 
begin 
case s[i] of 

'а': t:=t+chr(70); 
'б': t:=t+chr(18; 
'в': t:=t+chr(6; 
'г': t:=t+chr(85); 
'д': t:=t+chr(76);
Чему изначально равно t?
Почему нет закрывающейся круглой скобки после числа перед двоеточием?

И главный вопрос: А что программа делает?
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 10.07.2016, 15:08   #4
Candide
 
Аватар для Candide
 
Регистрация: 09.07.2016
Сообщений: 6
Стрелка

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Два мемо, три лейблы, один Edit, один TStaticText, один TLinkLabel
Где узнать что такое
Memo - ?
Label - как я понял просто надпись.
Edit - окно правки текста?
TStaticText - ?
TLinkLabel - ?



_____

Цитата:
Сообщение от newerow1989 Посмотреть сообщение


Почему нет закрывающейся круглой скобки после числа перед двоеточием?
Код:
'в': t:=t+chr(6;
<-Здесь после шестерки скобки нет? Я ошибся в коде; не правильно скопировал; вот правильный:

PHP код:
unit Unit1;

interface

uses
Windows
MessagesSysUtilsClassesGraphicsControlsFormsDialogs,
StdCtrlsLinkLabel;

type
TfmMain 
= class(TForm)
Memo1TMemo;
Memo2TMemo;
Label2TLabel;
Button1TButton;
Label1TLabel;
Label3TLabel;
Edit1TEdit;
StaticText1TStaticText;
LinkLabel1TLinkLabel;
procedure Button1Click(SenderTObject);
procedure Memo1Click(SenderTObject);
private
public
end;

var
fmMainTfmMain;

implementation

{$R *.DFM}

function 
RusToUpper(StrString): String;
const
LetL 'abcdefghijklmnopqrstuvwxyz';
LetU 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var 
iInteger;
begin
Result
:=Str;
for 
i:=1 to Length(Str) do
if 
Pos(Str[i],LetL) > 0 then
Result
[i]:=LetU[Pos(Str[i],LetL)];
end;


function 
Transliterate(sstring): string;
var
iinteger;
tstring;
begin
for i:=1 to Length(s) do
begin
case s[iof

'а't:=t+chr(70);
'б't:=t+chr(188);
'в't:=t+chr(68);
'г't:=t+chr(85);
'д't:=t+chr(76);
'е't:=t+chr(84);
'ё't:=t+chr(192);
'ж't:=t+chr(186);
'з't:=t+chr(80);
'и't:=t+chr(66);
'й't:=t+chr(81);
'к't:=t+chr(82);
'л't:=t+chr(75);
'м't:=t+chr(86);
'н't:=t+chr(89);
'о't:=t+chr(74);
'o't:=t+chr(74);
'п't:=t+chr(71);
'р't:=t+chr(72);
'с't:=t+chr(67);
'т't:=t+chr(78);
'у't:=t+chr(69);
'ф't:=t+chr(65);
'х't:=t+chr(219);
'ц't:=t+chr(87);
'ч't:=t+chr(88);
'ш't:=t+chr(73);
'щ't:=t+chr(79);
'ъ't:=t+chr(221);
'ы't:=t+chr(83);
'ь't:=t+chr(77);
'э't:=t+chr(222);
'ю't:=t+chr(190);
'я't:=t+chr(90);

' 't:=t+chr(32);
'.'t:=t+chr(191);
','t:=t+chr(16)+chr(191);
'!'t:=t+chr(16)+chr(49);
'?'t:=t+chr(16)+chr(55);
':'t:=t+chr(16)+chr(54);
'-'t:=t+chr(189);
'"'t:=t+chr(16)+chr(50);
'('t:=t+chr(16)+chr(57);
')'t:=t+chr(16)+chr(48);
'№'t:=t+chr(16)+chr(51);
'А'T:=T+chr(20)+chr(70)+chr(20);
'Б'T:=T+chr(20)+chr(18+chr(20);
'В'T:=T+chr(20)+chr(6+chr(20);
'Г'T:=T+chr(20)+chr(85)+chr(20);
'Д'T:=T+chr(20)+chr(76)+chr(20);
'Е'T:=T+chr(20)+chr(84)+chr(20);
'Ё'T:=T+chr(20)+chr(192)+chr(20);
'Ж'T:=T+chr(20)+chr(186)+chr(20);
'З'T:=T+chr(20)+chr(80)+chr(20);
'И'T:=T+chr(20)+chr(66)+chr(20);
'Й'T:=T+chr(20)+chr(81)+chr(20);
'К'T:=T+chr(20)+chr(82)+chr(20);
'Л'T:=T+chr(20)+chr(75)+chr(20);
'М'T:=T+chr(20)+chr(86)+chr(20);
'Н'T:=T+chr(20)+chr(89)+chr(20);
'О'T:=T+chr(20)+chr(74)+chr(20);
'П'T:=T+chr(20)+chr(71)+chr(20);
'Р'T:=T+chr(20)+chr(72)+chr(20);
'С'T:=T+chr(20)+chr(67)+chr(20);
'Т'T:=T+chr(20)+chr(78)+chr(20);
'У'T:=T+chr(20)+chr(69)+chr(20);
'Ф'T:=T+chr(20)+chr(65)+chr(20);
'Х'T:=T+chr(20)+chr(219)+chr(20);
'Ц'T:=T+chr(20)+chr(87)+chr(20);
'Ч'T:=T+chr(20)+chr(88)+chr(20);
'Ш'T:=T+chr(20)+chr(73)+chr(20);
'Щ'T:=T+chr(20)+chr(79)+chr(20);
'Ъ'T:=T+chr(20)+chr(221)+chr(20);
'Ы'T:=T+chr(20)+chr(83)+chr(20);
'Ь'T:=T+chr(20)+chr(77)+chr(20);
'Э'T:=T+chr(20)+chr(222)+chr(20);
'Ю'T:=T+chr(20)+chr(190)+chr(20);
'Я'T:=T+chr(20)+chr(90)+chr(20);
else 
t:=t+s[i];
end;
end;
Result:=t;
end;

procedure TfmMain.Button1Click(SenderTObject);
const 
ShiftLitset of char = [',','!'];
var
i,tintegerc:charstr:string;
begin
t
:=strtoint(edit1.text);
Memo2.Lines.Clear;
for 
i:=0 to Memo1.Lines.Count-do
Memo2.Lines.Add(Transliterate(Memo1.Lines.Strings[i]));

str:=RusToUpper(memo2.text)+' ';
i:=0;
sleep(2000);
repeat
i
:=i+1;
c:=str[i] ;
sleep(t);
keybd_event(ord(C) , 000);
Keybd_event(20,0KEYEVENTF_KEYUP0);
Keybd_event(32,0KEYEVENTF_KEYUP0);
if 
ord(c) = 16 then
sleep
(1)
else
Keybd_event(16,0KEYEVENTF_KEYUP0)

until ilength(str);



end;

procedure TfmMain.Memo1Click(SenderTObject);
begin
memo1
.Clear;
end;

end
Цитата:
Чему изначально равно t?
-- не знаю.


Цитата:
И главный вопрос: А что программа делает?

Да, кнопка только одна.
Вот форма программы.
Программа, хотя там все написано.

Программа вводит выделенный пользователем текст с определенной скоростью.

Но я хочу отпилить только кусок ввода текста, так чтобы текст распознавался OCR --> переводился в непосредственно Plain Text и --> собственно вводился.

Т.е. если есть картинка текста на экране и поле куда надо его вводить то можно выделить область необходимую для OCR распознавания и получив собственно буквы вводить его (программа вводит).

Как я могу это сделать и есть ли плагины для OCR в Delphi 7?

..тему не в Помощь студентам надо было писать..
___________________
Candide вне форума Ответить с цитированием
Старый 10.07.2016, 15:54   #5
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

При наведении мыши на объект появляется всплывающая подсказка. Вот на каждой посмотрите
Безымянный.png

TStaticText, TLinkLabel находятся на вкладке Additional
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]

Последний раз редактировалось newerow1989; 10.07.2016 в 16:03.
newerow1989 вне форума Ответить с цитированием
Старый 10.07.2016, 17:11   #6
Candide
 
Аватар для Candide
 
Регистрация: 09.07.2016
Сообщений: 6
Стрелка

Цитата:
Сообщение от newerow1989 Посмотреть сообщение
При наведении мыши на объект появляется всплывающая подсказка. Вот на каждой посмотрите
Вложение 82678

TStaticText, TLinkLabel находятся на вкладке Additional


Это TLinkLabel? А почему написано LabeledEdit?
TStaticText я нашел это где буква A.
___________________
Candide вне форума Ответить с цитированием
Старый 10.07.2016, 17:14   #7
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Видимо на современных версиях Delphi есть.
Слева на панели список компонентов - http://helpdelphi.ru/linklabel/
Изображения
Тип файла: png Безымянный.png (3.8 Кб, 79 просмотров)
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]

Последний раз редактировалось newerow1989; 10.07.2016 в 17:19.
newerow1989 вне форума Ответить с цитированием
Старый 11.07.2016, 13:57   #8
Candide
 
Аватар для Candide
 
Регистрация: 09.07.2016
Сообщений: 6
Стрелка

Цитата:
Сообщение от newerow1989 Посмотреть сообщение
Видимо на современных версиях Delphi есть.
Слева на панели список компонентов - http://helpdelphi.ru/linklabel/
Какая современнее Delphi 7 есть?

Я понял как сделать:
Добавляю обычный Label потом пишу в код:
PHP код:
procedure TForm1.Label1Click(SenderTObject);
begin
   hLinkNavigateString
(Nil'http://www.programmersforum.ru');
end
И настраиваю вид курсора, чтобы изменялся когда навожу.
___________________
Candide вне форума Ответить с цитированием
Старый 11.07.2016, 14:23   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

TLinkLabel в Dekphi 2009 впервые появилось если не ошибаюсь. Правда там отличия от Label почти ни какого. Все равно по клику кодировать обращение к чему-то типа ShellExecute
Цитата:
Какая современнее Delphi 7 есть?
дык целая серия XE. Правда лучше бы делфи на 7-ке почило, чем так развиваться
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 13.07.2016, 02:09   #10
Candide
 
Аватар для Candide
 
Регистрация: 09.07.2016
Сообщений: 6
Стрелка

Цитата:
Сообщение от Аватар Посмотреть сообщение
TLinkLabel в Delphi 2009 впервые появилось если не ошибаюсь. Правда там отличия от Label почти ни какого.


Все равно по клику кодировать обращение к чему-то типа ShellExecuteдык целая серия XE. Правда лучше бы делфи на 7-ке почило, чем так развиваться
Хо-хо.
PHP код:
4.9    Borland Delphi 8
4.10    Borland Delphi 2005
4.11    Borland Delphi 2006
4.12    CodeGear Delphi 2007
4.13    Delphi 2009
4.14    Delphi 2010
4.15    Delphi XE
4.16    Delphi XE2
4.17    Delphi XE3
4.18    Delphi XE4
4.19    Delphi XE5
4.20    Delphi XE6
4.21    Delphi XE7
4.22    Delphi XE8
4.23    Delphi 10 Seattle 
А я то думал последнюю скачал. Мда..
___________________
Candide вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
код прюфера есть прога нужно объяснить katel Паскаль, Turbo Pascal, PascalABC.NET 0 14.01.2016 19:19
Одномерный массив. есть код, нужно объяснить и немного подправить mikeel Общие вопросы C/C++ 8 10.06.2013 22:10
C++. Есть код нужно исправить ошибки megavolt91 Общие вопросы C/C++ 6 06.06.2009 19:27
C++. Есть код нужно исправить ошибки megavolt91 Помощь студентам 1 01.06.2009 18:38
Есть код программы на с++. Нужно обьяснение Alex1991 Помощь студентам 1 16.03.2009 14:37