Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
PS: По коду не так уж наверно ясно будет,в исходнике всё понятно :)
Проблема в том что функция SearchStr находит поисковой запрос не правильно. например: в файле есть строка id1264, вот,если в поиск писать id 1 или просто 1,то программа пишет найден,а это совершенно не правильно. надо чтобы функция сделал поиск строки целиком. Я выложил так же исходник,посмотрите пожалуйста и помогите с этим. Заранее спасибо...
Добавлено (01 Май 2011, 14:08) --------------------------------------------- Пробовал даже так:
если в поиск писать id 1 или просто 1,то программа пишет найден,а это совершенно не правильно. надо чтобы функция сделал поиск строки целиком.
ну чтож тут поделать, если действительно "1" найден. что напишешь, то и будет искать.
тебе нужно немного поменять принцип хранения данных и как следствие, принцип поиска. Если уж ищешь в текстовом файле, то нужно проверять построчно (т.е. строку целиком), а не внутри строки (там тебе найдет все что угодно).
Так что нужно унифицировать формат записи в базе, например писать только id или icq или email или еще что, отдельно:
id34964386 id23671719 id43335131 id32174822
icq34964386 icq23671719 icq43335131 icq32174822
Пользователь вводит данные, скажем цифры 32174822 ты прибавляешь вначале id, icq и ищешь целые строки, читая их с FileRead по одной в цикле до конца файла (FileLen) и сравнивая с твоей строкой. Можно завести разные базы для id, icq, email и дать возможность выбора по какой базе пробить. Главное тут универсальность запросов и структуры данных, видишь, прежде чем сделать даже маленькую какашку, нужно хорошенько подумать логически, не? )
видишь, прежде чем сделать даже маленькую какашку, нужно хорошенько подумать логически, не? )
даа Gorezcaid, хм,спасибо за пример,по тестирую
Quote (DEMBEL)
Пользователь вводит данные, скажем цифры 32174822 ты прибавляешь вначале id, icq и ищешь целые строки, читая их с FileRead по одной в цикле до конца файла (FileLen) и сравнивая с твоей строкой.
Да можно в принципе атк сделать,я сейчас попробую
Quote (DEMBEL)
Можно завести разные базы для id, icq, email
Хм.. Да ты прав,лучше отдельные базы, я сначала хотел сделать только для вк,потом придумал,если уж начать такую прогу писать,то надо довести дело до конца) Друзья,спасибо вам за помощь. Я сейчас что нибудь сделаю) хД из ваших примеров) Надо ещё тут разбираться,а то чё то запутался немного Дата регистрации: Вс, 30 Мая 2010, 21:05 Этож было вчера
Да ты прав,лучше отдельные базы, я сначала хотел сделать только для вк,потом придумал,если уж начать такую прогу писать,то надо довести дело до конца)
ну если уж делать, то делать. чтобы никто не мог изменить базы, клади их в проект и при старте всегда извлекай, они перезапишутся. храни где нибудь в мусорке их, в TempDir. И если не хочешь случайных совпадений, сравнивай сразу построчно а не ищи символы в строке, мало ли что найдешь. Вводимые, хранимые в базах, сравниваемые данные должны быть одной продуманной структуры. Как задавать вопросы
ой.. в этом вк только одни проблемы.. Придется по потеть.. Т.к вк не только ид,ну и ещё publ,page и т.п. Капец. придется создать базы для каждого модуля и соответственно для каждого под программу. с FileRead легче чем с SearchStr.. Дата регистрации: Вс, 30 Мая 2010, 21:05 Этож было вчера
ну заставляй пользователя вводить ссылку целиком например vkontakte.ru/id49490183 со всеми publ и прочими там же еще vk.com бывает. если вначале кто введет http то вырезай это Как задавать вопросы
DEMBEL, хмм.. ну да. Да я ещё в программе хочу добавить функцию "создать бд". Ну каждый пользователь программы может создать бд и отправить мне на почту,это дает хороший результат,ну и за отличную базу получат призы. Идея,есть,но реализация очень даже не простая
Добавлено (01 Май 2011, 15:46) ---------------------------------------------
Quote (DEMBEL)
ну заставляй пользователя вводить ссылку целиком
да,например создать ComboBox и при выборе автоматически записывается правильны поисковой запрос) так легче) Как думаешь?) Дата регистрации: Вс, 30 Мая 2010, 21:05 Этож было вчера
реализация проще пареной репы, ты просто запутался из-за отсутствия структуры данных. Поизучай материал, выясни какие типы данных (ссылок) встречаются, подумай как можно их хранить в базе чтобы поиск был точным.
Добавлено (01 Май 2011, 15:51) ---------------------------------------------
Quote (Фарид)
Ну каждый пользователь программы может создать бд и отправить мне на почту,
ну да, они тебе такие базы насоздают... лучше пусть кидают адреса и доказательства, ты будешь проверять и сам делать базы. базы можно хранить на сайте и обновлять, а прога будет их оттудова тянуть каждый раз при запуске, ну или по запросу. Как задавать вопросы
DEMBEL, да вот вот) запутался) ща вот изучаю,смотрю весь код заново чтобы всё понять и по проще сделать как нибудь.. Дата регистрации: Вс, 30 Мая 2010, 21:05 Этож было вчера
Можно подключить плаг npwControl там для поиска есть инструменты... Можно искать и в ассоциировнном массиве, и простой поиск есть, и неплохая хфункция по регулярке
Сергей, я чё то не нашел на форуме) npwControl,на офф сайте наверно есть и блин на англ - это плохо)) Дата регистрации: Вс, 30 Мая 2010, 21:05 Этож было вчера
.инфо о поиске If "[i]" ">" "0" SetVar "[dedectet]" "Поиск выдал положительный результат. Ваш запрос найден в базе мошенников. Не давайте себя обмануть!" ShowObject "message_status" "Fade" "5" SetObjectFill "Text12" "Red" "Solid" "False" SetObjectLine "Text12" "Red" "1" "0"
EndIf If "[i]" "<=" "0" SetVar "[dedectet]" "Поиск выдал отрицательный результат. Ваш запрос не найден в базе мошенников. Если вы сомневаетесь,то отправьте нам данные и укажите каким образом вас обманули. После проверки,мы добавим в базу." ShowObject "message_status" "Fade" "5" SetObjectFill "Text12" "Green" "Solid" "False" SetObjectLine "Text12" "Green" "1" "0"
EndIf
Таймер выдает сообщения. положительный или отрицательный ли запрос. как говорил Дембель,создал 5 отдельных баз(аська,майл,ид,сайты и т.п). Добавил выпадающий список,т.е при поиске пользователь должен указать что он именно хочет найти,например пользователя по ид. При выборе пользователя,в поисковую строку автоматически пишется ид и проводится поиск в определенной базе. PS: таймер создал потому что из-за чего то в подпрограмме этот код работает не правильно. делал так и сяк,но был какой то касяк. поэтому не мучаясь переместил в таймер! Ещё раз всем спасибо за помощь Дата регистрации: Вс, 30 Мая 2010, 21:05 Этож было вчера
Сообщение отредактировано Фарид - Ср, 04 Мая 2011, 07:35
Тема почищена от флуда - все сообщения, не относящиеся к теме вопроса, удалены.
Граждане форумчане! Давайте будем "выяснять отношения" через ЛС!
Злостные нарушители правил форума будут наказываться (баном), не взирая на звания и ранги!
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться