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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.12.2010, 01:17   #1
megostudent
Форумчанин
 
Регистрация: 31.12.2010
Сообщений: 320
Восклицание Программа поиска ассоциаций

(Delphi)
не могу понять как написать програмку такого типа:
мне нужно чтобы при вводе в едит1 например имя Вася в другом едите или же в мемо выводилося привязаное именно к его имени слово дура4ок, а например для Пети выводилося слово молодец,
тобишь при вводе в едит имени нажимая кнопочку в другом выводилося то слово которое привязано к его имени.
Благодарен за внимание.
megostudent вне форума Ответить с цитированием
Старый 31.12.2010, 01:20   #2
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

if edit1.text:='Вася' then edit2.text:='Дурачок'; во както так
Pein95 вне форума Ответить с цитированием
Старый 31.12.2010, 01:26   #3
AlkaloiD
Пользователь
 
Регистрация: 21.09.2010
Сообщений: 24
По умолчанию

как вариант вам что то похожие на БД надо, файл ну или как крайний вариант массив строк. В нем должно быть имя, и то что вы хотите дописать. Пример:
Вася - ударник,
Ваня - отличник.
А потом все просто, считываем слово или строку находим то что нам нужно, ищем по массиву находим совпадение и выводим )
как не крути придется проходить по массиву или файлу целиком (в худшем случае), при большом кол-ве данных замедляется работа.
AlkaloiD вне форума Ответить с цитированием
Старый 31.12.2010, 16:23   #4
megostudent
Форумчанин
 
Регистрация: 31.12.2010
Сообщений: 320
По умолчанию

Цитата:
Сообщение от Pein95 Посмотреть сообщение
if edit1.text:='Вася' then edit2.text:='Дурачок'; во както так
ну да ток не мы имя 'Вася' не присваиваем) мы задаем значит просто = будет, а вот 'Дурачок' мы присваиваем)
Вообще можно кинуть какието данные в файл и с них потом запрашивать то что надо.
Ну а вот БД это тема ну я не знаю как в делфи создавать ее) так что как чайник пропишу все через if
Всем спасибо)
megostudent вне форума Ответить с цитированием
Старый 31.12.2010, 16:45   #5
MoBLer
Пользователь
 
Аватар для MoBLer
 
Регистрация: 30.12.2010
Сообщений: 91
По умолчанию

Как вариант что бы было легче можно через Case of
например:

Код:
case edit1.text of
'Вася': edit2.text:='Дурачок';
'Петя': edit2.text:='Отличник';
'Коля': edit2.text:='Хороший';
end;
и т.д
Я тебе помог, добавь отзыв)))))
Статьи по программированию
MoBLer вне форума Ответить с цитированием
Старый 02.01.2011, 18:10   #6
megostudent
Форумчанин
 
Регистрация: 31.12.2010
Сообщений: 320
По умолчанию

Да немножко легче) но по строкам писать прийдется тотже обьем)
megostudent вне форума Ответить с цитированием
Старый 02.01.2011, 18:24   #7
Novi4ok_11
Форумчанин
 
Регистрация: 11.12.2010
Сообщений: 110
По умолчанию

Может лучше заполнить мемо или листбокс строками:
Вася дурачок
Петя молодец и т.д
А потом просто при нажатии на кнопку организовать поиск по первому слову в мемо или листбоксе(намного удобнее) а в едит2 поместить то что после первого слова
Novi4ok_11 вне форума Ответить с цитированием
Старый 02.01.2011, 18:45   #8
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Самое (наверное) правильно это не использовать дополнительные компоненты, а работать напрямую с файлом.

Структура файла:
Цитата:
Вася=Дурак
Петя=Гей
Лёша=тоже гей
....
И делать с ним следующее:

1. Открыть фаил на чтение.
2. Считать строку.
- если мы дошли до конца то идём к пункту 6
3. Считать символы до знакоразделителя "="
4. Сравнить с Edit1
- Если совпадает, то считать остаток строки и занести в Edit2.
5. К пункту 2.
6. Завершение.

Вот так на вскидку.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 02.01.2011, 18:48   #9
unbanned
Форумчанин
 
Аватар для unbanned
 
Регистрация: 23.11.2010
Сообщений: 530
По умолчанию

ну тогда можно два массива строковых создать, чё уж тут)))
грубо говоря:
Код:
s[7]:='Вася';
sa[7]:='Дурачок';
for i:=1 to n do
if s[i]=edit1.text then edit2.text:=sa[i];

Последний раз редактировалось unbanned; 02.01.2011 в 18:55.
unbanned вне форума Ответить с цитированием
Старый 02.01.2011, 18:56   #10
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Лучше всего сделать это через класс TIniFile.
Структура файла имеет следующий формат:
[Section]
Key=Name
--//--//--
Имя секции может быть название Вася, Петя и т.д.
Ключ может соответствовать, например, характеристика.
После знака "=" может стоять значение как в цифровой, так и в строчной форме.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа поиска анаграмм C# Arnezami C# (си шарп) 5 25.11.2010 14:41
программа поиска Delphi Тант Зин Помощь студентам 0 15.05.2010 14:55
программа ассоциативного поиска вхождений слов Тант Зин Помощь студентам 0 11.05.2010 12:18
Программа для поиска данных в Exel dolphin705 Microsoft Office Excel 2 02.06.2009 07:56
программа для поиска изменений vaniak Помощь студентам 1 15.06.2008 19:03