![]() |
|
![]() ![]() ![]() |
|
MuForum |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 1 Всего: 4 |
Доброе время суток!
Вчера столкнулся с такой проблемой, что мне при создание главной формы нужно было считать с файла данные, и затем проверить его на наличие запрещенных символов и если в какой-то строчке находиться запрещённый символ, то удалить эту строчку. На первый взгляд всё просто и легко, но не тут то было, так как я провозился больше часа читая статьи из Google, так и не нашел то, что мне надо, затем психанул и уже сам методом логики и тыка решил свою проблему, поэтому решил и сдесь опубликовать решение, так как кто-то ещё может столкнуться с такой проблемой, и чтобы ему не приходилось ломать голову... Задача: Проверить все строчки компонента TListBox на наличие запрещенных символов.
Вот и сам код:
Теперь вопрос к опытным кодерам: Ребята, со стороны косметики функция правильно оформлена? Это сообщение отредактировал(а) MuForum - 3.8.2007, 12:53 -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
||||
|
|||||
SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 9 Всего: 23 |
MuForum, так пара замечаний
1. если что-то удаляеш иди с конца 2. ItemIndex можно не менять 3. Сохраняй уже в конце - время секономиш Это сообщение отредактировал(а) SenkraD - 3.8.2007, 12:59 |
|||
|
||||
MuForum |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 1 Всего: 4 |
#2, SenkraD - Спасибо за советы, я учёл первые два и вот что получилось:
P.S. -> Третий сейчас думую как реализовать(Если можешь подскажи через что правильнее будет это реализовать) - Идея примерно вот такая:
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
||||
|
|||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 1 Всего: 92 |
по поводу:
вот мое мнение, в комментариях ;)
Резюме: если взялся комментировать, то комментарии должны помогать в разборе кода, а не отвлекать от него ;) |
|||
|
||||
SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 9 Всего: 23 |
Ну zkv почти во всё прав.
А сохранку делай после того как цикл отработает!!! И не меняю ItemIndex - тратиш время на отрисовку Это сообщение отредактировал(а) SenkraD - 3.8.2007, 13:45 |
|||
|
||||
MuForum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 1 Всего: 4 |
#4, zkv - Склефосовский, перед тем, чтобы что-то написать надо подумать, и оскорблять человека из-за того, что ог начинающий программист не стоит, так как когда-то и ты начинал...
2) sprintf(T, ListBox1->(*Items)[i].c_str()); - [C++ Error] Main.cpp(566): E2280 Member identifier expected - Сначала проверять свой код надо, а затем писать... 3) int count1=0;//за такие названия пальцы ломать надо ![]() P.S. -> От таких комментариев тошнит... -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
|||
|
||||
SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 9 Всего: 23 |
MuForum,
доростёш - поймёш можно вообще не создавать эту чаровскую строку с завершающим нулём, а работать через методы ListBox1->Items->Strings[индекс]->нужный метод Это сообщение отредактировал(а) SenkraD - 3.8.2007, 13:48 |
|||
|
||||
MuForum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 1 Всего: 4 |
#5, SenkraD - Спасибо за помощь!
На счёт не спал, ты прав, я пошел спать почти в 5 утра, в 7 был подъём, гулять с собакой и мамке помогать, а вчерашний жень весь за компьютером провёл, так что не суди строго из-за того, если туплю! -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 1 Всего: 92 |
в мыслях не было никого оскорблять, притом я не сам полез с критикой, сам попросил... я бы спасибо сказал в свое время, если бы мне кто-нибудь так помогал. Удачи! ![]() ps если будет время, загляни сюда Это сообщение отредактировал(а) zkv - 3.8.2007, 13:57 |
|||
|
||||
MuForum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 1 Всего: 4 |
#9, zkv - Да ты извини если что, просто мне было не приятно читать, что я чуть-ли не баламут от того, что ещё зелёный и неопытный...
P.S. -> Спасибо тебе за критику конечно, просто немного мягче это надо делать, так как многие только начинают заниматься программированием! (Я лично только как месяц начал). p.S. -> Ещё раз спасибо парни, что указали на ошибки и поправили меня! Это сообщение отредактировал(а) MuForum - 3.8.2007, 13:57 -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
|||
|
||||
MuForum |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 1 Всего: 4 |
# for all - Вот что в итоге получилось:
Пробовал сделать по другому, но выдаёт еррор при запуске уже самой программы:
Вот содержимое ошибки: Project ConnectServer.exe raised exception class ERangeError with message ". Process stoped. Use Step or Run to continue. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
||||
|
|||||
SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 9 Всего: 23 |
MuForum, у типа String индексания идёт с 1 до Length() включительно
Это сообщение отредактировал(а) SenkraD - 3.8.2007, 15:09 |
|||
|
||||
xKOCMOCx |
|
||||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 3.8.2007 Репутация: нет Всего: нет |
А вот моё мнение.
Во-первых зачем вообще прорисовывать листбокс, есть же класс:
Во-вторых можно сделать проще:
Так я думую будет быстрее ![]() |
||||
|
|||||
MuForum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 1 Всего: 4 |
# for all - Ребята есть ещё одна проблема, пытался решить но что-то не выходит...
Задача: Проверить есть ли повторяющие IP адреса, если есть - то удалить.
P.S. -> Но почему-то функция работает ни так как надо, понять почему не многу... -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
|||
|
||||
SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 9 Всего: 23 |
MuForum, у меня щас нету справки по Builder, но точно знаю, что есть свойство связаное с дублированием, по крайней мере у TList точно есть.
А так вообще:
P.S. Писал на скорую руку - особо не хаять |
|||
|
||||
MuForum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 1 Всего: 4 |
#15, SenkraD - Ну я снова разобрался, теперь попрошу посмотреть со стороны косметики, как это выглядит!
Это сообщение отредактировал(а) MuForum - 6.8.2007, 23:06 -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
|||
|
||||
SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 9 Всего: 23 |
MuForum, по поводу твоей косметики:
- ставь не по пробелу, а по табу на местах сдвига - давай нормальные имена переменным - ставь пробелы до и после арифметических знаков |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
так, для примера, чуть более короткий вариант решения:
|
|||
|
||||
MuForum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 427 Регистрация: 13.6.2007 Где: Молдова, Кишинев Репутация: 1 Всего: 4 |
#18, dumb - Благодарю вас за предоставленный пример, на работе он конечно работает превосходно, правда я сейчас пытаюсь разобраться всё по полочкам, чтобы понять сам механизм.
P.S. -> Благодарю всех ребят, кто принимает действия в этой теме! -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |