![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
BSOD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 1.11.2004 Где: Гомель Репутация: нет Всего: 3 |
У меня есть две строки например:
У меня сгорел проц и Я купил новый проц Можно ли сравнить эти две строки на предмет обнаружения одинаковых слов (здесь Проц, но могут быть любые), а потом в зависимости от результата что-нибудь сделать? -------------------- как корабль назовешь - то на нем и напишешь |
|||
|
||||
Satana |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 564 Регистрация: 15.9.2004 Где: Ставрополь, СЗ ра йон Репутация: 1 Всего: 5 |
maximum ну можно только тебе нада будет писать парсер который будет выделять отдельные слова в одной строке и сравнивать pos'ом в другой
-------------------- |
|||
|
||||
BSOD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 1.11.2004 Где: Гомель Репутация: нет Всего: 3 |
Satana
1. Как его написать? 2. А если строки разной длины? 3. А нельзя как в PHP: загнать строки в массив (по пробелам) и сравнить массивы (если можно, то как?)? -------------------- как корабль назовешь - то на нем и напишешь |
|||
|
||||
dvs |
|
|||
![]() Владимир Драпалюк ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 660 Регистрация: 25.8.2003 Где: Воронеж->Москв а Репутация: нет Всего: 19 |
Не ленись и пиши алгоритм, вреда не будет. Зато, если что-то не так, как надо - значит сам такой, а не дядя Borland виноват.
![]() -------------------- Любите друг друга! |
|||
|
||||
tcomponent |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 4.1.2005 Где: таганрог Репутация: нет Всего: 1 |
вот пример простого сравнения слов если не заработаеь то спрашивайте
описание юнит с формой на ней батон и два едита по нажатию на клавишу текст каждого едита разделяется на слова и сравнивается "пословно" если слово не совпадает то выводится сообщение с номером несовпадающего слова unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; words0,words1:array [0..50]of string; wcounter,wposition,pposition:integer; wcounter1,wposition1,pposition1:integer; wpcount,wp:integer; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin if edit1.text<>'' then wcounter:=1; if edit2.text<>''then wcounter1:=1; for pposition:=0 to Length(edit1.text) do begin if (copy(edit1.text,pposition,1)<>' ')and(copy(edit1.text,pposition,1)<>'.') and(copy(edit1.text,pposition,1)<>',') and(copy(edit1.text,pposition,1)<>'!')and(copy(edit1.text,pposition,1)<>'?')then words0[wcounter]:=words0[wcounter]+uppercase(copy(edit1.text,pposition,1)); if copy(edit1.text,pposition,1)=' ' then begin wcounter:=wcounter+1; end; end; for pposition1:=0 to Length(edit2.text) do begin if (copy(edit2.text,pposition1,1)<>' ')and(copy(edit2.text,pposition1,1)<>'.') and(copy(edit2.text,pposition1,1)<>',') and(copy(edit2.text,pposition1,1)<>'!')and(copy(edit2.text,pposition1,1)<>'?')then words1[wcounter1]:=words1[wcounter1]+uppercase(copy(edit2.text,pposition1,1)); if copy(edit2.text,pposition1,1)=' ' then begin wcounter1:=wcounter1+1; end; end; for wpcount:=0 to wcounter do if words0[wpcount]<>words1[wpcount]then showmessage('Различие в словах номер '+inttostr(wpcount)); end; end. |
|||
|
||||
<Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Набросал несложную функцию, с которой, я думаю, ты сможешь узнать о найденных словах все, что нужно:
Это сообщение отредактировал(а) <Spawn> - 11.1.2005, 17:36 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
BSOD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 1.11.2004 Где: Гомель Репутация: нет Всего: 3 |
Всем спасибо, будем пробовать...
![]() ![]() -------------------- как корабль назовешь - то на нем и напишешь |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |